Avatar billede pipaluk Nybegynder
11. september 2003 - 18:31 Der er 6 kommentarer og
1 løsning

Flere linjer i en PHP formular med email

Hej hej!
Jeg prøver på at lave en formular hvor det bliver sendt til mit mail og hvor jeg kan se alt det der blev skrevet. Fx. havde jeg dette:
<html>
<head>
<title>brugertest</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
if(isset($_POST['send'])){
$emne = "Et spørgsmål fra ".$_POST['navn'];
$body = "Navn : ".$_POST['navn']."\n";
$body = "E-mail: ".$_POST['mail']."\n";
$body = "IP : ".$_POST['REMOTE ADDR']."\n";
$body = "Spm : ".$_POST['spm_titel']."\n\n";
$body = $_POST['spm'];


mail("pke@glv.gl", $emne,$body);
echo "Email sendt<br><br>";
}
?>

<form method="post" action="<?= $_SERVER['PHP_SELF'];?>">
  <p>
    <input type="hidden" name="send" value="true">
    Navn:
    <input type="text" name="navn"><br>
    Email:
    <input type="text" name="mail"><br>
    Emne:
    <input type="text" name="spm_titel"><br>
    Bem&aelig;rkning:
    <textarea cols="30" rows="10" name="spm"></textarea><br><br>
    <input type="submit" value="Send">
    <input type="reset" value="Slet">
</form>

</body>
</html>

Så laver jeg ellers en ny linje, men det bliver ikke vist, den reagerer slet ikke :( Fx. gad jeg også godt have hvor der kunne stå:

Medlem af Brugsen  (radiobutton)Ja (radiobutton)nej
Hvis det så bliver ja, vil jeg gerne kunne se i mit mail og det blev ja eller nej. :/ Er der nogen der kan hjælpe mig?
Avatar billede swaxi Nybegynder
11. september 2003 - 19:22 #1
erstat med :
$body = "Navn : ".$_POST['navn']."\n";
$body .= "E-mail: ".$_POST['mail']."\n";
$body .= "IP : ".$_POST['REMOTE ADDR']."\n";
$body .= "Spm : ".$_POST['spm_titel']."\n\n";
$body .= $_POST['spm'];
Avatar billede swaxi Nybegynder
11. september 2003 - 19:23 #2
problemet er at du overskriver indholdet af $body hvergang. ved at bruge .= fremfor = tilføjer du til den eksisterende variabel
Avatar billede pipaluk Nybegynder
11. september 2003 - 19:32 #3
jo,men hver gang jeg tilføjer en ny linje med \n\n\n den bliver ikke vist i min mail...
Avatar billede swaxi Nybegynder
11. september 2003 - 20:39 #4
det forstår jeg ikke?

hvis du skriver
$x = "a";    // $x har værdien "a"
$x = "b";    // $x har værdien "b"

hvorimod :
$y = "a";    // $y har værdien "a"
$y .= "b";    // $y har værdien "ab"
Avatar billede swaxi Nybegynder
11. september 2003 - 20:42 #5
et mere generelt anvendeligt script kunne se såddan ud :
<?php
if (isset($_POST['send'])){
    $emne = "Et spørgsmål fra ".$_POST['navn'];
    $body = "IP : ".$_POST['REMOTE ADDR']."\n";
    foreach ($_POST as $key => $value) {
        $body .= $key.": ".$value."\n";
    }
    mail("pke@glv.gl", $emne, $body);
    echo "Email sendt<br><br>";
}
?>
Avatar billede pipaluk Nybegynder
12. september 2003 - 12:04 #6
nu har jeg fået det til at virke! :) Mange tak for hjælp!
Avatar billede swaxi Nybegynder
12. september 2003 - 20:42 #7
velbekomme dig. du accepterer mit svar ved at trykke på knappen her på siden.

hvis du bruger mit sidste post, så vil scriptet automatisk opdage og sende alle form-felter til dig. dvs. hvis du eks. laver et nyt <input name="foo" type="text"> så vil scriptet opdage det og sende feltet med. det smarte er at du ikke behøver at ændre i php-delen.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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