login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[gastenboek] datum probleem en bericht-per-pagina

Offline Bulevardi - 07/11/2007 13:55
Avatar van BulevardiNieuw lid Weet iemand hoe ik dit gastenboek in orde kan krijgen?
Hij geeft elke keer dezelfde datum/uur weer van het moment dat je het gastenboek bekijkt. Bij elk bericht staat dus dezelfde datum/uur.

Weet er ook iemand hoe ik bijvoorbeeld 10 berichten per pagina kan weergeven? En zodat hij automatisch een link naar een tweede/derde/vierde/... pagina genereert?

Dit is het formulier:

  1. <form action="gbscript.php" method="post" >
  2. <br>
  3. <table border="0" cellspacing="0" cellpadding="0">
  4. <tr>
  5. <td>
  6. From: <input name="naam" maxlength="50">
  7. <input name="datum" value="<?php echo date("d-m-Y H:i:s", time()); ?>" type="hidden">
  8. </td>
  9. </tr>
  10. <tr>
  11. <td>
  12. E-mail: <input name="email" maxlength="50">
  13. </td>
  14. </tr><tr>
  15. <td>
  16. Website: <input name="website" maxlength="50">
  17. </td>
  18. </tr>
  19. <tr>
  20. <td>
  21. <textarea name="bericht" rows="3" cols="10" maxlength="600">Typ hier uw bericht!</textarea><br>
  22. <input type="submit" name="submit" value="Bericht plaatsen!">
  23. </td>
  24. </tr>
  25. </table>
  26. </form>


gbscript.php:

  1. <?php
  2. if(isset($_REQUEST['submit'])) {
  3. if(strlen($_REQUEST['naam']) == 0)
  4. {
  5. echo "You forgot to fill in the name of the sender!<br>";
  6. echo "<a href=\"gastenboek.php\">Click here to return</a><br><p>";
  7. }
  8. if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_REQUEST['email']))
  9. {
  10. echo "Incorrect e-mail adress of the sender!<br>";
  11. echo "<a href=\"gastenboek.php\">Click here to return</a><br><p>";
  12. }
  13. $datum = $_REQUEST['datum'];
  14. $bericht = $_REQUEST['bericht'];
  15. $email = $_REQUEST['email'];
  16. $website = $_REQUEST['website'];
  17. $naam = $_REQUEST['naam'];
  18. $bericht = str_replace("\n", "<br>", $bericht);
  19. $sql = "INSERT INTO `gastenboek` ";
  20. $sql .= "(naam, email, website, bericht, datum) ";
  21. $sql .= "VALUES ";
  22. $sql .= "('$naam', '$email', '$website', '$bericht', '$datum') ";
  23. $sql .= "; ";
  24. require_once('mysql_connect.inc.php');
  25. $verbinding = @mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());
  26. mysql_select_db("bulevardibase") or die(mysql_error());
  27. $toegevoegd = mysql_query($sql) or die(mysql_error());
  28. mysql_close($verbinding);
  29.  
  30. // to post the results of the guestbook:
  31.  
  32. if($toegevoegd) {
  33. require_once('mysql_connect.inc.php');
  34. $verbinding = @mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());
  35. mysql_select_db("bulevardibase") or die(mysql_error());
  36. $sql = "SELECT * FROM gastenboek ORDER BY id DESC";
  37. $tonen = mysql_query($sql) or die (mysql_error());
  38.  
  39. while ($rij = mysql_fetch_assoc($tonen)) {
  40. $datum = $rij["datum"];
  41. $naam = $rij["naam"];
  42. $email = $rij["email"];
  43. $website = $rij["website"];
  44. $bericht = $rij["bericht"];
  45. echo $datum ;
  46. echo "<br>";
  47. echo $naam ;
  48. echo "<br>";
  49. echo $website ;
  50. echo "<br>";
  51. echo $bericht ;
  52. echo "<br><hr><br>";
  53.  
  54. }
  55. mysql_close($verbinding);
  56. }
  57. }
  58. else {
  59. echo "Please, fill in the form above!<p><br>";
  60. }
  61. ?>
  62.  
  63. Sponsored Links (We share ad revenue):


Iemand een oplossing? Ik ben je hartelijk dankbaar!

7 antwoorden

Gesponsorde links
Offline Wim - 07/11/2007 13:57 (laatste wijziging 07/11/2007 14:12)
Avatar van Wim Crew algemeen http://www.site...amp;id=767

$bericht = str_replace("\n", "<br>", $bericht);
=>
nl2br();

er is trouwens een mysql-functie NOW() aanwezig, deze geeft de huidige datum & uur in je mysql command, wat je dus bij het toevoegen zal gebruiken in dit geval. veldtype best datetime
Offline Bulevardi - 08/11/2007 13:57
Avatar van Bulevardi Nieuw lid Ok, de datum werkt al...

Nu enkel nog zien dat ik bijvoorbeeld 5 berichten per pagina op mijn scherm krijg...

Ik probeer volgende tutorial:
http://www.phphulp.nl/php/scripts/6/236/

Maar ik krijg altijd volgende error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-5`, `5`' at line 1

Hij geeft wel bovenaan wel al de links weer '1' - '2', ... maar die werken ook niet blijkbaar.

Dan komt er volgende error:

Warning: include(2.php) [function.include]: failed to open stream: No such file or directory ... on line 227

Hoe kan je er voor zorgen dat die meteen een nieuwe pagina aanmaakt?


Ik gebruik volgende code:

  1. ...
  2. $page = isset($_GET['pagina']) ? $_GET['pagina'] : 1;
  3. $message_per_page = 5;
  4. $offset = ($page - 1) * $message_per_page;
  5.  
  6.  
  7. $sql = "SELECT count(*) FROM `gastenboek`";
  8. $res = mysql_query($sql);
  9. $num = mysql_result($res, 0);
  10.  
  11. $page_nummers = ceil($num / $message_per_page);
  12.  
  13. echo '<small>';
  14. for($i=1; $i<=$page_nummers; $i++) {
  15. if($page == $i) { echo ' - <b>'.$i.'</b>'; }
  16. else { echo ' - <a href="index.php?pagina='.$i.'" title="go to page '.$i.'">'.$i.'</a>'; }
  17. }
  18. echo ' -</small><br>';
  19.  
  20. $sql = "SELECT * FROM `gastenboek` ORDER BY `id` DESC LIMIT $offset, $message_per_page";
  21. $res = mysql_query($sql);
  22.  
  23. while ($data = mysql_fetch_array($res)) {
  24.  
  25. ...
Offline jvs - 08/11/2007 15:35
Avatar van jvs HTML beginner Ik denk dat we de fout niet zullen vinden in dit stukje code aangezien er staat "on line 227" en het om een include-fout gaat denk ik
Offline Bulevardi - 08/11/2007 16:07
Avatar van Bulevardi Nieuw lid Door volgend lijntje:
<a href="index.php?pagina='.$i.'"

wil hij de volgende berichten plaatsen op pagina=2 of pagina=3 , ...

Het probleem is dat die pagina's niet bestaan, vandaar dat hij volgende error geeft:

"Warning: include(2.php) [function.include]: failed to open stream: No such file or directory ... "


Als ik blanco files maak en die 2.php en 3.php etc... noem, dan worden die geopend als ik op link '2' of '3' klik, maar dan staat daar niets in.
De volgende berichten worden daar niet in geplaatst...

Offline jvs - 08/11/2007 17:35 (laatste wijziging 08/11/2007 17:47)
Avatar van jvs HTML beginner ik heb snel even een scriptje gemaakt vr het pagina systeem
miss moet je dit even proberen

  1. <?
  2.  
  3.  
  4. $aantalMessages = mysql_query("select count(*) from gastenboek");
  5. $messagesPerPagina = 5;
  6.  
  7. $aantalPaginas = ceil($aantalMessages / $messagesPerPagina);
  8. $offset2 = $messagesPerPagina * $_GET['pagina'];
  9. $offset1 = $offset2 - $messagesPerPagina;
  10.  
  11. $selectMessage = mysql_query("select * from gastenboek order by id desc limit $offset1, $offset2");
  12.  
  13. while ($message = mysql_fetch_object($selectMessage)){
  14.  
  15.  
  16. echo"".$message->titel."<BR />";
  17.  
  18. }
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25. for($i = 1, $i == $aantalPaginas, $i ++){
  26.  
  27.  
  28.  
  29. echo"<a href=\"?pagina=".$i."\">".$i."</a>";
  30.  
  31. }
  32.  
  33. ?>


Tussen quotes is idd het beste   het is al even geleden dat ik nog php heb geschreven
Offline Rens - 08/11/2007 17:45
Avatar van Rens Gouden medaille

Crew algemeen
Ik zou je queries tussen quotes zetten jvs...
Regel 4 en 11.
Offline Bulevardi - 09/11/2007 12:35
Avatar van Bulevardi Nieuw lid Dank je, ... Maar nu blijkt het nog niet te werken. Na enkele errors die ik heb opgelost krijg ik nu het volgende van errors:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-5, 0' at line 1

Ik heb deze code gebruikt:

  1. require_once('mysql_connect.inc.php');
  2. $verbinding = @mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());
  3. mysql_select_db("bulevardibase") or die(mysql_error());
  4.  
  5.  
  6. $sql = "SELECT count(*) FROM `gastenboek`";
  7. $aantalMessages = mysql_query($sql) or die (mysql_error());
  8.  
  9.  
  10. $messagesPerPagina = 5;
  11.  
  12. $aantalPaginas = ceil($aantalMessages / $messagesPerPagina);
  13. $offset2 = $messagesPerPagina * $_GET['inh'];
  14. $offset1 = $offset2 - $messagesPerPagina;
  15.  
  16. $sql = "SELECT * FROM `gastenboek` order by `id` DESC LIMIT $offset1, $offset2";
  17. $tonen = mysql_query($sql) or die (mysql_error());
  18.  
  19.  
  20. while ($message = mysql_fetch_assoc($selectMessage)){
  21.  
  22. echo "".$message->titel."<BR />";
  23.  
  24. $datum = $rij["datum"];
  25. $tijd = $rij["tijd"];
  26. $naam = $rij["naam"];
  27. $email = $rij["email"];
  28. $website = $rij["website"];
  29. $bericht = $rij["bericht"];
  30.  
  31. echo " ". $datum . " at " . $tijd ." ";
  32. echo "<br>";
  33. echo $naam ;
  34. echo "<br>";
  35. echo $website ;
  36. echo "<br>";
  37. echo $bericht ;
  38. echo "<br><hr><br>";
  39.  
  40. }
  41.  
  42. for($i = 1; $i == $aantalPaginas; $i ++){
  43. echo "<a href=\"?pagina=".$i."\">".$i."</a> ";
  44.  
  45. }
  46.  
  47. mysql_close($verbinding);
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.25s