login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ik wil het echt leren

Offline lainke - 17/03/2007 10:38
Avatar van lainkeNieuw 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:

  1. <?
  2. $amount=15;
  3.  
  4. if ($_GET['action']=='write') {
  5. header('location: gb.php?action=read&start=0');
  6. $file=fopen('gastenboek.txt','a');
  7.  
  8. $message=str_replace("\r",'',$message);
  9. $message=str_replace("\n",'{{',$_GET['message']);
  10. fwrite($file,$_GET['name'].'|||'.$_GET['email'].'|||'.date('d-m-Y').'|||'.$_GET['url'].'|||'.$message."\n");
  11. fclose($file);
  12.  
  13. }
  14.  
  15. $start=(isset($_GET['start'])?$_GET['start']:0);
  16. $gastenboek=Array();
  17. $gastenboek=file('gastenboek.txt');
  18.  
  19. ?>
  20.  
  21. <SCRIPT language="JavaScript">
  22. function validate(form) {
  23. if (form.name.value=="") {
  24. alert("Vul je naam in");
  25. return false;
  26. } else if (form.message.value=="") {
  27. alert("Vul je bericht in");
  28. return false;
  29. }
  30. }
  31. </SCRIPT>
  32.  
  33.  
  34. <P>
  35. <TABLE width="100%" cellspacing="0" cellpadding="0" >
  36. <TR>
  37. <TD><b>Gastenboek</b><br></TD>
  38. </TR>
  39. </TABLE>
  40. <TABLE width="100%" cellspacing="0" cellpadding="0">
  41. <TR>
  42. <TD class="side"> Berichten <? echo $start+1; ?> tot en met <? echo min($start+$amount,sizeof($gastenboek)); ?>.
  43. <HR> <TABLE width="100%" >
  44. <?
  45. $gastenboek=array_reverse($gastenboek);
  46. for ($i=$start;$i<$start+$amount && $i<sizeof($gastenboek);$i++) {
  47. list($name,$email,$date,$url,$message)=explode('|||',$gastenboek[$i]);
  48. $message=str_replace('{{',"\n",$message);
  49. echo '<TR><TD><B>'.($email!=""?'<A href="mailto:'.$email.'">'.$name.'</A>':$name).'</B></TD><TD align="right"><B>'.$date.'</B></TD></TR>'."\n";
  50. echo ($url!=""?'<TR><TD colspan="2"><A href="'.$url.'" target="_blank">'.$url.'</A></TD></TR>':'')."\n";
  51. echo '<TR><TD colspan="2"><SPAN>'.str_replace("\n",'<BR>',htmlspecialchars($message)).'</SPAN></TD></TR>'."\n";
  52. echo '<TR><TD colspan="2"><HR></TD></TR>'."\n";
  53. }
  54. ?>
  55. </TABLE>
  56. <CENTER>
  57. <?
  58. if ($start>0) echo '<A href="gb.php?start='.max(0,$start-$amount).'"><<<</A> ';
  59. if ($start+$amount<sizeof($gastenboek)) echo ' <A href="gb.php?start='.($start+$amount).'">>>></A>';
  60. ?> </CENTER></TD>
  61. </TR>
  62. </TABLE>
  63. <P>
  64. <TABLE width="100%" cellspacing="0" cellpadding="0" >
  65. <TR>
  66. <TD class="side">Nieuw bericht</TD>
  67. </TR>
  68. </TABLE>
  69. <TABLE width="100%" cellspacing="0" cellpadding="0" >
  70. <TR>
  71. <TD class="side"> <FORM action="gb.php" method="GET" onSubmit="return validate(this);">
  72. <INPUT type="hidden" name="action" value="write">
  73. <TABLE class="side">
  74. <TR>
  75. <TD>Naam:</TD>
  76. <TD><INPUT type="text" name="name" size="30"></TD>
  77. </TR>
  78. <TR>
  79. <TD>E-Mail:</TD>
  80. <TD><INPUT type="text" name="email" size="30">
  81. (optioneel)</TD>
  82. </TR>
  83. <TR>
  84. <TD>Homepage:</TD>
  85. <TD><INPUT name="url" type="text" value="http://" size="30">
  86. (optioneel)</TD>
  87. </TR>
  88. <TR>
  89. <TD>Bericht:</TD>
  90. <TD><TEXTAREA name="message" cols="50" rows="5"></TEXTAREA></TD>
  91. </TR>
  92. </TABLE>
  93. <INPUT type="submit" value="Verstuur">
  94. </FORM></TD>
  95. </TR>
  96. </TABLE>

3 antwoorden

Gesponsorde links
Offline vinTage - 17/03/2007 11:25
Avatar van vinTage Nieuw lid
  1. <FORM action="gb.php" method="GET" onSubmit="return validate(this);">


Probeer eens gb.php te veranderen naar
<?=$_SERVER['REQUEST_URI']?>
Offline Pieter - 17/03/2007 14:50
Avatar van Pieter Gouden medaille

SEO guru
Zou je niet beter eerst html/css leren? Schrijf je html in kleine lettertjes aub.
Offline Button - 17/03/2007 14:57
Avatar van Button PHP ver gevorderde als je website gebruikt maakt van include() om je verschillende je pagina's te includen in je website ligt het probleem daar. Als je action="gb.php" neemt zal hij enkel naar die pagina gaan en deze niet meer include in je website. Gebruik, zoals Vintage, zei dan <?=$_SERVER['REQUEST_URI']?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.211s