Hoi,

Ben net begonnen met php, wil graag een gastenboek maken waar er nieuwtjes gepost kunnen worden en dat die op iedere pagina in een div te zien zijn.
Heb een simpel script gevonden voor het gastenboek, wanneer ik het form invul word het niet weer gegeven.

Dit is me PHP script

<SCRIPT language="php">
$uitvoerbestand = "gasten.htm";
$bestandsindex = fopen($uitvoerbestand,"a");

fwrite($bestandsindex, "<TR><TD>$gastnaam</TD><TD><A href=\"mailto:$gastemail\">$gastemail</A></TD>");
fwrite($bestandsindex, "<TD>$gastreactie</TD></TR>");
fclose($bestandsindex);
</SCRIPT><head>
<META http-equiv="refresh" content="2;url=gasten.htm">
</head>



<font face="Arial" size="4">

Even geduld a.u.b. uw reactie wordt toegevoegd aan het gastenboek ...</font>
<SCRIPT language="php">

Dat werkt bij Javascript, maar niet bij php.
Kijk eens op www.phptuts.nl
Als je PHP wilt uitvoeren zet je de code tussen de juiste tags in je code:
<?php

code

?>
De extensie moet wel .php zijn. Je kunt het zo instellen dat html documenten ook PHP parseren, maar het is overbodig vind ik.
Allebei fout, de script tag kan wel gebruikt worden voor PHP code: http://phphulp.wouterj.nl/script.php

Maar ik moet wel toegeven dat dit niet helemaal de manier is hoe het hoort.
Het is ongebruikelijk om het in een bestand te zetten, lastig eerder gezegd als je het mij vraagt.

Waarom maak je geen gebruik van een database? Dat houdt alles netter en ook sneller volgens mij.
ben ook juist aan gastenboek bezig maar zit ook een foutje in.
Nicky de maeyer op 14/07/2012 21:20:32

ben ook juist aan gastenboek bezig maar zit ook een foutje in.


Succes dan maar met het oplossen daarvan...
Ben nog steeds druk bezig om een goede oplossing te vinden! Maar in ieder geval heel erg bedankt voor de reacties!
Nog steeds een gastenboek zonder database?

Als je wil ...
Dit is een gastenboek, met een bestand.
"gasten.htm" eerst aanmaken (leeg is goed) !

Je kan je voorstellen dat een database interessanter is; het biedt veel meer mogelijkheden.
Maar ik denk dat dit wel functioneert.
Er is geen bescrerming tegen spam; geen "edit" of "delete" knop ...


<?php
  $file = 'gasten.htm';  // file waar de records worden geschreven/gelezen.  Maak deze file eerst aan!
  $messages = file_get_contents($file);
  
  if ($_SERVER['REQUEST_METHOD'] == 'POST'
    && isset($_POST['username'], $_POST['email'], $_POST['message']) 
  ) {
    $now = date_create('now');  // genereert een datetime object
    
    $record = '
    <div class="record">
      <span class="username">' . htmlentities($_POST['username']) . '</span>
      <span class="email">' . htmlentities($_POST['email']) . '</span>
      <span class="time">' . $now->format('d/m/Y H:i:s') . '</span>
      <div class="message">' . nl2br(htmlentities($_POST['message'])) . '</div>
    </div>';
    file_put_contents(
      $file,
      $messages . $record  // ofwel zet je $record voor $messages
    );
    // we willen niet dat de POST actief blijft.  Hiervoor hebben we header('location...')
    header('location: index.php');  //naar de juiste plaats sturen ...
  }
?>
<html>
  <head>
    <style>
      .record {
        border: 1px solid grey;
        margin: 2px;
        padding: 3px;
      }
    </style>
  </head>
  <body>
    <form action="" method="post">
      <input name="username"> Naam <br>
      <input name="email"> e-mail <br>
      <textarea name="message"></textarea> <br>
      <input type="submit" value="GO">
    </form>
    <div id="messages"><?php echo $messages; ?></div>
  </body>
</html>


... en uiteraard verder stylen. Voel je ook vrij om de HTML anders in te delen.
Kris Peeters op 17/07/2012 12:35:32

Nog steeds een gastenboek zonder database?

Als je wil ...
Dit is een gastenboek, met een bestand.
"gasten.htm" eerst aanmaken (leeg is goed) !

Je kan je voorstellen dat een database interessanter is; het biedt veel meer mogelijkheden.
Maar ik denk dat dit wel functioneert.
Er is geen bescrerming tegen spam; geen "edit" of "delete" knop ...

... en uiteraard verder stylen. Voel je ook vrij om de HTML anders in te delen.


Dankje Kris! Ik zit zelf steeds meer te twijfelen wat ik het beste kan doen! De site is nl. niet voor mij en iemand moet dit makkelijk kunnen onderhouden (die totaal geen verstand hier van heeft) Heb jij evt nog een idee hierover?
Ik heb wel een idee, GEBRUIK EEN DATABASE!

Reageren