Avatar billede llgpublic Nybegynder
18. december 2003 - 22:54 Der er 13 kommentarer og
1 løsning

Find 40 Fejl :D

Jeg sidder lige og leger lidt med en formmail som før har virkede, vores PHP server var gået ned en nat og have ødelagt mange af firmaets PHP scripts, og da jeg endnu ikke kan få dem alle til at virke endnu, beder jeg jer om at hjælpe lidt til da der er nogle stykker som skal ses igennem..

Script 08 find fejl & ret :

<?
if((isset($_POST['fornavnnavn'])) && (isset($_POST['email'])) && (isset($_POST['efternavn'])) && (isset($_POST['telefon']))){
mail("salg@onlinedesign.dk", $_POST['fornavn'] , $_POST['efternavn'] , $_POST['addresse'] , $_POST['byen'] , $_POST['postnummer'] , $_POST['produkt'] , $_POST['type'] , $_POST['telefon'] , $_POST['email'] , $_POST['besked']."  skrev denne besked:\n\n".$_POST['besked'] , "From: ".$_POST['email']);

echo "Tak for din mail.<br><br>Jeg vil besvare din mail så hurtigt som muligt.";

} else {
?>

<?
}
?>
Avatar billede ztyxx Nybegynder
18. december 2003 - 22:59 #1
måske

<?
if(isset($_POST['fornavnnavn']) && isset($_POST['email']) && isset($_POST['efternavn']) && isset($_POST['telefon'])){
mail("salg@onlinedesign.dk", $_POST['fornavn'] , $_POST['efternavn'] , $_POST['addresse'] , $_POST['byen'] , $_POST['postnummer'] , $_POST['produkt'] , $_POST['type'] , $_POST['telefon'] , $_POST['email'] , $_POST['besked']."  skrev denne besked:\n\n".$_POST['besked'] , "From: ".$_POST['email']);

echo "Tak for din mail.<br><br>Jeg vil besvare din mail så hurtigt som muligt.";

} else {
?>

<?
}
?>
Avatar billede eagleeye Praktikant
18. december 2003 - 23:00 #2
i if sætningen bruger du $_POST['fornavnnavn'] det andet steder bruger du $_POST['fornavn'] det skal være ens.
Avatar billede erikjacobsen Ekspert
18. december 2003 - 23:01 #3
Og endelig skal din besked samles som 3. parameter til mail(), og ikke
spredes ud på en masse den ikke har.
Avatar billede eagleeye Praktikant
18. december 2003 - 23:02 #4
Og mail kaldet skal være som her:
http://dk2.php.net/function.mail
Avatar billede erikjacobsen Ekspert
18. december 2003 - 23:02 #5
(øh, du havde ikke en backup?? Hvorfor ikke??)
Avatar billede llgpublic Nybegynder
18. december 2003 - 23:04 #6
Det skulle virke hvis man retter fornavnnavn til fornavn som self er en fejl, men serveren siger at der maks kan benyttes 5 parameters, hvor der i dette script er benyttet 12 hvilked er for mange, ved den tidligere version af vores PHP installation kan dette godt lade sig af gøre med 12 men med den nye er 5 maks.. Hvad gør man så ?
Avatar billede ztyxx Nybegynder
18. december 2003 - 23:06 #7
du samler dem indenfor to "", og husk at anden parameter er emnet
Avatar billede ztyxx Nybegynder
18. december 2003 - 23:06 #8
havde ikke lige lagt mærke til at de var spredt sådan :-)
Avatar billede llgpublic Nybegynder
18. december 2003 - 23:08 #9
Fint Fint... Løsning ..

<?
if((isset($_POST['fornavn'])) && (isset($_POST['email'])) && (isset($_POST['efternavn'])) && (isset($_POST['telefon']))){
mail("salg@onlinedesign.dk", $_POST['fornavn\r\nefternavn\r\naddresse\r\nbyen\r\npostnummer\r\nprodukt\r\ntype\r\ntelefon\r\nemail'] , $_POST['besked']."  skrev denne besked:\n\n".$_POST['besked'] , "From: ".$_POST['email']);

echo "Tak for din mail.<br><br>Jeg vil besvare din mail så hurtigt som muligt.";

} else {
?>

<?
}
?>
Avatar billede llgpublic Nybegynder
18. december 2003 - 23:09 #10
Eller måske ikke får bare en mail fra sender med skrev denne besked :-(
Avatar billede eagleeye Praktikant
18. december 2003 - 23:16 #11
syntax:
bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]])

Eks:
/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* additional headers */
$headers .= "To: Mary <mary@example.com>, Kelly <kelly@example.com>\r\n";
$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";
$headers .= "Cc: birthdayarchive@example.com\r\n";
$headers .= "Bcc: birthdaycheck@example.com\r\n";

/* and now mail it */
mail($to, $subject, $message, $headers);


Eks på din mail send linje:

mail("salg@onlinedesign.dk", "subject", $_POST['fornavn']." ".$POST['efternavn']."\r\n".$POST['addresse']."\r\n".$_POST['postnummer']." ".$_POST['byen']."\r\n".$_POST['produkt']."\r\n".$_POST['type']."\r\n".$_POST['telefon']."\r\n".$_POST['email']."\r\n".$_POST['besked'], "From: ".$_POST['email']);
Avatar billede llgpublic Nybegynder
18. december 2003 - 23:22 #12
Fint eagleeye, det lader til at virke, men den sender ikke efternavn med .. :S
Avatar billede eagleeye Praktikant
18. december 2003 - 23:25 #13
Ok, der mangler så lige _ imellem $ og POST for efternavn det samme ved adresse.

$POST['efternavn']."\r\n".$POST['addresse']
-->
$_POST['efternavn']."\r\n".$_POST['addresse']
Avatar billede llgpublic Nybegynder
18. december 2003 - 23:25 #14
Hehe, takker  ... :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