hmja, ik was wat vlug en onvolledig.
Eerst en vooral, ge include de pagina gb.php in uw hoofdpagina index.php. Dus uw eigenlijke pagina is dan ook index.php en niet gb.php. Het beste is dan ook consequent index.php te gebruiken in uw urls. Anders "verspringt" ge tussen index.php en gb.php.
Bovenaan:
Code:
header('location: index.php?pagina=gb&action=read&start=0');
ge moet dus ook altijd verwijzen naar index.php?pagina=gb&...
't belangrijkste is uw actiion URL:
Code:
<FORM action="index.php?pagina=gb&action=write" method="POST" onSubmit="return validate(this);">
Ik denk dat het ook beter is method="POST" te gebruiken. Dacht dat ik dat ooit eens gelezen had dat dat veiliger is (maar dat is voer voor de specialisten
).
Hier is de code (werkt om m'n localhost).
index.php (ge kunt natuurlijk ook switch gebruiken):
Code:
<?php
if($_GET['pagina'] == "gb")
{
include("gb.php");
}
else
{
echo "Deze pagina bestaat niet" ;
}
?>
gb.php:
Code:
<?
$amount=15;
if ($_GET['action']=='write') {
header('location: index.php?pagina=gb&action=read&start=0');
$file=fopen('gastenboek.txt','a');
$message=str_replace("\r",'',$message);
$message=str_replace("\n",'{{',$_POST['message']);
fwrite($file,$_POST['name'].'|||'.$_POST['email'].'|||'.date('d-m-Y').'|||'.$_POST['url'].'|||'.$message."\n");
fclose($file);
}
$start=(isset($_GET['start'])?$_GET['start']:0);
$gastenboek=Array();
$gastenboek=file('gastenboek.txt');
?>
<SCRIPT language="JavaScript">
function validate(form) {
if (form.name.value=="") {
alert("Vul je naam in");
return false;
} else if (form.message.value=="") {
alert("Vul je bericht in");
return false;
}
}
</SCRIPT>
<P>
<TABLE width="100%" cellspacing="0" cellpadding="0" >
<TR>
<TD><b>Gastenboek</b><br></TD>
</TR>
</TABLE>
<TABLE width="100%" cellspacing="0" cellpadding="0">
<TR>
<TD class="side"> Berichten <? echo $start+1; ?> tot en met <? echo min($start+$amount,sizeof($gastenboek)); ?>.
<HR> <TABLE width="100%" >
<?
$gastenboek=array_reverse($gastenboek);
for ($i=$start;$i<$start+$amount && $i<sizeof($gastenboek);$i++) {
list($name,$email,$date,$url,$message)=explode('|||',$gastenboek[$i]);
$message=str_replace('{{',"\n",$message);
echo '<TR><TD><B>'.($email!=""?'<A href="mailto:'.$email.'">'.$name.'</A>':$name).'</B></TD><TD align="right"><B>'.$date.'</B></TD></TR>'."\n";
echo ($url!=""?'<TR><TD colspan="2"><A href="'.$url.'" target="_blank">'.$url.'</A></TD></TR>':'')."\n";
echo '<TR><TD colspan="2"><SPAN>'.str_replace("\n",'<BR>',htmlspecialchars($message)).'</SPAN></TD></TR>'."\n";
echo '<TR><TD colspan="2"><HR></TD></TR>'."\n";
}
?>
</TABLE>
<CENTER>
<?
if ($start>0) echo '<A href="index.php?pagina=gb?start='.max(0,$start-$amount).'"><<<</A> ';
if ($start+$amount<sizeof($gastenboek)) echo ' <A href="index.php?pagina=gb&start='.($start+$amount).'">>>></A>';
?> </CENTER></TD>
</TR>
</TABLE>
<P>
<TABLE width="100%" cellspacing="0" cellpadding="0" >
<TR>
<TD class="side">Nieuw bericht</TD>
</TR>
</TABLE>
<TABLE width="100%" cellspacing="0" cellpadding="0" >
<TR>
<TD class="side"> <FORM action="index.php?pagina=gb&action=write" method="POST" onSubmit="return validate(this);">
<INPUT type="hidden" name="action" value="write">
<TABLE class="side">
<TR>
<TD>Naam:</TD>
<TD><INPUT type="text" name="name" size="30"></TD>
</TR>
<TR>
<TD>E-Mail:</TD>
<TD><INPUT type="text" name="email" size="30">
(optioneel)</TD>
</TR>
<TR>
<TD>Homepage:</TD>
<TD><INPUT name="url" type="text" value="http://" size="30">
(optioneel)</TD>
</TR>
<TR>
<TD>Bericht:</TD>
<TD><TEXTAREA name="message" cols="50" rows="5"></TEXTAREA></TD>
</TR>
</TABLE>
<INPUT type="submit" value="Verstuur">
</FORM></TD>
</TR>
</TABLE>