Wie oh wie?
Ik heb een prachtig klein gastenboek scriptje op deze site gevonden, gepost door jw_slob, echter zijn emailadres is niet meer.. dus bij hem kan ik niet terecht met mijn probleem.

Wie kan mij wel helpen?
Zijn gastenboek script heeft op de vorige server van mijn websitehost foutloos gewerkt. Echter heeft mijn host de website verhuisd naar een nieuwe server en nu wil het script niet meer voorruit. Er komt zelfs geen foutmelding meer, alleen een 'refresh' van de pagina. De Chmod is gecontroleerd en staat goed.

Wie kan mij vertellen waar het mis gaat?

Alvast bedankt~!!
Monique

Dit is het script:

<html>
<head>
<title>GASTENBOEK</title>
</head>
<body bgcolor="#3f5bb5">

<p align="right"> </p>
<center>
<h1>Gastenboek</h1>
<p>
<?php
if($submit)
{
if (($name=="")||($email=="")||($mes==""))
{ echo "</center><h2>ERROR</h2>";
echo "De volgende gegevens ontbreken:<br>";
if ($name=="") echo "<font color=red>Je naam </font><br>";
if ($email=="") echo "<font color=red>Je e-mailadres </font><br>";
if ($mes=="") echo "<font color=red>Je bericht </font><br>";
echo "Klik <a onClick=javascript:history.back()>HIER</a> om terug te gaan<center><p>";


}
else
{
$mes = ereg_replace("\n","<BR>",$mes);
$date = date("l dS of F Y h:i:s A");
$new_message = "$name(+)$email(+)$date(+)$mes\r\n";
$file=join(" ",file("gastenboek.txt"));
$fp=fopen("gastenboek.txt","w");
fputs($fp,$new_message);
fputs($fp, $file);
fclose($fp);
mail( "[email protected]", "Bericht in Gastenboek ",$new_message, "From: afzender <[email protected]>" );
}
}
else
{
?>

<form action = "<?php echo($PHP_SELF); ?>" method=post>
<table class='back2' width=90%>
<tr>
<td class='back1'>Naam</td>
<td class='back2'><input type=text size=40 name="name"></td>
</tr>
<tr>
<td class='back1'>E-mail</td>
<td class='back2'><input type=text size=40 name="email"></td>
</tr>
<tr>
<td class='back1'>Bericht</td>
<td class='back2'><textarea ROWS=5 COLS=80 WRAP=virtual name="mes"></textarea></td>
</tr>
<tr>
<td class='back2'></td>
<td class='back2'><input type=submit size=40 name="submit" value="Plaats bericht"></td>
</tr>
</table>
</form>


<?php
}

$fo = fopen('gastenboek.txt',"r");
echo "<table class='back2' width=90%>";
while (!feof ($fo))

{ $bericht = fgets($fo, 4096);
$split = explode("(+)",$bericht);
$sender_name = $split[0];
$sender_email = $split[1];
$date = $split[2];
$message = $split[3];

echo ("<tr><td class='back1'><i>Afzender</i><td class='back2'><a class='a1' href=mailto:$sender_email>$sender_name</a></td></tr>");
echo ("<tr><td class='back1'><i>Datum </i><td class='back2'>$date</tr></td>");
echo ("<tr><td valign=top class='back1'><i>Bericht</i><td class='back3'>$message</td></tr>");
echo ("<tr><td>");
}
echo "</table>";
fclose($fo);
?>


<a href="gastenboek.php">terug naar index</a>
<?php
$file = "gastenboek.txt";
?>


</body>
</html>
Je moet niet alleen de variabelen die je snel ziet veranderen, ook de andere natuurlijk. Daarentegen moet je niet alle variabelen veranderen. Alleen de variabelen die afkomstig zijn uit een formulier. Haal trouwens variabelen buiten quotes. Dat doe je zo:

Jij hebt het nu zo:
echo "tekst$errortekst";

Buiten quotes halen:
echo "tekst".$error."tekst";
Je doet het op regels 15-23 telkens precies verkeerd om. De variabelen $mes, $naam, etc hebben nog geen waarde terwijl jij daar in je script wel van uit lijkt te gaan.

De variabelen die wel een waarde hebben zijn $_POST['mes'], $_POST['name'], etc. Dit zijn immers de variabelen die uit het formulier komen.
Wat kan een mens binnen 24 uur veel leren zeg! Iedereen bedankt voor de input, want ik ben eruit,

Mijn simpele gastenboek scriptje doet het weer!!!

Wat kan een forum toch een super mooi medium zijn!

Succes allemaal

Monique

Reageren