webForumDet fria alternativet

Array problem

9 svar · 376 visningar · startad av claudiomarino

claudiomarinoMedlem sedan okt. 200472 inlägg
#1

Jag har ett formulär med diverse textfält, ett fält med radioknappar och ett fält med checkbox, all denna data skickas via mail samt skrivs i en textfil på servern. Alla fält kommer med utom det med checkboxar?

<tr>
<td><h4>Kön:</h4></td>
<td><input type="radio" name="sex" value="both" /> Båda</td>
<tr><td rowspan="3"><img src="img/null.gif" alt="Null" /></td>
<tr><td><input type="radio" name="sex" value="female" /> Kvinna</td></tr>
<tr><td><input type="radio" name="sex" value="male" /> Man</td></tr>
<tr><td colspan="2"><img src="img/null.gif" alt="Null" /></td>
</tr>
					    
<tr>
<td><h4>Intresse:</h4></td>
<td><input type="checkbox" name="intrest" value="movies" /> Film</td></tr>
<tr><td rowspan="7"><img src="img/null.gif" alt="Null" /></td>
<tr><td><input type="checkbox" name="intrest[1]" value="music" /> Music</td></tr>
<tr><td><input type="checkbox" name="intrest[2]" value="books" /> Litteratur</td></tr>
<tr><td><input type="checkbox" name="intrest[3]" value="sports" /> Sport</td></tr>
<tr><td><input type="checkbox" name="intrest[4]" value="games" /> Spel</td></tr>
<tr><td><input type="checkbox" name="intrest[5]" value="technics" /> Teknik</td></tr>
<tr><td><input type="checkbox" name="intrest[6]" value="fashion" /> Mode</td></tr>
<tr><td colspan="2"><img src="img/null.gif" alt="Null" /></td>
</tr>

Sidan hittar ni här .

PeddaMedlem sedan juni 20006 032 inlägg
#2

döp alla checkboxar till name="intrest[]" så får du en array med värdena på dom förkryssade.

claudiomarinoMedlem sedan okt. 200472 inlägg
#3

Jag har provat att ta bort alla siffror och bara ha [], samma resultat dvs. den ignorerar det fältet totalt.

SPiNMedlem sedan mars 20007 896 inlägg
#4

Din första checkbox, movies, saknar klamrar.

PeddaMedlem sedan juni 20006 032 inlägg
#5

säker på att checkboxarna inte kommer med?
testa att skriva ut resultatet på mottagarsidan så ser du vad som postats.

echo '<pre>';
print_r($_POST);
echo '</pre>';
claudiomarinoMedlem sedan okt. 200472 inlägg
#6

Jag har rättat till movies och det var inte felet. Poster PHP-koden så kanske det underlättar?

<?php

    $gift = $_POST['gift'];
    $descript = $_POST['descript'];
    $sex = $_POST['sex'];
    $resale = $_POST['resale'];
    $name = $_POST['name'];
    $email = $_POST['email'];
       
    function create_tip($gift, $descript, $sex, $resale, $name, $email, $intrest)

    {
        $tip = "$gift \n\n$descript \n\n$sex \n\n$resale \n\n$name \n\n$email \n\n";
                
        $tip= $tip . "-----\n\n"; 
        
        foreach($intrest as $row) 
        { 
            $tip = $tip . $row . '   '; 
        }

        return $tip;
    }
    

    function send_email($gift, $descript, $sex, $resale, $name, $email, $intrest)

    {
        $tip = create_tip($gift, $descript, $sex, $resale, $name, $email, $intrest);
        mail("clama099@student.liu.se", "Presenttips", $tip);
    } 

    function write_file($gift, $descript, $sex, $resale, $name, $email, $intrest)

    {
        $handle = fopen("tips.txt", "a");
        fwrite($handle, create_tip($gift, $descript, $sex, $resale, $name, $email, $intrest));
        fclose($handle);
    }

    send_email($gift, $descript, $sex, $resale, $name, $email, $intrest);
    write_file($gift, $descript, $sex, $resale, $name, $email, $intrest); 
    require_once('thanks.htm');
    
?>
claudiomarinoMedlem sedan okt. 200472 inlägg
#7

Konstigt, den kommer med så det är bara att den inte skrivs ut i mejlet och textfilen?

Array
(
[gift] => TV
[descript] => Platt och stor
[sex] => both
[intrest] => Array
(
[0] => movies
[1] => music
)

\[resale\] =\> onoff.se
\[name\] =\> Klas
 \=\> klas@oneoff.se
\[send_tips\] =\> Tipsa oss!

)

PeddaMedlem sedan juni 20006 032 inlägg
#8

Du har inte tilldelat $intrest något värde.

$intrest = $_POST['intrest'];

The_HulkMedlem sedan juni 20031 837 inlägg
#9

Du hämtar ju aldrig ut den från $_POST, du hämtar ut alla andra värden utom intrest
lägg till

$intrest = $_POST['intrest'];

efter

$email = $_POST['email'];

/red
var tydligen lite långsam :(

<?php

    $gift = $_POST['gift'];
    $descript = $_POST['descript'];
    $sex = $_POST['sex'];
    $resale = $_POST['resale'];
    $name = $_POST['name'];
    $email = $_POST['email'];
[B]    $intrest = $_POST['intrest'];[/B]

    function create_tip($gift, $descript, $sex, $resale, $name, $email, $intrest)

    {
        $tip = "$gift \n\n$descript \n\n$sex \n\n$resale \n\n$name \n\n$email \n\n";
                
        $tip= $tip . "-----\n\n"; 
        
        foreach($intrest as $row) 
        { 
            $tip = $tip . $row . '   '; 
        }

        return $tip;
    }
    

    function send_email($gift, $descript, $sex, $resale, $name, $email, $intrest)

    {
        $tip = create_tip($gift, $descript, $sex, $resale, $name, $email, $intrest);
        mail("clama099@student.liu.se", "Presenttips", $tip);
    } 

    function write_file($gift, $descript, $sex, $resale, $name, $email, $intrest)

    {
        $handle = fopen("tips.txt", "a");
        fwrite($handle, create_tip($gift, $descript, $sex, $resale, $name, $email, $intrest));
        fclose($handle);
    }

    send_email($gift, $descript, $sex, $resale, $name, $email, $intrest);
    write_file($gift, $descript, $sex, $resale, $name, $email, $intrest); 
    require_once('thanks.htm');
    
?>
claudiomarinoMedlem sedan okt. 200472 inlägg
#10

Tusen tack nu funkar det!

Har ytterligare ett problem, men det tar vi i en ny tråd :)

129 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)