login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Gastenboek (Opgelost)

Offline sef - 12/02/2009 22:04 (laatste wijziging 12/02/2009 22:06)
Avatar van sefNieuw lid Hallo allemaal ik heb nu eindelijk captcha in mijn gastenboek alleen werkt het andersom als ik de code ingeef verstuurd hij het bericht niet en zonder de code wel


Wie kan mij helpen;

  1. <?php
  2.  
  3.  
  4. if( isset($_POST['submit'])) {
  5. if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
  6.  
  7. } else {
  8. //Als alles correct is ingevuld gaan we over naar het posten van de gegevens naar de database
  9. mysql_query ("INSERT INTO gastenboek (naam, emailadres, website, bericht, datum) VALUES ('".$_POST['naam']."', '".$_POST['emailadres']."', '".$_POST['website']."', '".$_POST['bericht']."', NOW())") or die (mysql_error());
  10.  
  11. //Om SPAM te vermijden maken we een COOKIE (zie config)
  12. setcookie (Gastenboek, 1, $tijd_cookie);
  13.  
  14. //Na het verzenden sturen we de gebruiker terug naar het gastenboek
  15. header ("location: ".$pagina_lezen);
  16. }
  17.  
  18. } else {
  19.  
  20. unset($_SESSION['security_code']);
  21.  
  22. // Insert your code for showing an error message here
  23. echo 'Sorry, you have provided an invalid security code';
  24. }
  25.  
  26. ?>


vinTage edit: ik weet dat je nieuw bent hier, dus welkom, maar gelieve code tags te gebruiken 

26 antwoorden

Gesponsorde links
Offline rredspike1 - 12/02/2009 22:13 (laatste wijziging 12/02/2009 22:14)
Avatar van rredspike1 Lid Misschien ergens een ! plaatsen? 

Hoe word je security_code aangemaakt dan?
Offline sef - 12/02/2009 22:18 (laatste wijziging 12/02/2009 22:24)
Avatar van sef Nieuw lid In CaptchaSecurityImages.php maar de code krijg ik wel alleen als ik hem invul doet hij het niet en als ik niets invul verstuurd hij gewoon 


Het is het gastenboek van Joël en het werkt voor de rest prima

Sorry vinTage volgende keer let ik erop
Offline Giant - 12/02/2009 23:31 (laatste wijziging 12/02/2009 23:32)
Avatar van Giant PHP beginner
  1. if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
  2.  
  3. } else {
  4. //Als alles correct is ingevuld gaan we over naar het posten van de gegevens naar de database
  5. mysql_query ("INSERT INTO gastenboek (naam, emailadres, website, bericht, datum) VALUES ('".$_POST['naam']."', '".$_POST['emailadres']."', '".$_POST['website']."', '".$_POST['bericht']."', NOW())") or die (mysql_error());
  6.  
  7. //Om SPAM te vermijden maken we een COOKIE (zie config)
  8. setcookie ('Gastenboek', 1, $tijd_cookie);
  9. //Na het verzenden sturen we de gebruiker terug naar het gastenboek
  10. header ("location: ".$pagina_lezen);
  11. }


draai dat eens om 

  1. if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
  2. //Als alles correct is ingevuld gaan we over naar het posten van de gegevens naar de database
  3. mysql_query ("INSERT INTO gastenboek (naam, emailadres, website, bericht, datum) VALUES ('".$_POST['naam']."', '".$_POST['emailadres']."', '".$_POST['website']."', '".$_POST['bericht']."', NOW())") or die (mysql_error());
  4.  
  5. //Om SPAM te vermijden maken we een COOKIE (zie config)
  6. setcookie ('Gastenboek', 1, $tijd_cookie);
  7. //Na het verzenden sturen we de gebruiker terug naar het gastenboek
  8. header ("location: ".$pagina_lezen);
  9. } else {
  10.  
  11. }


zo dus 

edit: zo te zien miste je ook wat (single)quotes...
Offline sef - 13/02/2009 00:09 (laatste wijziging 13/02/2009 01:07)
Avatar van sef Nieuw lid Nu werkt het wel maar er komt een error in beeld

Notice: Undefined index: security_code in /home/sefweber/domains/heldensehofzangers.nl/public_html/form.php on line 178 en dat is dus de regel waar de mysql_query staat kijk maar ff op www.heldensehofzangers.nl/gastenboek.php

En bedankt voor de snelle reactie Giant
Offline marten - 13/02/2009 01:01
Avatar van marten Beheerder Controleren van variabelen doe je door gebruik te maken van PHP.net: isset

Je eerste regel van Giant's script wordt dan:

  1. if( isset($_SESSION['security_code']) && ($_SESSION['security_code'] == $_POST['security_code'])) {
Offline sef - 13/02/2009 01:10
Avatar van sef Nieuw lid Hoi marten als ik die regel vervang verandert er niets ik krijg toch die fout melding 
Offline marten - 13/02/2009 01:13
Avatar van marten Beheerder
  1. unset($_SESSION['security_code']);


ook vervangen naar:

  1. if(isset($_SESSION['security_code'])) {
  2. unset($_SESSION['security_code']);
  3. }
Offline sef - 13/02/2009 01:23 (laatste wijziging 13/02/2009 01:50)
Avatar van sef Nieuw lid Sorrie maar dat kan ik ff niet volgen die code staat er niet bij
  1. <?php
  2.  
  3.  
  4. if( isset($_SESSION['security_code']) && ($_SESSION['security_code'] == $_POST['security_code'])) {
  5. //Als alles correct is ingevuld gaan we over naar het posten van de gegevens naar de database
  6. mysql_query ("INSERT INTO gastenboek (naam, emailadres, website, bericht, datum) VALUES ('".$_POST['naam']."', '".$_POST['emailadres']."', '".$_POST['website']."', '".$_POST['bericht']."', NOW())") or die (mysql_error());
  7.  
  8. //Om SPAM te vermijden maken we een COOKIE (zie config)
  9. setcookie ('Gastenboek', 1, $tijd_cookie);
  10. //Na het verzenden sturen we de gebruiker terug naar het gastenboek
  11. header ("location: ".$pagina_lezen);
  12. } else {
  13.  
  14. }
  15.  
  16.  
  17. ?>

Sorrie maar hoe krijg ik dit in code hier neer gezet


vinTage edit: sluit tag vergeten 
Offline ranco - 13/02/2009 11:06
Avatar van ranco PHP gevorderde
  1. <?php
  2.  
  3.  
  4. if( isset($_SESSION['security_code']) && ($_SESSION['security_code'] == $_POST['security_code'])) {
  5. //Als alles correct is ingevuld gaan we over naar het posten van de gegevens naar de database
  6. mysql_query ("INSERT INTO gastenboek (naam, emailadres, website, bericht, datum) VALUES ('".$_POST['naam']."', '".$_POST['emailadres']."', '".$_POST['website']."', '".$_POST['bericht']."', NOW())") or die (mysql_error());
  7.  
  8. //Om SPAM te vermijden maken we een COOKIE (zie config)
  9. setcookie ('Gastenboek', 1, $tijd_cookie);
  10. //Na het verzenden sturen we de gebruiker terug naar het gastenboek
  11. header ("location: ".$pagina_lezen);
  12. } else {
  13.  
  14. if(isset($_SESSION['security_code'])) {
  15. unset($_SESSION['security_code']);
  16. }
  17.  
  18. }
  19.  
  20.  
  21. ?>
Offline nick5556 - 13/02/2009 18:28
Avatar van nick5556 PHP beginner Ik gebruik dit om image te maken:

  1. <?php
  2. header("content-type: image/png");
  3. include("../includes/include.php");
  4. $_SESSION['boh'] = createpass(5, false, false, true);
  5.  
  6. $image = imagecreate(150, 50);
  7. $achtergrond = imagecolorallocate($image, 255, 255, 255);
  8. $grootte = 5;
  9. $tekst = $_SESSION['boh'];
  10. $black = ImageColorAllocate($image, 0, 0, 0);
  11. imagestring($image, $grootte, 5, 25, $tekst, $black);
  12. imagepng($image);
  13. imagedestroy($image);
  14.  
  15. ?>


En dan check ik of $_POST['boh'] gelijk is aan $_SESSION['boh'], als dat zo is, unset $_SESSION['boh'] en stuur je diegene door, en als t niet zo is, dna unset je 'm ook, en dan geef je foutmelding.

PS: de CreatePass functie is hier te vinden: KLIKKO
Offline sef - 14/02/2009 11:58 (laatste wijziging 14/02/2009 12:02)
Avatar van sef Nieuw lid Wie kan mij zeggen wat er fout is aan deze code er staat captcha in maar die werkt niet hij verstuurd met of zonder code
  1. <?php
  2.  
  3. include ("functies.php");
  4. include ("config.php");
  5. ?>
  6.  
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  8. <html>
  9. <head>
  10. <title>Schrijf een bericht in het gastenboek</title>
  11. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  12. <script language="JavaScript">
  13. //Deze functie hebben we later nodig voor de UBB code
  14. function Invoegen(Smiley) {
  15. var edit;
  16. var HuidigeTekst = document.gastenboek.bericht.value;
  17. edit = HuidigeTekst+Smiley+" ";
  18. document.gastenboek.bericht.value=edit;
  19. document.gastenboek.bericht.focus();
  20. return;
  21. }
  22.  
  23. function smiley() {
  24. return;
  25. }
  26. </script>
  27. </head>
  28. <body>
  29. <?php
  30. if (isset($_POST['Security_code'])&&($_POST['Submit'])) {
  31.  
  32. if (!trim($_POST['naam'])) {
  33. $error="Je moet je naam invullen";
  34. }
  35. elseif(!check_email($_POST['emailadres'])) {
  36. $error="Je moet een geldig e-mailadres invullen";
  37. }
  38. elseif (!trim($_POST['bericht'])) {
  39. $error="Je moet een bericht invullen";
  40. }
  41. elseif ($_COOKIE['gastenboek'] == "1") {
  42. $error="Je kan geen bericht posten omdat je er al één hebt gepost";
  43. }
  44.  
  45. //Als er een veld niet is ingevuld of wanneer het e-mailadres niet bestaat komt er een error
  46.  
  47. if ($error != "") {
  48. ?>
  49. <center>
  50. <table class="gastenboek" width="100%" border="1" cellspacing="0" cellpadding="2">
  51. <tr>
  52. <td>
  53. <center>
  54. <b><?=$error?></b><br>
  55. <form method="post" action="javascript:history.go(-1)">
  56. <input type="submit" name="Terug" value="Terug" />
  57. </form>
  58. </center>
  59. </td>
  60. </tr>
  61. </table>
  62. </center>
  63. <?php
  64. } else {
  65. //Als alles correct is ingevuld gaan we over naar het posten van de gegevens naar de database
  66. mysql_query ("INSERT INTO gastenboek (naam, emailadres, website, bericht, datum) VALUES ('".$_POST['naam']."', '".$_POST['emailadres']."', '".$_POST['website']."', '".$_POST['bericht']."', NOW())") or die (mysql_error());
  67.  
  68. //Om SPAM te vermijden maken we een COOKIE (zie config)
  69. setcookie (Gastenboek, 1, $tijd_cookie);
  70.  
  71. //Na het verzenden sturen we de gebruiker terug naar het gastenboek
  72. header ("location: ".$pagina_lezen);
  73. }
  74.  
  75. } else {
  76. ?>
  77. <center>
  78. <form name="gastenboek" action="" method="post">
  79. <table class="gastenboek" width="100%" border="1" cellspacing="0" cellpadding="2">
  80. <tr>
  81. <td height="20" colspan="2"><strong>Bericht posten in het gastenboek:</strong></td>
  82. </tr>
  83. <tr>
  84. <td width="44%">Naam:</td>
  85. <td width="56%">
  86. <input name="naam" type="text" id="naam" size="30" maxlength="50" />
  87. </td>
  88. </tr>
  89. <tr>
  90. <td>Website:</td>
  91. <td>
  92. <input name="website" type="text" id="website" value="http://" size="30" maxlength="50" /><br />
  93. <font style="color: #FF0000">(<strong>niets invullen</strong> als je<strong> geen website</strong> hebt)</font>
  94. </td>
  95. </tr>
  96. <tr>
  97. <td>E-mail adres:</td>
  98. <td>
  99. <input name="emailadres" type="text" id="emailadres" size="30" maxlength="50" />
  100. </td>
  101. </tr>
  102. <tr>
  103. <td align="center" colspan="2">Bericht:</td>
  104. </tr>
  105. <tr>
  106. <td align="center" colspan="2">
  107. <table width="27%" border="0" cellspacing="0" cellpadding="0">
  108. <tr>
  109. <td align="center" height="21" colspan="4"><small><i><b>Smileys:</b></i></small></td>
  110. </tr>
  111. <tr>
  112. <td height="41" width="24%" valign="middle" align="center"><a href="javascript:smiley();" onClick="javascript:Invoegen(':)');"><img src="smileys/blij.gif" width="20" border="0" /></a></td>
  113. <td height="41" width="24%" align="center" valign="middle"><a href="javascript:smiley();" onClick="javascript:Invoegen(':D');"><img src="smileys/tanden.gif" width="20" height="20" border="0" /></a></td>
  114. <td height="41" width="23%" valign="middle" align="center"><a href="javascript:smiley();" onClick="javascript:Invoegen(':P');"><img src="smileys/tong.gif" width="20" height="20" border="0" /></a></td>
  115. <td height="41" width="29%" valign="middle" align="center"><a href="javascript:smiley();" onClick="javascript:Invoegen(';)');"><img src="smileys/knipoog.gif" width="20" height="20" border="0" /></a></td>
  116. <td height="41" width="29%" valign="middle" align="center"><a href="javascript:smiley();" onClick="javascript:Invoegen(';)');"><img src="smileys/eye-popping.gif" width="20" height="20" border="0" /></a></td>
  117. </tr>
  118. <tr>
  119. <td height="36" width="24%" valign="middle" align="center"><a href="javascript:smiley();" onClick="javascript:Invoegen(':cool:');"><img src="smileys/cool.gif" width="20" height="20" border="0" /></a></td>
  120. <td height="36" width="24%" align="center" valign="middle"><a href="javascript:smiley();" onClick="javascript:Invoegen(':s');"><img src="smileys/verward.gif" width="20" height="20" border="0" /></a></td>
  121. <td height="36" width="23%" valign="middle" align="center"><a href="javascript:smiley();" onClick="javascript:Invoegen(':omg:');"><img src="smileys/omg.gif" width="20" height="20" border="0" /></a></td>
  122. <td height="36" width="29%" valign="middle" align="center"><a href="javascript:smiley();" onClick="javascript:Invoegen(':(');"><img src="smileys/droevig.gif" width="20" height="20" border="0" /></a></td>
  123. </tr>
  124. </table>
  125. <br>
  126. <textarea name="bericht" cols="50" rows="10" id="bericht"></textarea><br />
  127. </td>
  128. </tr>
  129. <tr>
  130. <td height="25" colspan="2" align="center"><br>
  131. <img src="CaptchaSecurityImages.php" />
  132. Security Code:
  133. <input name="Security_code" name="security_code" type="text" id="security_code" />
  134. <input name="Submit" type="submit" value="Verzenden" />&nbsp;
  135. <input name="Reset" type="submit" id="Reset" value="Opnieuw" />
  136. </td>
  137. </tr>
  138. </table>
  139. </form>
  140. </center>
  141. <?php
  142. }
  143. ?>
  144. </body>
  145. </html>
[code=php]
Edit; Weet niet meer hoe het zit heb al diverse keren geprobeerd maar ik zie de fout niet
Offline Giant - 14/02/2009 12:02
Avatar van Giant PHP beginner Ik zie nergens waar je je captcha controleert?

een text veld zal altijd gepost worden... leeg of niet.
dus die check of die klopt met de session moet er ook nog bij...
Offline sef - 14/02/2009 12:10 (laatste wijziging 14/02/2009 12:19)
Avatar van sef Nieuw lid He Giant je bent super man het werkt
  1. <?php
  2. if (isset($_POST['Security_code'])&&($_POST['Submit'])) {
  3. if (!trim($_POST['Security_code'])) {
  4. $error="De code is fout";
  5. }
  6. if (!trim($_POST['naam'])) {
  7. $error="Je moet je naam invullen";
  8. }
  9. elseif(!check_email($_POST['emailadres'])) {
  10. $error="Je moet een geldig e-mailadres invullen";
  11. }
  12. elseif (!trim($_POST['bericht'])) {
  13. $error="Je moet een bericht invullen";
  14. }

Edit// Oeps te snel gejuigd als je nu de verkeerde code intoest verstuurd ie ook  
Offline Koen - 14/02/2009 12:30
Avatar van Koen PHP expert Je kijkt ook nergens of de security code klopt 
Offline sef - 15/02/2009 19:45
Avatar van sef Nieuw lid Sorrie sliphead maar ik heb dus helemaal geen ervaring met php vond het al goed van mij dat ik zoveer ben gekomen.Als je mij even zegt hoe ik dat moet doen om de code te controleren zal ik je zeer dankbaar zijn  
Offline Wim - 15/02/2009 19:59
Avatar van Wim Crew algemeen zoals op lijn 5 van je beginscript...?

  1. if( $_SESSION['security_code'] == $_POST['security_code'])
  2. {
  3. //code klopt
  4. }
  5. else
  6. {
  7. //code klopt niet
  8. }
Offline sef - 15/02/2009 21:21
Avatar van sef Nieuw lid Sorrie wimmarien maar dat werkt ook niet heb hem nu zover dat de captcha het doet maar hij geeft nu niet aan als ik een veld vergeten ben www.heldensehofzangers.nl/gastenboek.php hier kun je zien wat hij nu doet,
Offline Koen - 15/02/2009 21:23
Avatar van Koen PHP expert Wat is je huidige script? 
Offline sef - 15/02/2009 21:25 (laatste wijziging 15/02/2009 21:36)
Avatar van sef Nieuw lid Plaatscode: 94070

Citaat:
Sliphead Edit: Heb even je codetags aangepast 

Bedankt maar nu krijh ik deze error te zien Parse error: syntax error, unexpected $end in /home/sefweber/domains/heldensehofzangers.nl/public_html/gastenboek.php on line 323 en dat terwijl daar alleen maar </html> staat
Offline Koen - 15/02/2009 22:58
Avatar van Koen PHP expert Ik heb nog niet de kans gekregen om je script te bekijken en/of aan te passen, ik heb het enkel op plaatscode geplaatst!
Die foutmelding komt dus niet door mij, maar vermoedelijk sluit je een haakje niet goed af!

In je script moet je enkel de check of de captcha gelijk is aan de gegeven code en je moet je POST-waarden (en die sessiewaarde) nog aanpassen, deze kloppen niet met je formulier.
(De index $_POST['index'] moet gelijk zijn aan de naam van het inputveld dus bv: name="index" in het geval van dit voorbeeld!)

Succes 
Offline sef - 16/02/2009 18:43
Avatar van sef Nieuw lid Sorrie sliphead ik zeg ook niet dat de fout door jou komt.
Maar ik heb nu bijna alles geprobeerd en het wil mij niet lukken dus ik geef het op het script dat nu op Plaatscode staat is het script dat ik gebruik en die captcha dat komt ooit wel aan het werken denk ik.
Wil iedereen die mij heeft bijgestaan met raad en daad bedanken. 
Offline thefox - 16/02/2009 19:33 (laatste wijziging 16/02/2009 19:34)
Avatar van thefox Nieuw lid
  1. if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
  2. //ofwel als de serucity code goed is ingeuld en niet leeg wordt dit uitgevoerd
  3. mysql_query ("INSERT INTO gastenboek (naam, emailadres, website, bericht, datum) VALUES ('".$_POST['naam']."', '".$_POST['emailadres']."', '".$_POST['website']."', '".$_POST['bericht']."', NOW())") or die (mysql_error());
  4. setcookie (Gastenboek, 1, $tijd_cookie);
  5. header ("location: ".$pagina_lezen);
  6. } else {
  7. echo "oei jij kunt niet typen of je bent een spammer";
  8. }
Offline Koen - 16/02/2009 20:44
Avatar van Koen PHP expert Haakjes rond elke string!

  1. setcookie('Gastenboek', 1, $tijd_cookie);
Offline sef - 17/02/2009 12:32
Avatar van sef Nieuw lid Weet niet wat ik fout doe maar alles werkt alleen de knop opnieuw werkt niet en hij controleerd de code niet Plaatscode: 94655 dit is het script dat ik gebruik  
Offline Koen - 17/02/2009 12:41
Avatar van Koen PHP expert
  1. <input name="Reset" type="submit" id="Reset" value="Opnieuw" />


Het type hiervan met "reset" zijn, niet "submit"! 
Offline sef - 17/02/2009 13:16 (laatste wijziging 18/02/2009 16:10)
Avatar van sef Nieuw lid Oke bedankt voor je hulp de opnieuw knop werkt nu en nu alleen nog de controle van de captcha goed krijgen
Ik geloof dat ik het heb opgelost dus sluit ik deze topic wil iedereen bedanken die mij heeft geholpen .  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.39s