WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Något är fel med vad? (https://www.wn.se/forum/showthread.php?t=30535)

Davve 2008-07-14 15:15

Hej, försöker fixa en enkel kontaktformulär men får inte till det riktigt, vad är det som rä fel i koden, för jag får fram att det inte gick att skicka...

Kod:

<?php

$to = "[email protected]";
$from = $_POST["email"];
$name = $_POST["name"];
$persnr = $_POST["persnr"];
$tel = $_POST["tel"];
$adress = $_POST["adress"];
$postnr = $_POST["postnr"];
$ort = $_POST["ort"];
$bild = $_POST["bild"];
$format = $_POST["format"];
$antal = $_POST["antal"];
$message = $_POST["message"];
$agree = $_POST["agree"];

if (mail($to, $message, $persnr, $adress, $postnr, $ort, $from, $tel, $bild, $antal, $format, $agree ,"From: $name <$from>"))

echo nl2br("<h2>Din beställning har nu skickats till oss! Kompian på beställningen ser du nedan, är det något som inte stämmer, kontakta oss snarast!</h2>
<b>Mottagare:</b> $to<br><br>
<b>Presonnummer:</b> $persnr
<b>Namn:</b> $name
<b>Adress:</b> $adress
<b>Postnummer:</b> $postnr
<b>Ort:</b> $ort
<b>Epost:</b> $email
<b>Telefon:</b> $tel
<b>Bild:</b> $bild
<b>Antal:</b> $antal
<b>Format:</b> $format
<b>Meddelande:</b> $message
<b>Godkänd:</b> $agree
");

else
echo "Det gick inte att skicka ditt meddelande";

?>

Tacksam för hjälp då jag kommer inte längre här :)

victor- 2008-07-14 15:22

Du måste skapa ett mail av alla variabler du har, typ:
"Namn: ".$namn."\nPersonnummer: ".$persnr."\n" osv..

http://www.php.net/manual/en/function.mail.php

Davve 2008-07-14 15:25

ok, verkar rätt svårt det där

eliasson 2008-07-14 15:37

mail(To, Subject, Body, Headers);

Davve 2008-07-14 16:05

Lite väl överkurs för mig :) PHP kan jag inte tyvärr så det blir svårt att lösa det, det är ingen som har lust att skriva hur det skall vara?

Jonathan P 2008-07-14 16:45

Ändra följande...
Kod:

if (mail($to, $message, $persnr, $adress, $postnr, $ort, $from, $tel, $bild, $antal, $format, $agree ,"From: $name <$from>"))
...till...
Kod:

if (mail($to, "From: $name <$from>", "$message, $persnr, $adress, $postnr, $ort, $from, $tel, $bild, $antal, $format, $agree"))

Davve 2008-07-14 16:50

Tack Jonathan ;) verkar funka :) Hur gör man så att det blir radbrytning i mailet sedan då efter varje variabel?

nu är allt i samma linje

grazzy 2008-07-14 17:05

Detta är lite som att lära nån ladda ett gevär så de kan skjuta sig själva.

Guldstjärna i kanten till den som hittar de tolv säkerhetshålen i Davves kod.

etanders 2008-07-14 17:09

Snabbt svar: Ändra till följande så får du radbrytningar
Kod:

if (mail($to, "From: $name <$from>", "$message\n$persnr\n$adress\n$postnr\n$ort\n$from\n$tel\n$bild\n$antal\n$format\n$agree"))
(Lägg till flera \n om du vill ha fler radbrytningar.)

...men som grazzy antyder finns det en del annat du borde lägga till för att göra koden säkrare...

Davve 2008-07-14 17:40

Tack, nu börjar det likna nåt, det som inte fungerar än är headers. När mailet kommer så är det rätta "till" där min adress står, under ämne på mailet står det "From mail" och där from mail ska vara är det loopias www.mail istället för mail från den personen som skickar brevet.

if (mail($to, "From: $name <$from>", "$persnr\n$name\n$adress\n$postnr\n$ort\n$from\n$t el\n$bild\n$antal\n$format\n\n$message\n\n$agree") )

vart ska subject in för att det ska vara rätt?


Alla tider är GMT +2. Klockan är nu 13:53.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson