makinas Skrevet 27. januar 2004 Del Skrevet 27. januar 2004 Hei. Trenger hjelp til å finne ut hva som er galt med dette (er et kontakt-skjema) <html><body> <? if (isset($sendskjema)) { htmlspecialchars($_POST[navn]); htmlspecialchars($_POST); htmlspecialchars($_POST[tekst]); mail("[email protected]"), "Noen har fyllt ut kontaktskjemaet!", $_POST[tekst], "From: \" $_POST[navn]\" <$_POST>\n"."Reply-To: \"$_POST[navn]\" <$_POST>\n"); echo "Skjema er sendt!"; } else { ?> <FONT size=+1><B>Kontaktskjema:</B></FONT><BR> ?> <FORM name=form action=index.php method=post> <TABLE cellSpacing=2 cellPadding=2 width=350 border=0> <TBODY> <TR> <TD vAlign=top align=left width=200>Ditt navn: </TD> <TD vAlign=top align=left width=200><INPUT maxLength=200 size=25 name=navn></TD></TR> <TR> <TD vAlign=top align=left width=200>Din email:</TD> <TD vAlign=top align=left width=200><INPUT maxLength=100 size=25 name=email></TD></TR> <TR> <TD vAlign=top align=left width=200>Din melding: </TD> <TD vAlign=top align=left width=200><TEXTAREA name=tekst rows=4 cols=25></TEXTAREA></TD></TR> <TR> <TD vAlign=top width=200> </TD> <TD vAlign=top align=left width=200><INPUT type=submit value="Send skjemaet" name=sendskjema> <INPUT type=reset value=Reset name=Reset> </TD></TR></TBODY></TABLE></FORM> <P> </P> <P> </P> <? } //if (isset($sendskjema)) ?> </body></html> Lenke til kommentar
sven-o Skrevet 27. januar 2004 Del Skrevet 27. januar 2004 (endret) Hadde nok hjulpet om du var behjelpelig med en feilmelding eller noe... Edit1: Dersom du skal bruke htmlspecialchars(), så returnerer denne den påvirkede verdien. Dette betyr at du må gjøre slik: $_POST[navn]=htmlspecialchars($_POST[navn]); Edit2: Dette funker: <? if (isset($_POST[sendskjema])) { $_POST[navn]=htmlspecialchars($_POST[navn]); $_POST[email]=htmlspecialchars($_POST[email]); $_POST[tekst]=htmlspecialchars($_POST[tekst]); mail("[email protected]"), "Noen har fyllt ut kontaktskjemaet!", $_POST[tekst], "From: \" $_POST[navn]\" <$_POST[email]>\n"."Reply-To: \"$_POST[navn]\" <$_POST[email]>\n"); echo "Skjema er sendt!"; } else { ?> <FONT size=+1><B>Kontaktskjema:</B></FONT><BR> <FORM name=form action=index.php method=post> <TABLE cellSpacing=2 cellPadding=2 width=350 border=0> <TBODY> <TR> <TD vAlign=top align=left width=200>Ditt navn: </TD> <TD vAlign=top align=left width=200><INPUT maxLength=200 size=25 name=navn></TD></TR> <TR> <TD vAlign=top align=left width=200>Din email:</TD> <TD vAlign=top align=left width=200><INPUT maxLength=100 size=25 name=email></TD></TR> <TR> <TD vAlign=top align=left width=200>Din melding: </TD> <TD vAlign=top align=left width=200><TEXTAREA name=tekst rows=4 cols=25></TEXTAREA></TD></TR> <TR> <TD vAlign=top width=200> </TD> <TD vAlign=top align=left width=200><INPUT type=submit value="Send skjemaet" name=sendskjema> <INPUT type=reset value=Reset name=Reset> </TD></TR></TBODY></TABLE></FORM> <P> </P> <P> </P> <? } //if (isset($sendskjema)) ?> </body></html> Endret 27. januar 2004 av sven-o Lenke til kommentar
Torbjørn Skrevet 27. januar 2004 Del Skrevet 27. januar 2004 det er riktig som sven-o sier, variabler settes ikke automatisk, de ligger i $_POST Lenke til kommentar
FuLu Skrevet 27. januar 2004 Del Skrevet 27. januar 2004 Tror også du vil få warning om du skriver dette: $_POST[varnavn] = htmlspecialchars($_POST[varnavn]) men dette vil ikke gi deg noen warning: $_POST['varnavn'] = htmlspecialchars($_POST['varnavn']) PS: mulig jeg husker feil, men den siste måten pleier jeg gjøre automatisk Lenke til kommentar
Torbjørn Skrevet 27. januar 2004 Del Skrevet 27. januar 2004 riktig det som FuLu sier, man *skal* bruke '' rundt indeksen når det ikke står i en streng. eksempel: $_POST = array( "navn" => "Truls", "email" => "truls@norge" ); # definerer en konstant define("navn","tull og tøys"); # dette er ikke lenger hva vi tror echo $_POST[navn]; mer om det her: http://www.php.net/manual/en/language.types.array.php, søk etter "Array do's and don'ts" Lenke til kommentar
sven-o Skrevet 27. januar 2004 Del Skrevet 27. januar 2004 Tror også du vil få warning om du skriver dette:$_POST[varnavn] = htmlspecialchars($_POST[varnavn]) men dette vil ikke gi deg noen warning: $_POST['varnavn'] = htmlspecialchars($_POST['varnavn']) PS: mulig jeg husker feil, men den siste måten pleier jeg gjøre automatisk Gjør det faktisk selv. Vet ikke hvorfor jeg ikke gjorde det i eksempelet her. Fikk faktisk ikke warning da jeg testet det though. Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 mail("[email protected]"), "Noen har...", $_POST[tekst], "From: \" $_POST[navn]\" <$_POST[email]>\n"."Reply-To: \"$_POST[navn]\" <$_POST[email]>\n"); Jeg syns nå dette så merkelig ut. Det er en ) for mye. mail("[email protected]", "Noen har...", $_POST[tekst], "From: \" $_POST[navn]\" <$_POST[email]>\n"."Reply-To: \"$_POST[navn]\" <$_POST[email]>\n"); Lenke til kommentar
sven-o Skrevet 28. januar 2004 Del Skrevet 28. januar 2004 mail("[email protected]"), "Noen har...", $_POST[tekst], "From: \" $_POST[navn]\" <$_POST[email]>\n"."Reply-To: \"$_POST[navn]\" <$_POST[email]>\n"); Jeg syns nå dette så merkelig ut. Det er en ) for mye. mail("[email protected]", "Noen har...", $_POST[tekst], "From: \" $_POST[navn]\" <$_POST[email]>\n"."Reply-To: \"$_POST[navn]\" <$_POST[email]>\n"); Mulig det. Den linjen ble kommentert vekk da jeg testet det. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå