Nieuw lid |
|
Hallo,
Ik ben een beginner in PHP en wil echt beginnen met dit serieus te leren.
Een eerste scriptje die ik aan het oefenen ben is een klein simpel gastenboekje.
Ik heb het volgende probleempje;
Ik heb een pagina gastenboek.php en een gastenboek.txt die ik heb chmod 777, hij include mooi mijn gastenboek in index.php, maar het probleem is dat ne het schrijven van het berichtje het gastenboek heropent in een nieuwe pagina buiten de website en dit zou niet mogen, hij zou zich terug moeten includen indezelfde pagina gastenboek.php.
kan iemand me verder helpen en zeggen waar ik de aanpassing moet doen?
bedankt alvast.
Hier het script:
<?
$amount=15;
if ($_GET['action']=='write') {
header('location: gb.php?action=read&start=0');
$file=fopen('gastenboek.txt','a');
$message=str_replace("\r",'',$message);
$message=str_replace("\n",'{{',$_GET['message']);
fwrite($file,$_GET['name'].'|||'.$_GET['email'].'|||'.date('d-m-Y').'|||'.$_GET['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="gb.php?start='.max(0,$start-$amount).'"><<<</A> ';
if ($start+$amount<sizeof($gastenboek)) echo ' <A href="gb.php?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="gb.php" method="GET" 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>
<? $amount=15; if ($_GET['action']=='write') { header('location: gb.php?action=read&start=0'); $file=fopen('gastenboek.txt','a'); fwrite($file,$_GET['name'].'|||'.$_GET['email'].'|||'.date('d-m-Y').'|||'.$_GET['url'].'|||'.$message."\n"); } $start=(isset($_GET['start'])? $_GET['start']:0); $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%" > <? for ($i=$start;$i<$start+$amount && $i<sizeof($gastenboek);$i++) { list($name,$email,$date,$url,$message)=explode('|||',$gastenboek[$i]); 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"><HR></TD></TR>'."\n"; } ?> </TABLE> <CENTER> <? if ($start>0) echo '<A href="gb.php?start='.max(0,$start-$amount).'"><<<</A> '; if ($start+$amount<sizeof ($gastenboek)) echo ' <A href="gb.php?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="gb.php" method="GET" 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>
|