login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Gastenboek met verschillende pagina's

Offline Goemans - 26/03/2009 19:31 (laatste wijziging 26/03/2009 19:31)
Avatar van GoemansNieuw lid Ik heb met de tutorial van deze site geprobeerd om mijn gastenboek in te delen in verschillende pagina's, maar wanneer ik nu mijn gastenboek open komt er een blanco pagina. Het formulier om een bericht achter te laten is er nog wel. Ook wanneer je dat invult en verstuurd kom je weer op een pagina die leeg is afgezien van die tekstvakken. Ik heb gekeken bij phpmyadmin en de informatie wordt wel degelijk opgeslagen in de database. Er is dus waarschijnlijk een probleem bij de output.

  1. <?php
  2. include('config.php');
  3. $query = mysql_query("SELECT COUNT(id) FROM post") or die("query:". mysql_error());
  4. $items_totaal = mysql_result($query, 0);
  5. $items_per_pagina = 5;
  6. $aantal_paginas = ceil($items_totaal / $items_per_pagina);
  7. $huidige_pagina = 0;
  8. if(isset($_GET['p']) && is_numeric($_GET['p']) && $_GET['p'] > 0 && $_GET['p'] < $aantal_paginas) {
  9. $huidige_pagina = $_GET['p'];
  10. }
  11. $offset = $huidige_pagina * $items_per_pagina;
  12. $output = mysql_query("SELECT * FROM post ORDER BY id DESC LIMIT ".
  13. $offset.",".$items_per_pagina)
  14. or die("output:". mysql_error());
  15.  
  16. ?>
  17.  
  18. <?php
  19.  
  20.  
  21. while ($output = mysql_fetch_assoc($query))
  22. {
  23. print ($output['auteur'] . " " . "-" . " ");
  24. print ($output['email'] . "<br />");
  25. print (stripslashes($output['bericht']));
  26. print ("<hr />");
  27. }
  28. if(isset($_POST['verzenden']))
  29. {
  30.  
  31.  
  32. mysql_query("INSERT INTO post (auteur, email, bericht) VALUES ('".$_POST['auteur']."','".$_POST['email']."','".$_POST['bericht']."')") or die (mysql_error());
  33. header('Location: '.$_SERVER['PHP_SELF']);
  34. print "Je bericht is succesvol toegevoegd";
  35. }
  36. else
  37. {
  38. ?>
  39. <center>
  40. <form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
  41. Voornaam: <br><input type="text" name="auteur"><br />
  42. E-mail: <br><input type="text" name="email"><br />
  43. Bericht: <br><textarea name="bericht" rows="5" cols="30">Typ hier je bericht</textarea><br />
  44. <input type="submit" name="verzenden" value="verzenden">
  45. </form> </center>
  46. <?php
  47. }
  48. ?>

1 antwoord

Gesponsorde links
Offline skillat2 - 26/03/2009 21:39
Avatar van skillat2 HTML beginner Regel 13 veranderen naar:
  1. $query = mysql_query("SELECT * FROM post ORDER BY id DESC LIMIT ".

Je roept op regel 23 namelijk met mysql_fetch_assoc $query op.

Verder kan ik je aanraden je script meer leesbaar te maken dmv. tabs en commentaar. Dan kan je het zelf later ook makkelijker lezen.

Bij het toevoegen van een bericht wordt er niet gekeken of de ingevulde velden goed zijn ingevuld.

Check o.a. of de velden ingevuld zijn en voor het email adres kan je checken of het een geldig e-mail adres is.
  1. <?php
  2. if(empty($_POST['auteur']))
  3. {
  4. echo 'Auteur is niet ingevuld.';
  5. }
  6. else
  7. {
  8. $auteur = mysql_escape_string($_POST['auteur']);
  9. # hier je QUERY, ipv. $_POST waarde gebruik je $auteur
  10. }
  11. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.187s