Mijn php script werk niet naar behoren. Help
Mijn form in html
Het php bestand send_mail.php
Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form name="contactform" action="send_mail.php" method="post">
<ol>
<li>
<label for="name"><strong>Naam</strong> (verplichte veld)</label>
<input id="name" name="name" class="text" />
</li>
</li>
<li>
<label for="email"><strong>Email adres</strong> (verplichte veld)</label>
<input id="mail" name="mail" class="text" />
</li>
<li>
<label for="comments"><strong>Bericht</strong> (verplichte veld)</label>
<textarea id="comments" name="comments" rows="8" cols="50"></textarea>
</li>
<li>
<input type="image" name="imageField" id="imageField" src="images/submit.gif" class="send" value="submit"/>
<div class="clr"></div>
</li>
</ol>
</form>
<ol>
<li>
<label for="name"><strong>Naam</strong> (verplichte veld)</label>
<input id="name" name="name" class="text" />
</li>
</li>
<li>
<label for="email"><strong>Email adres</strong> (verplichte veld)</label>
<input id="mail" name="mail" class="text" />
</li>
<li>
<label for="comments"><strong>Bericht</strong> (verplichte veld)</label>
<textarea id="comments" name="comments" rows="8" cols="50"></textarea>
</li>
<li>
<input type="image" name="imageField" id="imageField" src="images/submit.gif" class="send" value="submit"/>
<div class="clr"></div>
</li>
</ol>
</form>
Het php bestand send_mail.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
if(isset($_POST['email'])) {
// CHANGE THE TWO LINES BELOW
$email_to = "[email protected]";
$email_subject = "Website-formulier";
function died($error) {
// your error code can go here
echo "<p style ='font:18px/24px Arial,tahoma,sans-serif;color:#ff0000'>Sorry, maar er zijn fouten in het formulier.</p><br /><br />";
echo $error."<br /><br />";
echo "<p style ='font:18px/24px Arial,tahoma,sans-serif;color:#ff0000'>Ga terug, en vul het formulier opnieuw in.</p><br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['name']) ||
!isset($_POST['mail']) ||
!isset($_POST['comments'])) {
died('Sorry, Er is een probleem bij het opsturen van formulier.');
}
$first_name = $_POST['name']; // required
$email_from = $_POST['mail']; // required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'Het email dat u heeft ingevult is niet correct.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'Uw naam is niet ingevult.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'U heeft geen bericht ingevult.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Formulier gegevens hieronder.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Naam: ".clean_string($first_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Bericht: ".clean_string($comments)."\n";
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
if ($success)
{
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=succes.html">';
exit;
}
<?php
}
die();
?>
if(isset($_POST['email'])) {
// CHANGE THE TWO LINES BELOW
$email_to = "[email protected]";
$email_subject = "Website-formulier";
function died($error) {
// your error code can go here
echo "<p style ='font:18px/24px Arial,tahoma,sans-serif;color:#ff0000'>Sorry, maar er zijn fouten in het formulier.</p><br /><br />";
echo $error."<br /><br />";
echo "<p style ='font:18px/24px Arial,tahoma,sans-serif;color:#ff0000'>Ga terug, en vul het formulier opnieuw in.</p><br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['name']) ||
!isset($_POST['mail']) ||
!isset($_POST['comments'])) {
died('Sorry, Er is een probleem bij het opsturen van formulier.');
}
$first_name = $_POST['name']; // required
$email_from = $_POST['mail']; // required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'Het email dat u heeft ingevult is niet correct.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'Uw naam is niet ingevult.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'U heeft geen bericht ingevult.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Formulier gegevens hieronder.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Naam: ".clean_string($first_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Bericht: ".clean_string($comments)."\n";
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
if ($success)
{
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=succes.html">';
exit;
}
<?php
}
die();
?>
Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 08/11/2013 11:07:02 door Bas IJzelendoorn
Wat gaat er fout..?
PHPhulp is een robot, jij stopt er code in die 'niet naar behoren werkt' en na een dag komt er code uit die wel werkt.
Op zo'n zelfde manier is de fietsenmaker ook een robot, jij gooit een fiets naar binnen die 'niet naar behoren werkt' en een dag later komt er een fiets uit die werkt.
Denk jij dat deze 2 zinnen waar zijn? Gezien dit topic ben je overtuigt dat de eerste waar is, maar de 2e niet. Waarom zijn wij dan wel robotjes en de fietsenmaker niet? Kun je ons alsjeblieft ook als mensen behandelen, door bijv. zelf wat inzet te tonen en het probleem te omschrijven?
Op zo'n zelfde manier is de fietsenmaker ook een robot, jij gooit een fiets naar binnen die 'niet naar behoren werkt' en een dag later komt er een fiets uit die werkt.
Denk jij dat deze 2 zinnen waar zijn? Gezien dit topic ben je overtuigt dat de eerste waar is, maar de 2e niet. Waarom zijn wij dan wel robotjes en de fietsenmaker niet? Kun je ons alsjeblieft ook als mensen behandelen, door bijv. zelf wat inzet te tonen en het probleem te omschrijven?
Gewijzigd op 07/11/2013 16:40:37 door Wouter J
Als ik het formulier invult bij email, wordt de formulier naar dat email gestuurd. In plaats van $email_to.
Toon dat formulier eens.
Dan kunnen we zien of de <input> velden overeenkomen met de rest van de code.
Vertel ons eens wat $email_to precies is en wat $_POST['mail'] precies is.
Nu ja, aan dat formulier zullen we dat waarschijnlijk wel merken
Dan kunnen we zien of de <input> velden overeenkomen met de rest van de code.
Vertel ons eens wat $email_to precies is en wat $_POST['mail'] precies is.
Nu ja, aan dat formulier zullen we dat waarschijnlijk wel merken
Aar:
Zou je a.u.b. je code tussen code-tags kunnen plaatsen door je bericht te bewerken? Dat maakt het overzichtelijker in het topic. Lees hier hoe dat moet.
Alvast bedankt.
Alvast bedankt.
Okay
<label for="email"><strong>Email adres</strong> (verplichte veld)</label>
<input id="mail" name="mail" class="text" />
Wat is dat?
Moet een e-mail naar dit adres gestuurd worden?
Indien ja...
<label for="email"><strong>Email adres</strong> (verplichte veld)</label>
<input id="mail" name="mail" class="text" />
Wat is dat?
Moet een e-mail naar dit adres gestuurd worden?
Indien ja...
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
...
// CHANGE THE TWO LINES BELOW !!!!!!!!!!
$email_to = $_POST['mail'];
$email_from = "[email protected]";
...
?>
...
// CHANGE THE TWO LINES BELOW !!!!!!!!!!
$email_to = $_POST['mail'];
$email_from = "[email protected]";
...
?>
Ik ga dat effe proberen.
Nee dat wijziging werkt niet. ik krijgt geen email binnen ook niet ongewenst emails
Nee dat wijziging werkt niet. ik krijgt geen email binnen ook niet ongewenst emails
Gewijzigd op 07/11/2013 17:32:42 door Greg Wing
Zit je op localhost? Dan moet je op je server wel een mailserver instellen.
Precies. Ook als je niet op een Localhost zit kunnen ze de mailserver uit hebben gezet. Waarschijnlijk is dat het probleem.
Het is niet de localhost. Deze script werkt wel. Maar dan krijg ik allen wat bij $body staat.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$comments = $_POST['comments'];
$to = "[email protected]";
$subject = "Website-formulier";
$body = "Dit is een automatische bericht. Er kan niet geregeerd worden op deze email.";
mail($to,$subject,$body);
echo "Bericht verzonden!";
?>
$name = $_POST['name'];
$email = $_POST['email'];
$comments = $_POST['comments'];
$to = "[email protected]";
$subject = "Website-formulier";
$body = "Dit is een automatische bericht. Er kan niet geregeerd worden op deze email.";
mail($to,$subject,$body);
echo "Bericht verzonden!";
?>
Gewijzigd op 08/11/2013 09:20:15 door Greg Wing
Ja ... je doet niets met de gegevens.
$name, $email en $comments krijgen een waarde, en daarna doe je er niets mee.
$name, $email en $comments krijgen een waarde, en daarna doe je er niets mee.
Kijk eens naar mail headers hoe je die andere variabelen ook mee stuurt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
// multiple recipients
$to = '[email protected]' . ', '; // note the comma
$to .= '[email protected]';
// subject
$subject = 'Birthday Reminders for August';
// message
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>' . "\r\n";
$headers .= 'From: Birthday Reminder <[email protected]>' . "\r\n";
$headers .= 'Cc: [email protected]' . "\r\n";
$headers .= 'Bcc: [email protected]' . "\r\n";
// Mail it
mail($to, $subject, $message, $headers);
?>
// multiple recipients
$to = '[email protected]' . ', '; // note the comma
$to .= '[email protected]';
// subject
$subject = 'Birthday Reminders for August';
// message
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>' . "\r\n";
$headers .= 'From: Birthday Reminder <[email protected]>' . "\r\n";
$headers .= 'Cc: [email protected]' . "\r\n";
$headers .= 'Bcc: [email protected]' . "\r\n";
// Mail it
mail($to, $subject, $message, $headers);
?>
regel 62 tot en met 68 ziet er niet zo goed uit volgens mij.
Bas IJzelendoorn op 08/11/2013 11:08:08:
regel 62 tot en met 68 ziet er niet zo goed uit volgens mij.
O ja, inderdaad.
Die zouden er zo moeten uitzien
regel 62 tot met 68 veranderd naar de code hierboven.
Maar script werkt nog steeds niet na behoren. Ik krijg nog steeds geen email binnen.
Maar script werkt nog steeds niet na behoren. Ik krijg nog steeds geen email binnen.
Haal het @ voor mail() eens weg? Zie je errors?
Ik heb @ voor mail() verwijdeerd maar nog steeds geen email binnen gekregen.
Het is gewoon bij het invullen van het formulier als ik mijn email adres invult wordt het formulier naar dat email adres gestuurd inplaats naar het email adres bij $email_to. Ik heb ook een hidden input met de value email adres geprobeerd maar werkt niet. Het is of dat het script niet begrijpt waarnaar welke email adres hij het formulier moet sturen.
Gewijzigd op 09/11/2013 00:04:35 door Greg Wing
Zie mijn vorige post....




