Wall posté le Mercredi 9 juillet 2008


code à tester


  1. <?php
  2. session_start();  
  3.  
  4. if(($_SESSION['security_code'] == $_POST['security_code']) && (!empty($_SESSION['security_code'])) ) {  
  5. echo '<div><pre>' ,var_dump($_SESSION),'</pre></div>';  
  6.  
  7. // Insert you code for processing the form here, e.g emailing the submission, entering it into a database.  
  8.  
  9. if (isset($_POST['go']) && $_POST['go']=='Signer') {  
  10. echo '<p>if ligne 10</p>';  
  11. if ((isset($_POST['name'])) && (isset($_POST['email'])) && (isset($_POST['comment']))) {  
  12. echo '<p>if ligne 12</p>';  
  13. // si les 3 variables ne sont pas vides, et si l'adresse E-mail est valide, alors, et seulement dans ce cas, on fera notre insertion dans la base  
  14. if ((!empty($_POST['name'])) && (!empty($_POST['email'])) && (!empty($_POST['comment']))) {  
  15. echo '<p>if ligne 14</p>';  
  16. // on verifie le format de l'adresse E-mail saisie  
  17. $test_mail = eregi ('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)+$', $_POST['email']);  
  18. if ($test_mail) {  
  19. echo '<p>if ligne 18</p>';  
  20.  
  21. // on se connecte à notre base  
  22. $base = mysql_connect ('localhost', 'login', 'pswd');  
  23. $connect_db = mysql_select_db ('my_bdd', $base);  
  24. if ( $connect_db === false) {  
  25. echo '<p>Pas de connection au serveur SQL</p>';  
  26. }  
  27.  
  28.  
  29. // on prepare notre requête d'insertion des données  
  30. $sql = 'INSERT INTO livre_or VALUES("", "'.mysql_escape_string($_POST['name']).'", "'.mysql_escape_string($_POST['email']).'", "'.date("Y-m-d H:i:s").'", "'.mysql_escape_string($_POST['comment']).'")';  
  31.  
  32. // on lance la requête  
  33. mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());  
  34.  
  35. // on ferme la connexion à la base de données  
  36. mysql_close();  
  37.  
  38. // on redirige le visiteur vers l'accueil du livre d'or  
  39. // on utilise le header que quand ont est sûr que le script fonctionne.  
  40. //header('location: index.php');  
  41.  
  42. // on termine le script courant  
  43. // idem que pour le header !  
  44. //exit();  
  45. }  
  46. else {  
  47. $erreur = 'Votre adresse E-mail est invalide.';  
  48. }  
  49. }  
  50. else {  
  51. $erreur = 'Au moins un des champs est vide.';  
  52. }  
  53. }  
  54. else {  
  55. $erreur = 'Les variables nécessaires au script ne sont pas définies.';  
  56. }  
  57. }  
  58. // on entre dans le cas où l'un des trois (au moins) champs n'a pas été rempli ou si l'adresse E-mail n'a pas été validée (en particulier, lorsque le visiteur charge pour la première fois cette page, vu que les 3 champs sont vides, le formulaire s'affichera). On remarque également que l'on met la valeur de chaque champs dans le value (c'est cela qui fait que si le visiteur ne remplit pas entièrement le formulaire et qu'il clique sur "Signer", et bien lorsqu'il sera redirigé vers le formulaire, ce qu'il aura déjà saisi sera conservé  
  59.  
  60. unset($_SESSION['security_code']);  
  61. /*
  62. }
  63.  
  64. else {
  65. // Insert your code for showing an error message here
  66.     echo 'Erreurs internes';
  67. }
  68. */  
  69. ?>
  70. <html>
  71. <head>
  72. <title>My guestbook</title>
  73. </head>
  74. <body>
  75. <form action="insert_signature.php" method="post">
  76. <table>
  77. <tr><td width="97">
  78. <span class="gras">Name:</span>
  79. </td><td colspan="2">
  80. <input type="text" name="name" maxlength="30" size="50" value="<?php if (isset($_POST['name'])) echo htmlentities(trim($_POST['name'])); ?>">
  81. </td></tr><tr><td>
  82. <span class="gras">E-mail address:</span>
  83. </td><td colspan="2">
  84. <input type="text" name="email" maxlength="50" size="50" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>">
  85. </td></tr><tr><td>
  86. <span class="gras">Your comment:</span>
  87. </td><td colspan="2">
  88. <textarea name="comment" cols="50" rows="10"><?php if (isset($_POST['comment'])) echo htmlentities(trim($_POST['comment'])); ?></textarea>
  89. </td></tr>
  90. <tr>
  91. <td><span class="gras">Security code :</span></td>
  92. <td width="86"><label>
  93. <input name="security_code" type="text" tabindex="4" size="5" maxlength="5">
  94. </label></td>
  95. <td width="231"><img src="CaptchaSecurityImages.php?width=100&height=40&characters=5" /></td>
  96. </tr>
  97. <tr><td><td colspan="2" align="right">
  98. <input type="submit" name="submit" value="submit">
  99. </td></tr></table>
  100. </form>
  101. <?php
  102. if (isset($erreur)) echo '<br /><br />',$erreur;  
  103. ?>
  104. </body>
  105. </html> 

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog