Avatar billede cmau Nybegynder
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>
<?
}
?>
Avatar billede mjl Nybegynder
12. oktober 2005 - 16:25 #1
Mangler du ikke en }
Avatar billede cmau Nybegynder
12. oktober 2005 - 16:27 #2
hvor?
Avatar billede jaw Nybegynder
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]])) {
Avatar billede jaw Nybegynder
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 ?
Avatar billede horsmark Nybegynder
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++;
}
Avatar billede cmau Nybegynder
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.
Avatar billede jaw Nybegynder
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++;
}
}
Avatar billede horsmark Nybegynder
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;
}
}
Avatar billede cmau Nybegynder
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
Avatar billede jaw Nybegynder
12. oktober 2005 - 16:36 #10
Du skal have if(!isset <- se !
Avatar billede cmau Nybegynder
12. oktober 2005 - 16:37 #11
jaw > jeg får stadig fejl
Avatar billede jaw Nybegynder
12. oktober 2005 - 16:38 #12
echo "Du skal skrive". $_POST[{$felt[$i]}];
Avatar billede cmau Nybegynder
12. oktober 2005 - 16:40 #13
Parse error: parse error, expecting `']'' in /usr/home/whitehat_dk/users/kdp/mail.php on line 12
Avatar billede jaw Nybegynder
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.
Avatar billede cmau Nybegynder
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.
Avatar billede jaw Nybegynder
12. oktober 2005 - 16:49 #16
if(isset($_POST[$felt[$x]]) && empty($_POST[$felt[$x]])) {
Avatar billede cmau Nybegynder
12. oktober 2005 - 16:59 #17
endnu engang tak :) smider du svar?
Avatar billede jaw Nybegynder
12. oktober 2005 - 17:04 #18
Gør jeg da gerne :) Og selv tak...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester