login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Simpel gastenboekje

Offline KiLLuM - 01/05/2005 11:58
Avatar van KiLLuMNieuw lid hallo, ik ben gisteren even bezig geweest met een simpel gastenboekje te proberen maken..
ik denk dat de code redelijk klopt ...

  1. <?php
  2. $root = "../";
  3.  
  4. //Begin gastenboek
  5. //naam, email & website
  6. //form
  7. echo "<form method=\"post\" action=\"index_guestbook.php?page=gbook/messages\">";
  8. echo "Name: <input type=\"text\" maxlenght=\"20\" name=\"naam\"><br>";
  9. echo "Email: <input type=\"text\" maxlenght=\"50\" name=\"email\"><br>";
  10. echo "Website: <input type=\"text\" maxlenght=\"200\" name=\"web\"><br>";
  11. echo "<hr>";
  12. echo "Message: <input type=\"text\" maxlenght=\"300\" name=\"bericht\"><br>";
  13. echo "<input type=\"submit\" name=\"sub\">";
  14. echo "</form>";
  15. echo "<br><br>";
  16. echo "<hr>";
  17. echo "<H1>Messages:</H1><br>";
  18. echo "<hr>";
  19.  
  20.  
  21. //Hier switch functie om gbook/msg te openen
  22. $page = $_GET['page'];
  23. switch($page) {
  24. case "gbook/messages": include "g_msg.inc.php" ; break;
  25. case "gbook/index": include "g_index.inc.php" ; break;
  26. case "gbook/admin": include "g_adm.inc.php" ; break;
  27. case "gbook/new": include "g_new.inc" ; break;
  28. }
  29. ?>
  30.  
  31.  
  32. <?php
  33. //Message file omzetten naar var.
  34. $msg = "g_msg.txt";
  35. //Form fields omzetten naar variablen
  36. $naam = $_GET['naam'];
  37. $email = $_GET['email'];
  38. $web = $_GET['web'];
  39. $bericht = $_GET['bericht'];
  40.  
  41. //openen, schrijven, lezen
  42. if (file_exists('$msg')) {
  43. $open = fopen($msg, "a") or die ('File open Failed!!');
  44. fwrite("$open,"."Message by:"."$naam"."\n<br>Email:"."$email"."\n<br>Website:"."$email"."\n<br>Message:"."$bericht"."\n<br><hr>");
  45. $count=fgets($open);
  46. fputs($open,$count);
  47. fclose($open);
  48. } else {
  49. echo "Guestbook not available";
  50. }
  51. ?>


Dus als ik het run op mijn site ... geeft hij guestbook not available 

16 antwoorden

Gesponsorde links
Offline Frederic - 01/05/2005 12:04
Avatar van Frederic PHP ver gevorderde doe eens
Offline KiLLuM - 01/05/2005 12:09
Avatar van KiLLuM Nieuw lid nee, dan geeft hij als fout

parse error, unexpected T_STRING, expecting '(' on line 57

line 57:
  1. if file_exists($msg) {
Offline CelestialCelebi - 01/05/2005 12:10
Avatar van CelestialCelebi PHP gevorderde
  1. <?php
  2. if(file_exists($sMessage))
  3. {
  4. // ..
  5. }
  6. ?>
Offline KiLLuM - 01/05/2005 12:18 (laatste wijziging 01/05/2005 12:19)
Avatar van KiLLuM Nieuw lid Thx celestial.. nu geeft hij geen fout meer maar
als ik nu een bericht intyp dan toont hij niks:s

Edit: ik heb het txt file veranderd naar
  1. g_msg.inc.php

en de ruimte waar je het bericht moest intypen was een text veld ipv een textarea
Offline KiLLuM - 01/05/2005 12:41
Avatar van KiLLuM Nieuw lid Kan je eigenlijk met php in een php bestand schrijven en dan weer inlezen ??
Offline CelestialCelebi - 01/05/2005 12:48
Avatar van CelestialCelebi PHP gevorderde
Citaat:
Kan je eigenlijk met php in een php bestand schrijven en dan weer inlezen ??

Ja, dat kan.
Offline KiLLuM - 01/05/2005 13:02 (laatste wijziging 01/05/2005 13:02)
Avatar van KiLLuM Nieuw lid dan zou dit moeten lukken:
  1. //form
  2. echo "<form method=\"post\" action=\"index_guestbook.php?page=gbook/messages\">";
  3. echo "Name: <input type=\"text\" maxlenght=\"20\" name=\"naam\"><br>";
  4. echo "Email: <input type=\"text\" maxlenght=\"50\" name=\"email\"><br>";
  5. echo "Website: <input type=\"text\" maxlenght=\"200\" name=\"web\"><br>";
  6. echo "<hr>";
  7. echo "Message: <textarea rows=\"40\" name=\"msg\" cols=\"40\"></textarea><br>";
  8. echo "<input type=\"submit\" name=\"sub\">";
  9. echo "</form>";
  10. echo "<br><br>";
  11. echo "<hr>";
  12. echo "<H1>Messages:</H1><br>";
  13. echo "<hr>";


schrijven:
  1. <?php
  2. //Message file omzetten naar var.
  3. $msg = "g_msg.inc.php";
  4. //Form fields omzetten naar variablen
  5. $naam = $_GET['naam'];
  6. $email = $_GET['email'];
  7. $web = $_GET['web'];
  8. $bericht = $_GET['bericht'];
  9.  
  10. //openen, schrijven, lezen
  11. if (file_exists($msg)) {
  12. $open = fopen($msg, "a") or die ('File open Failed!!');
  13. fwrite("$open,"."Message by:"."$naam"."\n<br>Email:"."$email"."\n<br>Website:"."$email"."\n<br>Message:"."$bericht"."\n<br><hr>");
  14. fclose($open);
  15. } else {
  16. echo "Guestbook not available";
  17. }
  18. ?>


als ik nou wil controleren als iemand wel alle vakjes invult..
verander ik dan de variabelen zoals:
  1. $naam = $_GET['naam'];
  2. $email = if (isset($_GET['email'])) { ...; ??
  3. $web = $_GET['web'];
  4. $bericht = $_GET['bericht'];
Offline CelestialCelebi - 01/05/2005 13:04
Avatar van CelestialCelebi PHP gevorderde ? $naam = $_GET['naam']?

$email = if..?

Dat kan allemaal niet 

Maar zoals je je code hebt opgebouwd is 't wel goed.. Alleen nogal wat schoonheidsfouten 
Offline KiLLuM - 01/05/2005 15:00
Avatar van KiLLuM Nieuw lid Schoonheidsfouten ? hmm
ik heb nu nog een paar dingen aangepast

line 59:
  1. fwrite("$open . ", " . Message by:"."$_POST['naam'] . ", ".\n<br>Email: .", " . $_POST['email'] . ", " . \n<br>Website: . ", " . $_POST['web'] . ", " . \n<br>Message: . ", " . $_POST['bericht'] . ", " . \n<br><hr> ");


dan geeft hij een fout:
  1. Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING on line 59
Offline KiLLuM - 01/05/2005 15:24
Avatar van KiLLuM Nieuw lid iemand idee wat er aan mis is ??:'(
Offline Thomas - 01/05/2005 15:27
Avatar van Thomas Moderator
Citaat:
Kan je eigenlijk met php in een php bestand schrijven en dan weer inlezen ??


Ja dat kan ... (zoals Celeb zei)

... maar het is een van de slechtste programmeer-wijzen die er is...

Self modifying code... *brr*
That's a definite no-no !
Offline KiLLuM - 01/05/2005 15:51 (laatste wijziging 01/05/2005 18:07)
Avatar van KiLLuM Nieuw lid hoe moet je het dan wel doen ??

ik weet alleen maar van iets opslaan in .txt .php & in .htm/.html

maar in .txt file moet je dan alles weer oproepen om te kunnen inlezen

in .php is handiger vind ik dan moet ik maar includen

en in .html/.htm kan je toch geen php code instoppen
dus hoe zou het anders moeten ? :p

---------

daarmee weetek nu nog geen antwoord op dit:
ik heb nu nog een paar dingen aangepast

line 59:
  1. fwrite("$open . ", " . Message by:"."$_POST['naam'] . ", ".\n<br>Email: .", " . $_POST['email'] . ", " . \n<br>Website: . ", " . $_POST['web'] . ", " . \n<br>Message: . ", " . $_POST['bericht'] . ", " . \n<br><hr> ");


dan geeft hij een fout:

  1. Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING on line 59


heeelp  PLZZZZZZZZZZZZZZZZZZZ :'(
Offline CelestialCelebi - 01/05/2005 18:11
Avatar van CelestialCelebi PHP gevorderde Je kunt overal PHP code in stoppen.. Maar of 't ook geparsed wordt is een tweede.. 

Met kleuren:
  1. <?php
  2. fwrite("$open . ", " . Message by:"."$_POST['naam'] . ", ".\n<br>Email: .", " . $_POST['email'] . ", " . \n<br>Website: . ", " . $_POST['web'] . ", " . \n<br>Message: . ", " . $_POST['bericht'] . ", " . \n<br><hr> ");
  3. ?>
Offline KiLLuM - 01/05/2005 18:20
Avatar van KiLLuM Nieuw lid wat je nu getoond hebt is toch juist hetzelfde of het mijne ???:s
Offline prorsoft - 02/05/2005 19:19 (laatste wijziging 02/05/2005 19:21)
Avatar van prorsoft PHP gevorderde altijd je quotes goed gebruiken.
  1. <?php
  2. fwrite($open,"Message by: ".$_POST['naam'] . ",\n<br>Email: ".$_POST['email'].",\n<br>Website: " . $_POST['web'] . ",\n<br>Message:".$_POST['bericht'].",\n<br><hr>");
  3. ?>

zo moetie het doen.
Offline lilj - 03/05/2005 13:23
Avatar van lilj Nieuw lid <?php
fwrite($open,"Message by: ".$_POST['naam'] . ",\n<br>Email: ".$_POST['email'].",\n<br>Website: " . $_POST['web'] . ",\n<br>Message:".$_POST['bericht'].",\n<br><hr>");
?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.349s