Avatar billede soeren_soelv Novice
26. januar 2007 - 13:20 Der er 3 kommentarer og
1 løsning

Angående mail-form

Jeg er ved at lave en form som sender en mail med oplysningerne til min mail adr. Jeg kan dog ikke få det til at fungere. Nogle der har en ide til havd fejlen er?

<?php
if ($send) {
    function tilbage($meddelelse) {
        echo  "$meddelelse\n";
        echo  "<form><input type=button value=\"<<< Tilbage\" onClick=history.back()></form>\n";
        echo  "</body></html>\n";
        exit;
    }

    if (!$fornavn) tilbage( "<BR><BR><font face='Verdana, Arial, Helvetica, sans-serif' size='3'>&nbsp;Du har glemt at skrive dit fornavn... </font>");
    if (!$efternavn) tilbage( "<BR><BR><font face='Verdana, Arial, Helvetica, sans-serif' size='3'>&nbsp;Du har glemt at skrive dit efternavn... </font>");
    if (!$adr) tilbage( "<BR><BR><font face='Verdana, Arial, Helvetica, sans-serif' size='3'>&nbsp;Du har glemt at skrive din adresse... </font>");
    if (!$nr) tilbage( "<BR><BR><font face='Verdana, Arial, Helvetica, sans-serif' size='3'>&nbsp;Du har glemt at skrive nummeret på din adresse... </font>");
    if (!$pnr) tilbage( "<BR><BR><span class=ov><font face='Verdana, Arial, Helvetica, sans-serif' size='3'>&nbsp;Du har glemt at skrive dit postnummer... </font>");
    if (!$by) tilbage( "<BR><BR><span class=ov><font face='Verdana, Arial, Helvetica, sans-serif' size='3'>&nbsp;Du har glemt at skrive hvilken bu du bor i... </font>"); 
    if (!$mail) tilbage( "<BR><BR><font face='Verdana, Arial, Helvetica, sans-serif' size='3'>&nbsp;Du har glemt at skrive din e-mail adresse... </font>"); 
        if (!$korrekt) tilbage( "<BR><BR><font face='Verdana, Arial, Helvetica, sans-serif' size='3'>&nbsp;Du har glemt at bekræfte at oplysninger er korrekte... </font>"); 
 
  $tekst = "$fornavn\r $efternavn\r\nKøn: $kon\r\n$adr\r $nr\r\n$pnr\r $by\r\n$mail\r\n$tlf $mobil\r\nKlasse: $klasse\r\nKlub: $klub\r\nHandicap: $handicap\r\n";
   
 


mail("mail@xxxxxx.dk", "Mail til XXXXXX - Emne: Spillertilmelding","PERSONLIGE OPLYSNINGER:\r\n$tekst",
    "From: $epost\r\n"
    ."Reply-To: webmaster@$SERVER_NAME\r\n"
    ."X-Mailer: PHP/" . phpversion());

header("Location: tak.htm");
}
?>

<form action="<?php echo $PHP_SELF; ?>" method="POST">
.........
Avatar billede jakobdo Ekspert
27. januar 2007 - 09:16 #1
Du kan evt. starte med at opstille din kode overskueligt.
F.eks.:
Ret:
if (!$fornavn) tilbage( "<BR><BR><font face='Verdana, Arial, Helvetica, sans-serif' size='3'>&nbsp;Du har glemt at skrive dit fornavn... </font>");
til:
if (!$fornavn)
  tilbage("<BR><BR><font face='Verdana, Arial, Helvetica, sans-serif' size='3'>&nbsp;Du har glemt at skrive dit fornavn... </font>");

En anden ting jeg måske tror er dit problem, er du bruger: $fornavn.
Du skal bruge: $_POST['fornavn']
Det samme med: $efternavn, $adr, $nr osv...
Avatar billede esben85 Nybegynder
01. februar 2007 - 23:43 #2
umiddelbart bør du indsætte nogle else-if sætninger.
Som det er lige nu, bliver resten af koden eksekveret, selvom der opstår en fejl i den.
Desuden, som jakobo nævner, er det god kodestil ikke at tage udgangspunkt i, at globale variabler er registreret autmatisk. eg. $fornavn -> $_POST['fornavn'].

if(!$fornavn){
    ...do something...
else if(!$efternavn)
  ... do something
else if(!etc...
  ... omitted code

else{
    mail("mail@.....",....);
    header("Loca....");
}
Avatar billede soeren_soelv Novice
08. april 2008 - 17:48 #3
lukket
Avatar billede jakobdo Ekspert
08. april 2008 - 18:20 #4
Hvad blev løsningen ?
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