Update script nodig?
Ik ben een leek met PHP, maar ik had een goed werkend formulier. Nu werkt dat niet meer. Mij is verteld dat bepaalde codes verouderd kunnen zijn. Kan iemand mij in simpel Nederlands uitleggen of, wat en hoe ik onderdelen moet veranderen?
Het script is als volgt:
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
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
<?php
$naam = $_POST['naam'];
if (isset($_POST['submit'])) {
if ($naam == "") {
$error = "Wilt u alstublieft onderaan uw naam invullen.";
echo "<FONT COLOR=\"#F09\">".$error."</FONT><br /><br />";
echo '<input type="button" value="Terug" onClick="goHist(-1)" />';
}else{
$to = "[email protected]";
$subject = "Website klachtenformulier";
$name_field = $_POST['naam'];
$activiteit1 = $_POST['activiteit1'];
$activiteit2 = $_POST['activiteit2'];
$activiteit3 = $_POST['activiteit3'];
$option = $_POST['radio'];
$option2 = $_POST['radio2'];
$option3 = $_POST['radio3'];
$option4 = $_POST['radio4'];
$message = $_POST['overige_klachten'];
foreach($_POST['klachten'] as $value) {
$klachten_msg .= "$value\n";
}
$body = "Naam: $naam\n\nBelangrijkste klachten:\n\n$klachten_msg\n\nMoeilijkheidsgraden:\n\nvoor activiteit $activiteit1.: $option\nvoor activiteit $activiteit2.: $option2\nvoor activiteit $activiteit3.: $option3\n\nAndere lastige activiteit, niet in de lijst:\n\n30. $message met moeilijkheidsgraad $option4";
echo "<strong>Uw formulier met behandelvragen is ontvangen!</strong>";
mail($to, $subject, $body);
}}
?>
$naam = $_POST['naam'];
if (isset($_POST['submit'])) {
if ($naam == "") {
$error = "Wilt u alstublieft onderaan uw naam invullen.";
echo "<FONT COLOR=\"#F09\">".$error."</FONT><br /><br />";
echo '<input type="button" value="Terug" onClick="goHist(-1)" />';
}else{
$to = "[email protected]";
$subject = "Website klachtenformulier";
$name_field = $_POST['naam'];
$activiteit1 = $_POST['activiteit1'];
$activiteit2 = $_POST['activiteit2'];
$activiteit3 = $_POST['activiteit3'];
$option = $_POST['radio'];
$option2 = $_POST['radio2'];
$option3 = $_POST['radio3'];
$option4 = $_POST['radio4'];
$message = $_POST['overige_klachten'];
foreach($_POST['klachten'] as $value) {
$klachten_msg .= "$value\n";
}
$body = "Naam: $naam\n\nBelangrijkste klachten:\n\n$klachten_msg\n\nMoeilijkheidsgraden:\n\nvoor activiteit $activiteit1.: $option\nvoor activiteit $activiteit2.: $option2\nvoor activiteit $activiteit3.: $option3\n\nAndere lastige activiteit, niet in de lijst:\n\n30. $message met moeilijkheidsgraad $option4";
echo "<strong>Uw formulier met behandelvragen is ontvangen!</strong>";
mail($to, $subject, $body);
}}
?>
Met vriendelijke groet,
Wouter Looman
Wat werkt er niet aan het script? krijg je een foutmelding?
http://www.fysio-osdorp.nl/klachtenformulier.html voor het formulier. Na invullen en versturen krijg je een scherm te zien dat het goed gegaan is, maar ik ontvang niets. In het PHP-bestand (mailer.php) staat uiteraard mijn echte mailadres.
Misschien zit dus de fout in het formulier, maar een half jaar geleden werkte het nog wel. Zou je daar ook even naar kunnen kijken? (paginabron)
Hier in het kort:
Bij voorbaat dank,
Wouter
Nee, er gebeurt niets. Kijk op Misschien zit dus de fout in het formulier, maar een half jaar geleden werkte het nog wel. Zou je daar ook even naar kunnen kijken? (paginabron)
Hier in het kort:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form name="form2" method="post" action="mailer.php" onSubmit="return GoCaptchA()">
<td width="300" bgcolor="#DFDFFF"><table border="0">
<tr>
<td width="293"> <p>
1.
<input type="checkbox" name="klachten[]" value="1. Liggen in bed" />
liggen in bed
<br />
2.
<input type="checkbox" name="klachten[]" value="2. Omdraaien in bed" />
omdraaien in bed
<br /> enz.
tot:
<input type="submit" name="submit" value="Verzenden"/>
<input type="reset" name="input" value="Wissen" />
<br />
<br /></td>
</tr>
</table></form>
<td width="300" bgcolor="#DFDFFF"><table border="0">
<tr>
<td width="293"> <p>
1.
<input type="checkbox" name="klachten[]" value="1. Liggen in bed" />
liggen in bed
<br />
2.
<input type="checkbox" name="klachten[]" value="2. Omdraaien in bed" />
omdraaien in bed
<br /> enz.
tot:
<input type="submit" name="submit" value="Verzenden"/>
<input type="reset" name="input" value="Wissen" />
<br />
<br /></td>
</tr>
</table></form>
Bij voorbaat dank,
Wouter
Gewijzigd op 06/02/2013 13:27:20 door Bas IJzelendoorn
Ben je zeker dat de mailfunctie werkt bij jouw host? Dit is meestal de oorzaak van zulke problemen, dat de hosting het gebruik van de mail-functie beperkt.
Je zou onderstaande kunnen testen om te kijken of het dan wel aankomt...
verander alleen even het TO veld en sla dit script dan op in een nieuw .php bestand en start deze dan in je browser om te kijken of je de mail ontvangt.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$to = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
$to = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
De site wordt gehost bij KPN? Daarin is niets veranderd?
Door wie is jou verteld dat de bepaalde codes verouderd zou zijn?
Is ook aangegeven wat dan verouderd zou zijn?
Wat wel mist op regel 33 zijn de (juiste) headers. Zie http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders
Voor *: ik ben hier een half jaar geleden al tegenaan gelopen en heb met een ander formulier toen ook dit forum benaderd: http://www.phphulp.nl/php/forum/topic/formulier-werkt-opeens-niet-meer/86549/. Maar het antwoord was me te technisch. Omdat mijn klant er eigenlijk wel van baalt, probeerde ik het nu nog maar eens opnieuw.
Dat van die mogelijk verouderde codes vond ik op http://kpn.gebruikers.eu/forum/viewthread.php?thread_id=2858
Die headers, oei dat ziet er weer uit als drie dagen gaan puzzelen...
Groet, Wouter
Misschien niet elegant, maar het werkt...
Groet, Wouter