Volledige versie bekijken : email leeg



Martijnc
11 juni 2005, 20:36
ik heb dus een pagina waar men vanalles moet ingeven en als ze op ok klikken word dat gemailt naar mij. Alles werkt alleen is de email leeg
wie vind er de fout in het script?



<form name="form" method="post" action="/test/contactscript.php">
<table width="400" border="0" cellspacing="2" cellpadding="2">
<tr> <td width="200" valign="top" align="right">Your Name: </td>
<td width="200" valign="top" align="left">
<input type="text" name="name" size="25" maxlength="200" />
</td></tr><tr><td width="200" valign="top" align="right">Your Email:</td>
<td width="200" valign="top" align="left">
<input type="text" name="email" size="25" maxlength="100" /></td></tr><tr>
<td width="200" valign="top" align="right">Your Comments: </td><td width="200" valign="top" align="left">
<textarea name="msg" cols="25" rows="4"></textarea></td></tr><tr>
<td width="200" valign="top"> </td><td width="200" valign="top" align="left">
<input type="reset" name="Reset" value="Reset" /><input type="submit" name="Submit" value="Submit" />
</td></tr></table></form>

contachtscript.php


// headers for the email listed below

$headers .= "From: $name <$email>\n"; // your email client will show the person's email address like normal
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n"; // sets the mime type
$recipient = "martijn@casemoddertje.be"; // enter YOUR email address here
$subject = "len"; // this is the subject of the email

$msg = wordwrap( $msg, 1024 );

mail($recipient, $subject, stripslashes($msg), $headers); // the mail() function sends the message to you

//Once the data is entered, redirect the user to give them visual confirmation
header("location: http://www.casemoddertje.be/test/form.htm");
?>

AMD
12 juni 2005, 00:12
De reden waarom het niet werkt is simpel:
Uw formulier gebruikt de actie POST wat de informatie doorstuwt naar de pagina contactscript.php maar hier vraagt ge die info niet op. Ge controleert ook niet of er wel iets wordt doorgestuurd.
Als ge dus met "post" werkt moet ge in uw php de code $_POST["variabele_naam_van_formulier"] gebruiken.

Groetjes AMD
Probeer dit eens in uw phpcode:




if (!empty($_POST)){

// headers for the email listed below

$headers .= "From: $_POST["name"] <$_POST["email"]>\n"; // your email client will show the person's email address like normal
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n"; // sets the mime type
$recipient = "martijn@casemoddertje.be"; // enter YOUR email address here
$subject = "len"; // this is the subject of the email

$msg = wordwrap( $_POST["msg"], 1024 );

mail($recipient, $subject, stripslashes($msg), $headers); // the mail() function sends the message to you

//Once the data is entered, redirect the user to give them visual confirmation
header("location: http://www.casemoddertje.be/test/form.htm");
}else{
echo("U heeft het formulier niet ingevuld!");
}
?>

Martijnc
12 juni 2005, 10:30
Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/casemo00/domains/casemoddertje.be/public_html/test/contactscript.php on line 6

ik heb het al proberen te veranderen maar krijg die regel niet weg

het script heb ik geistaleerd via instalatron in mijn adminpaneel

Martijnc
12 juni 2005, 11:10
Als ik het zo doe dan staat alles in het bericht recht achterelkaar
MOet ik er nog iets achter of tussen zetten zodat her niet achter elkaar maar onder elkaar



$msg .=$_POST['name'];
$msg .= $_POST['msg'];
$msg .= $_POST['email'];
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$recipient = "martijn@casemoddertje.be";
$subject = "reactie van website";

mail($recipient, $subject, stripslashes($msg), $headers);

header("location: http://www.casemoddertje.be/test/form.htm");
?>

AMD
12 juni 2005, 11:27
Probeer dit eens: Ik denk dat stripslashes spaties en returns verwijdert maar ben niet zeker.

if (!empty($_POST)){

// headers for the email listed below
$afzendernaam = $_POST["name"];
$afzendermail = $_POST["email"];
$bericht = $_POST["msg"];

$headers .= "From: $afzendernaam <$afzendermail>\n"; // your email client will show the person's email address like normal
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n"; // sets the mime type
$recipient = "martijn@casemoddertje.be"; // enter YOUR email address here
$subject = "len"; // this is the subject of the email

$msg = wordwrap( $bericht, 1024 );

# mail($recipient, $subject, stripslashes($msg), $headers); // the mail() function sends the message to you
mail($recipient, $subject, $msg, $headers);

//Once the data is entered, redirect the user to give them visual confirmation
header("location: http://www.casemoddertje.be/test/form.htm");
}else{
echo("U heeft het formulier niet ingevuld!");
}
?>

Martijnc
12 juni 2005, 12:50
zo gaat ie :)
bedankt AMD :p

AMD
12 juni 2005, 14:09
graag gedaan.

AMD