Avatar billede msoee Nybegynder
17. november 2004 - 16:57 Der er 9 kommentarer og
1 løsning

Hjælp til afsendings del af formmail.

Hej herinde, har denne formmail som jeg tidligere har brugt på en side og virkede helt upåklageligt, men lader til at delen der sender informationerne er væk, altså det dokument der er lavet til det...

<script language="JavaScript">
<!--
function Checkform(thisform) {
    // Startværdier
    strError = 'Der opstod følgende fejl:\n\n';
    intError = 0;
   
    //Check Email,  er den tom
    if (thisform.email.value == "")
    {
    strError = strError + '- Din E-mail mangler !\n'
    intError = 1;
    thisform.email.focus();
           
    }
    // Check for @ i email
    if (thisform.email.value.indexOf("@") == -1 && thisform.email.value != "")
    {
    strError = strError + '- Der mangler @ i emailadresse !\n'
    intError = 1;
    thisform.email.focus();
    }
    // Check navn
    if (thisform.navn.value == "")
    {
    strError = strError + '- Du mangler at skrive dit navn !\n'
    intError = 1;
    thisform.navn.focus();
    }
    // Check Antal deltagere
    if (thisform.deltagere.value == "")
    {
    strError = strError + '- Du mangler at oplyse os om antal deltagere !\n'
    intError = 1;
    thisform.deltagere.focus();
    } 
    // Check telefon
    if (thisform.telefon.value == "")
    {
    strError = strError + '- Du har ikke indtastet dit telefonnummer. !\n'
    intError = 1;
    thisform.telefon.focus();
    }       
   
   
    if (intError == 1) {
    alert(strError)
    return false;
    }else{
    thisform.submit()
    }
}
</script>
    <style type="text/css">

    body, input

    {

    font-family:Verdana;font-size:13px;line-height:17px;

   

    }

    input,textarea {

    width:370px;

   

    }

   

   

    </style>

</head>



<body><form method="post" onSubmit="Checkform(this);return false;" action="afsender.php">
<br>

<hr>


Navn (kontaktperson)<font color="red">*</font>:<br>

<input type ="text" name="navn"><br>

Deltager(e)<font color="red">*</font><br>

<input type ="text" name="deltagere"><br>

Adresse:<br>

<input type ="text" name="adresse"><br>

Postnummer, by:<br>

<input type ="text" name="postby"><br>

E-mail<font color="red">*</font>:<br>

<input type ="text" name="email"><br>

Telefon<font color="red">*</font>:<br>

<input type ="text" name="telefon"><br>

<input name="send" type="submit">
</form>


Så vil utroligt gerne hvis i kan hjælpe mig med at få formen til at sende informationerne til en email adresse...

En ting der mangler er også en dropdownboks med 4 valgmuligheder - ved ikke om der er noget tricky der hvis der er vil jeg da gerne lige i nævner det os :)

Mvh Michael
Avatar billede olebole Juniormester
17. november 2004 - 17:29 #1
<ole>

Hvad skal den dropdown gøre?

/mvh
</bole>
Avatar billede msoee Nybegynder
17. november 2004 - 17:32 #2
den dropdown skal bare gøre sådan at folk har mulighed for at vælge mellem 4 bynavne. De må kun have lov til at vælge en, så altså der er vel også andre muligheder end at en dropdown...

Hvis man forestiller sig at det er 4 afkrydsningsfelter hvor kun man må sætte ét kryds :)
Avatar billede olebole Juniormester
17. november 2004 - 17:56 #3
Din 'afsender.php' kunne se sådan ud:

<?
function send_mail($message, $bcc="") {
    $fName  = "Hjemmesiden";
    $fMail  = "enAfsenderMail@mail.dk";
    $toName = "Dit navn";
    $toMail  = "din@mail.dk";
    $subject = "Tilmelding fra hjemmesiden";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/plain; charset=iso-8859-1\n";
    $headers .= "From: \"".$fName."\" <".$fMail.">\n";
    if ($bcc != "") $headers .= "Bcc: ".$bcc."\n";
   
    return mail("\"".$toName."\" <".$toMail.">", $subject, $message, $headers);
}

if (isset($_POST["contxt"]) && $_POST["contxt"]=="sendMail") {
    $message = "Tilmelding på www.DOMAIN.dk:\n\n";
    $message .= "Navn: ".$_POST["navn"]."\n";
    $message .= "Deltagere: ".$_POST["deltagere"]."\n";
    $message .= "Postnr, by: ".$_POST["postby"]."\n";
    $message .= "E-mail: ".$_POST["email"]."\n";
    $message .= "Telefon: ".$_POST["telefon"]."\n";
    $message .= "Valg: ".$_POST["mySelect"]."\n";
   
    if ( send_mail($message) ) Header("Location: en_takke_side.php");
    else Header("Location: en_fejl_side.php");
    exit;
}
?>

... fyld selv mere/anden tekst på  ;o)

Din form:

<form method="post" onSubmit="Checkform(this);return false;" action="afsender.php">
<input type="hidden" name="contxt" value="sendMail">
<br>
<hr>
Navn (kontaktperson)<font color="red">*</font>:<br>
<input type ="text" name="navn"><br>
Deltager(e)<font color="red">*</font><br>
<input type ="text" name="deltagere"><br>
Adresse:<br>
<input type ="text" name="adresse"><br>
Postnummer, by:<br>
<input type ="text" name="postby"><br>
E-mail<font color="red">*</font>:<br>
<input type ="text" name="email"><br>
Telefon<font color="red">*</font>:<br>
<input type ="text" name="telefon"><br>
<select name="mySelect">
    <option value="noget">Noget</option>
    <option value="noget 2">Noget andet</option>
    <option value="noget 3">Noget tredie</option>
    <option value="noget 4">Noget fjerde</option>
</select><br>
<input name="send" type="submit">
</form>

... ønsker du en kopi sendt til brugeren, kan du klare ved at ændre linien:

if ( send_mail($message) ) Header("Location: en_takke_side.php");

... til:

if ( send_mail($message, $_POST["email"]) ) Header("Location: en_takke_side.php");
Avatar billede msoee Nybegynder
17. november 2004 - 18:22 #4
1000 tak ole bole, men altså det skulle da virke hvis bare jeg opretter:

form.php og indsætter formen
afsender.php og indsætter afsendings-scriptet
tak.php og skriver en takke besked - den viser nemlig en fejl :(

www.msoee.dk/tester/form.php
Avatar billede olebole Juniormester
17. november 2004 - 19:54 #5
Hehe ... du skal lige proppe formen ind i et HTML-dokument. I den kode, du selv skrev i spm'et, sletter du fra og med:
  <form .....
... og til og med:
</form>

Derefter kopierer du min form-kode ind i stedet for.

Jeg fik en JavaScript fejl (fordi din form kalder validerings-scriptet, der ikke eksisterer) og derefter tog det en mindre krig - men så fik jeg endelig en takke side. Prøv at checke din inbox  :)
Avatar billede olebole Juniormester
17. november 2004 - 19:57 #6
PS: Jeg skrev: "du skal lige proppe formen ind i et HTML-dokument".
Det, jeg mente, var, at du fylder det ind i en HTML-kode. Dokumentet kan du godt efterfølgende gemme som 'form.php'
Avatar billede msoee Nybegynder
17. november 2004 - 21:19 #7
Ahh behøvede jeg ikke engang ;) Var lidt en flovert jeg havde lavet, den sendte fint formlen til min mail, men havde bare glemt at ændre navnet på takke siden fra "en_takke_side.php" til "tak.php" så den viste http fejl :)

Forresten nu hvor jeg har fat i dig, tror det er ret simpelt:
Hvordan gør jeg sån at input type kun kan være tal - skal bruges i antal deltagere og tlf nr blandt andet :)

Men indtil nu ska du har utroligt mange tak, du løste mit problem fuldstændig, at jeg så glemte at nævne lidt småting bl.a. det med tallene er jo mit eget problem

Har os fået lavet nogle "must" felter som os lader til at virke;
http://www.msoee.dk/tester/form1
Avatar billede olebole Juniormester
17. november 2004 - 22:46 #8
Kun tal i telefonnummeret:

if ( thisform.telefon.value.match(/[^0-9 ]+/) ) {
    strError = strError + '- Telefonnummeret må kun indeholde tal. !\n'
    intError = 1;
    thisform.telefon.focus();
}

... og selvtak  :)
Avatar billede olebole Juniormester
17. november 2004 - 22:46 #9
... og så får du zq lige et svar  :)
Avatar billede olebole Juniormester
17. november 2004 - 22:47 #10
... dér  :D
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