12. oktober 2005 - 16:12
Der er
17 kommentarer og 1 løsning
Hvad gør jeg fejl på linje 13 og 14?
Hvad gør jeg fejl på linje 13 og 14? <? if(isset($_POST[submit])) { $felt = array(); $felt[] = "navn"; $felt[] = "hjemmeside"; $felt[] = "tekst"; $felt[] = "beskrivelse"; $x = 0; for($i=-1;$i<=3;$i++) { if(isset($_GET["$felt[]"])) { echo "Du skal skrive $_GET["$felt[]"]"; $x++; } } if($x == 0) { $message = "Navn: $_POST[navn] Hjemmeside: $_POST[hjemmeside] Tekst på billedet: $_POST[tekst] Skriv om billedet, farve evt.: $_POST[beskrivelse]"; mail("a@a.dk",'Mail fra siden',$message,"From: Mail robot <Fra hjemmesiden>"); echo "Sendt"; } } else { ?> <form method="POST" action="?" enctype="multipart/form-data"> Navn:<br> <input type="text" name="navn"><br><br> Hjemmeside:<br> <input type="text" name="hjemmeside"><br><br> Tekst på billedet:<br> <input type="text" name="tekst"><br><br> Skriv om billedet, farve evt.:<br> <textarea name="beskrivelse"></textarea><br><br> <input type="submit" name="submit" value="Send"> </form> <? } ?>
Annonceindlæg fra Immeo
12. oktober 2005 - 16:25
#1
Mangler du ikke en }
12. oktober 2005 - 16:27
#2
hvor?
12. oktober 2005 - 16:27
#3
Denne: if(isset($_GET["$felt[]"])) { tror jeg du vil have til at være: if(isset($_GET[$felt[$x]])) {
12. oktober 2005 - 16:28
#4
Og linien efter: echo "Du skal skrive ".$_GET[$felt[$x]]; I din for-løkke. Men hvorfor starter du den på -1 ?
12. oktober 2005 - 16:30
#5
fejlen er $felt[] i $_GET["$felt[]"]. for($i=-1;$i<=3;$i++) { if(isset($_GET[$felt[$i]])) { echo "Du skal skrive $_GET[$felt[$i]]"; $x++; }
12. oktober 2005 - 16:30
#6
Nej ikke til at være x. Den skal bare tjekke alle tingene i array'et også hvis noget ikke er udfyldt så skal den plusse en til x også tjekker jeg jo om hvis x er 0 så sender den.
12. oktober 2005 - 16:30
#7
Det med -1 skal du bare ignorere, jeg havde ikke set du havde både $i og $x. Men det her er hvad jeg mener: for($i=-1;$i<=3;$i++) { if(isset($_GET[$felt[$x]])) { echo "Du skal skrive ".$_GET[$felt[$x]]; $x++; } }
12. oktober 2005 - 16:33
#8
kønnere måde at gøre det på: $felt = array(); $felt[] = "navn"; $felt[] = "hjemmeside"; $felt[] = "tekst"; $felt[] = "beskrivelse"; foreach( $felt as $key => $value ) { if( !isset($_GET[$value]) || $_GET[$value] == "" ){ print "Du skal skrive ".$value; } }
12. oktober 2005 - 16:34
#9
Nu er min kode sådan her:
for($i=-1;$i<=3;$i++) {
if(isset($_POST[$felt[$i]])) {
echo "Du skal skrive $_POST[{$felt[$i]}]";
$x++;
}
}
Fejl:
http://kdp.users.whitehat.dk/mail.php
12. oktober 2005 - 16:36
#10
Du skal have if(!isset <- se !
12. oktober 2005 - 16:37
#11
jaw > jeg får stadig fejl
12. oktober 2005 - 16:38
#12
echo "Du skal skrive". $_POST[{$felt[$i]}];
12. oktober 2005 - 16:40
#13
Parse error: parse error, expecting `']'' in /usr/home/whitehat_dk/users/kdp/mail.php on line 12
12. oktober 2005 - 16:42
#14
echo "Du skal skrive". $_POST[$felt[$i]]; Og jeg ved heller ikke, hvor du havde fået de { } fra.
12. oktober 2005 - 16:45
#15
nu kan jeg se siden, men når jeg så trykker send skriver den: Du skal skrive også ikke mere.
12. oktober 2005 - 16:49
#16
if(isset($_POST[$felt[$x]]) && empty($_POST[$felt[$x]])) {
12. oktober 2005 - 16:59
#17
endnu engang tak :) smider du svar?
12. oktober 2005 - 17:04
#18
Gør jeg da gerne :) Og selv tak...
Vi tilbyder markedets bedste kurser inden for webudvikling