Contact script niet werkzaam op nieuwe server.
http://www.domein1.nl (PHP Version 5.3.3-7+squeeze25) - Werkt wel
http://www.domein2.nl (PHP Version 5.3.27) - Werkt niet
http://www.domein3.nl (PHP Version 5.3.29-1~dotdeb.0) - Werkt niet
Op de nieuwste versie werkt hij wel, op de iets oudere niet.. terwijl het script toch al menig jaar oud is. Het enige verschil wat ik tussen de drie servers kan zien is dat de postmaster bij het domein wat wel werkt geregisteerd staat op de naam van de provider ([email protected]) en de andere twee op dat van het domein zelf ([email protected] en [email protected]). Nu weet ik niet of dit er iets mee te maken heeft of dat het een andere instelling is ?
Wie kan mij hiermee helpen?
Het script:
Quote: </p>
</div>
</section>
<section id="CommentForm">
<h2>Stuur ons een e-mail</h2>
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
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
<?
//Vars
$mijnemail = "[email protected]";
$onderwerp = "E-mail via website (http://www.domein.nl)";
$ip = $REMOTE_ADDR;
$error = "<hr><p>U heeft niet alles ingevuld</b><br><br><a href=\"javascript:history.go(-1)\" data-ajax=\"false\">Klik hier om terug te gaan.</a></p>";
$verzonden = "<hr><p>Beste meneer/mevrouw $achternaam,<br><br>Wij zulllen zo spoedig mogelijk contact met u opnemen.<br><br>Met vriendelijke groet,<br><br></p>";
$submit_verzenden = "Versturen";
$submit_wissen = "Wissen";
//Verzenden
if($submit) {
if ($achternaam == "" || $telefoonnummer == "" || $bericht == "") {
echo "$error";
} else {
mail("$mijnemail", "$onderwerp", "
Naam: $achternaam
E-mail adres: $email
Telefoonnummer: $telefoonnummer
Bericht:
$bericht
Ip adres: $ip", "from: $achternaam");
echo "$verzonden";
}
} else {
?>
//Vars
$mijnemail = "[email protected]";
$onderwerp = "E-mail via website (http://www.domein.nl)";
$ip = $REMOTE_ADDR;
$error = "<hr><p>U heeft niet alles ingevuld</b><br><br><a href=\"javascript:history.go(-1)\" data-ajax=\"false\">Klik hier om terug te gaan.</a></p>";
$verzonden = "<hr><p>Beste meneer/mevrouw $achternaam,<br><br>Wij zulllen zo spoedig mogelijk contact met u opnemen.<br><br>Met vriendelijke groet,<br><br></p>";
$submit_verzenden = "Versturen";
$submit_wissen = "Wissen";
//Verzenden
if($submit) {
if ($achternaam == "" || $telefoonnummer == "" || $bericht == "") {
echo "$error";
} else {
mail("$mijnemail", "$onderwerp", "
Naam: $achternaam
E-mail adres: $email
Telefoonnummer: $telefoonnummer
Bericht:
$bericht
Ip adres: $ip", "from: $achternaam");
echo "$verzonden";
}
} else {
?>
</div>
</section>
<section id="CommentForm">
<h2>Stuur ons een e-mail</h2>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?
//Formulier
echo "<form method='POST' action='contact.php' data-ajax='false'>
<input type='text' name='achternaam' size='45' class='contact' placeholder='Achternaam *'>
<input type='text' name='email' size='45' class='contact' placeholder='E-mail adres'>
<input type='text' name='telefoonnummer' size='45' class='contact' placeholder='Telefoonnummer *'>
<textarea name='bericht' cols='30' rows='10' placeholder='Bericht *'></textarea>
<input data-theme='a' type='submit' value='$submit_verzenden' name='submit' />
</form>";
}
?>
//Formulier
echo "<form method='POST' action='contact.php' data-ajax='false'>
<input type='text' name='achternaam' size='45' class='contact' placeholder='Achternaam *'>
<input type='text' name='email' size='45' class='contact' placeholder='E-mail adres'>
<input type='text' name='telefoonnummer' size='45' class='contact' placeholder='Telefoonnummer *'>
<textarea name='bericht' cols='30' rows='10' placeholder='Bericht *'></textarea>
<input data-theme='a' type='submit' value='$submit_verzenden' name='submit' />
</form>";
}
?>
Het is goed dat dit normaliter niet werkt, want werken met register_globals aan is een recipe for disaster.
Werk met superglobals zoals $_POST en $_GET.
Tijd om dit script te herzien (en je serverinstellingen te controleren, lol).
Tegenwoordig gebruiken we de super-globals zoals $_POST, $_GET, $_COOKIE, $_SERVER om onderscheid in de variabelen te brengen.