[PHP] formulaire fuyard

formulaire fuyard [PHP] - PHP - Programmation

Marsh Posté le 18-07-2014 à 09:03:51    

Bonjouuuur !  :bounce:  :bounce:  
Je suis tout nouveau sur ce forum mais voilà j'arrive avec un problème insoluble... J'ai fais un formulaire d'inscription ( :bounce: ) mais une fois que je l'ai mis en ligne en changeant les infirmations de la base de données + en mettant ma table dans ma bdd en ligne, mon formulaire et là mais quoiqu'il se passe dès que je clique sur le bouton "envoyer", plus rien ne fonctionne correctement, mon formulaire (qui contient un include vers le script PHP) disparaît etc... Voici mes codes
Démo.PHP appele signupu.PHP qui appele signup.PHP.  
PS: je suis sur portable et j'ai pas un code très beau, j'espère que vous ne m'en tiendrez pas rigueur..
 
Demo.php

Code :
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Responsive Mobile Menu</title>
  5. <script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
  6. <link rel="stylesheet" href="rmm-css/responsivemobilemenu.css" type="text/css"/>
  7. <script type="text/javascript" src="rmm-js/responsivemobilemenu.js"></script>
  8. <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, user-scalable=1"/>
  9. <meta charset="utf-8"/>
  10. </head>
  11.    <body style="background-color: lightgrey; z-index: 1">
  12. <br />
  13. <?php include("signupu.php" );
  14. echo"yolo";
  15. ?>
  16. <br />
  17. <br />
  18. <br />
  19. <br />
  20. </body>
  21. </html>


 
Signupu.PHP
 

Code :
  1. <?php
  2. //Il faut demarrer la session
  3. include("signup.php" );
  4. ?>
  5. <!DOCTYPE html>
  6. <html>
  7. <head>
  8.         <meta charset="utf-8">
  9.         <link href="compte.css" rel='stylesheet' type='text/css' />
  10.         <meta name="viewport" content="width=device-width, initial-scale=1">
  11.         <script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
  12.         
  13.         <link href='http://fonts.googleapis.com/css?family=Oxygen:400,300,700' rel='stylesheet' type='text/css'>
  14.         
  15. </head>
  16.  
  17. <body>
  18.     <div class="main">
  19.                 
  20.                 
  21.                  <h2>Inscrivez-vous :</h2>
  22.          <?php
  23. if(isset($succes) AND ($succes==true)){?> <script>alert("Félicitations, nous avons enregistré votre inscription ! pour confirmer, veuillez cliquer sur le lien du mail que nous allons envoyer à l'adresse que vous avez renseigné. (Si vous ne trouvez pas le mail, attendez quelques minutes et/ou n'oubliez pas de      vérifier votre boîte de spam)." );
  24. location.href = 'signupu.php';
  25. </script><noscript> Félicitations, nous avons enregistré votre inscription ! pour confirmer, veuillez cliquer sur le lien du mail que nous allons envoyer à l'adresse que vous avez renseigné. (Si vous ne trouvez pas le mail, attendez quelques minutes et/ou n'oubliez pas de      vérifier votre boîte de spam).</noscript><?php ; }
  26.     ?>
  27.                  <form method="post" action="signupu.php">
  28.                             <div class="lable">
  29.                                  <input type="text" class="text" placeholder="Pseudo" name="pseudo" id="pseudo"/>
  30. <?php if (isset($psvide))
  31. echo'<span style="color: red">Cette case n\'as pas été remplie.</span><br />';
  32. if (isset($pspris))
  33. echo'<span style="color: red">Ce pseudo est déjà utilisé par un autre membre déjà inscrit, si il s\'agit de votre compte et que vous souhaitez récuperer vos informations d\'autenthification, <a href="#">cliquez-ici.</a></span><br />';?>
  34.     </div>
  35.      <div class="clear"> </div>
  36.                             <div class="lable-2">
  37.                             <input type="text" class="text" placeholder="votre@email.com"name="email" id="email"/>
  38. <?php if (isset($erremail))
  39. echo'<span style="color: red">Votre adresse email n\'as pas une forme <span style="color : orange">XXX@XX.XX .</span></span><br />';
  40. if (isset($emailvide))
  41. echo'<span style="color: red">Cette case n\'as pas été remplie.</span><br />';
  42. if (isset($emailpris))
  43. echo'<span style="color: red">Cet email est déjà utilisé par un autre membre déjà inscrit, si il s\'agit de votre compte et que vous souhaitez récuperer vos informations d\'autenthification, <a href="#">cliquez-ici.</a></span><br />';?>
  44.                              <input type="password" class="text" placeholder="Mot de passe" name="motdepasse" id="motdepasse"/>
  45. <?php if (isset($mdp1vide))
  46. echo'<span style="color: red">Cette case n\'as pas été remplie.</span><br />';
  47. if (isset($pbsecu))
  48. echo'<span style="color: red">Votre mot de passe n\'est pas assez sécurisé, pour plus de renseignements sur le mot de passe idéal, <a href="#">cliquez-ici .</a></span><br />';?>
  49. <input type="password" class="text" placeholder="Mot de passe" name="motdepasse2" id="motdepasse">
  50. <?php if (isset($mdp2vide))
  51. echo'<span style="color: red">Cette case n\'as pas été remplie.</span><br />';
  52. if (isset($mdpdiff))
  53. echo'<span style="color: red">Les mots de passe sont différents, veuillez recommencer.</span>';?>
  54.                             </div>
  55.                             <div class="clear"> </div>
  56.                              <h3>Pour créer un compte, accepter nos <span><a href="#">Conditions d'utilisations</a> <span></h3>
  57.                                  <div class="submit">
  58.                                     <input type="submit" onclick="myFunction()" value="Créer un compte" name="butto" >
  59.                                 </div>
  60.                                     <div class="clear"> </div>
  61.                              </form>
  62.               
  63.         
  64.          </div>
  65.                       
  66.                 
  67.     
  68. </body>
  69. </html>


 
 
Et enfin le script (signup.PHP)
 

Code :
  1. <?php
  2. function testpassword ($mdpp){
  3. $point=0;
  4. $longueur = strlen($mdpp); for($i = 0; $i < $longueur; $i++)     {     // On sélectionne une à une chaque lettre     // $i étant à 0 lors du premier passage de la boucle
  5.     $lettre = $mdpp[$i];     if ($lettre>='a' && $lettre<='z'){         // On ajoute 1 point pour une minuscule         
  6. $point = $point + 1;         // On rajoute le bonus pour une minuscule
  7.     $point_min = 1;     }     else if ($lettre>='A' && $lettre <='Z'){         // On ajoute 2 points pour une majuscule         
  8. $point = $point + 2;         // On rajoute le bonus pour une majuscule
  9. $point_maj = 2;     }     else if ($lettre>='0' && $lettre<='9'){         // On ajoute 3 points pour un chiffre         
  10. $point = $point + 3;         // On rajoute le bonus pour un chiffre         
  11. $point_chiffre = 3;     }     else {         // On ajoute 5 points pour un caractère autre         
  12. $point = $point + 5;         // On rajoute le bonus pour un caractère autre         
  13. $point_caracteres = 5;     } } // Calcul du coefficient points/longueur
  14. $etape1 = $point / $longueur; // Calcul du coefficient de la diversité des types de caractères...
  15. $etape2 = $point_min + $point_maj + $point_chiffre + $point_caracteres; // Multiplication du coefficient de diversité avec celui de la longueur
  16. $resultat = $etape1 * $etape2; // Multiplication du résultat par la longueur de la chaîne
  17. $final = $resultat * $longueur; return $final; }
  18. if (isset($_POST['butto']))
  19. {
  20. if (!empty($_POST['pseudo']) AND !empty($_POST['email']) AND !empty($_POST['motdepasse'])AND !empty($_POST['motdepasse2']))
  21. {
  22. if($_POST['motdepasse']!=$_POST['motdepasse2'])
  23. {$mdpdiff=true;
  24. if(preg_match('#^[\w.-]+ [\w.-]+\.[a-z]{2,6}$#i', $_POST['email'])){}
  25. else {
  26. $erremail=true;
  27. }
  28. include("cobdd.php" );
  29. $sql = $bdd->prepare('SELECT pseudo FROM connexion WHERE pseudo = \''.$_POST['pseudo'].'\';');
  30. $sql->execute(array('.$pseudo.' => $_POST['pseudo']));
  31. $res = $sql->fetch();
  32. if ($res)
  33. {$pspris=true;}
  34. else{}
  35. include("cobdd.php" );
  36. $sql = $bdd->prepare('SELECT email FROM connexion WHERE email = \''.$_POST['email'].'\';');
  37. $sql->execute(array('.$email.' => $_POST['email']));
  38. $res = $sql->fetch();
  39. if ($res)
  40. {$emailpris=true;}
  41. else{}
  42. $indice= testpassword($mdpp);
  43. if ($indice<100)
  44. {$pbsecu=true;}
  45. else{}}
  46. else
  47. {
  48. $mdpp=$_POST['motdepasse'];
  49. $pseudo = htmlspecialchars(stripslashes(trim($_POST['pseudo'])));
  50.    $email = htmlspecialchars(stripslashes(trim($_POST['email'])));
  51. $email2=
  52. htmlspecialchars(stripslashes(trim(sha1(md5($_POST['email'])))));
  53.     $motdepasse = htmlspecialchars(stripslashes(trim(sha1(md5($_POST['motdepasse'])))));
  54. if (preg_match('#^[\w.-]+@[\w.-]+\.[a-z]{2,6}$#i', $email)){
  55. include("cobdd.php" );
  56. $sql = $bdd->prepare('SELECT pseudo FROM connexion WHERE pseudo = \''.$pseudo.'\';');
  57. $sql->execute(array('.$pseudo.' => $_POST['pseudo']));
  58. $res = $sql->fetch();
  59. if ($res)
  60. {$pspris=true;
  61. include("cobdd.php" );
  62. $sql = $bdd->prepare('SELECT email FROM connexion WHERE email = \''.$_POST['email'].'\';');
  63. $sql->execute(array('.$email.' => $_POST['email']));
  64. $res = $sql->fetch();
  65. if ($res)
  66. {$emailpris=true;}
  67. else{}
  68. $indice=@testpassword($mdpp);
  69. if ($indice<100)
  70. {$pbsecu=true;}
  71. else{}
  72. }
  73. else{
  74. include("cobdd.php" );
  75. $sql = $bdd->prepare('SELECT email FROM connexion WHERE email = \''.$email.'\';');
  76. $sql->execute(array('.$email.' => $_POST['email']));
  77. $res = $sql->fetch();
  78. if ($res)
  79. {$emailpris=true;
  80. $indice=@testpassword($mdpp);
  81. if ($indice<100)
  82. {$pbsecu=true;}
  83. else{
  84. }}
  85. else
  86. {
  87. $indice=@testpassword($mdpp);
  88. if ($indice<100)
  89. {$pbsecu=true;}
  90. else{
  91. include("cobdd.php" );
  92. $req=$bdd->prepare("INSERT INTO connexion(pseudo, email, email2, motdepasse, heure) VALUES (:pseudo, :email, :email2, :motdepasse, NOW())" );
  93. $req->execute (array('pseudo'=> $pseudo,'email'=>$email,
  94. 'email2'=>$email2, 'motdepasse'=>$motdepasse));
  95. $succes=true;
  96.         
  97.  
  98.            //Déconnexion à BDD
  99.            $bdd = null;
  100. $mailo = $mail; // Déclaration de l'adresse de destination.
  101. if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui présentent des bogues.
  102. {
  103.     $passage_ligne = "\r\n";
  104. }
  105. else
  106. {
  107.     $passage_ligne = "\n";
  108. }
  109. //=====Déclaration des messages au format texte et au format HTML.
  110. $pseudoo='nom='.$pseudo;
  111. $mdpoo='mdp=' .$email2;
  112. $url="http://le-new-journal.hol.es/responsivemobilemenu/activ.php?$pseudoo&$mdpoo";
  113. $message_txt = "Pour valider votre compte cliquer sur le lien suivant :
  114. $url ,
  115. si le lien n'est pas cliquable, copiez-le puis collez-le dans la barre de navigation de votre navigateur";
  116. $message_html = "<html><head></head><body><p>Pour valider votre inscription veuillez cliquer sur le lien suivant : <a href=\"$url\">ici</a></p></body></html>";
  117. //==========
  118.  
  119. //=====Lecture et mise en forme de la pièce jointe.
  120. //==========
  121.  
  122. //=====Création de la boundary.
  123. $boundary = "-----=".md5(rand());
  124. $boundary_alt = "-----=".md5(rand());
  125. //==========
  126.  
  127. //=====Définition du sujet.
  128. $sujet = "Validation de votre inscrption";
  129. //=========
  130.  
  131. //=====Création du header de l'e-mail.
  132. $header = "From: \"Le-Nouveau-Journal\"<ostef56@gmail.com>".$passage_ligne;
  133. $header.= "Reply-to: \"Le-Nouveau-Journal\" <ostef56@gmail.com>".$passage_ligne;
  134. $header.= "MIME-Version: 1.0".$passage_ligne;
  135. $header.= "Content-Type: multipart/mixed;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
  136. //==========
  137.  
  138. //=====Création du message.
  139. $message = $passage_ligne."--".$boundary.$passage_ligne;
  140. $message.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary_alt\"".$passage_ligne;
  141. $message.= $passage_ligne."--".$boundary_alt.$passage_ligne;
  142. //=====Ajout du message au format texte.
  143. $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
  144. $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
  145. $message.= $passage_ligne.$message_txt.$passage_ligne;
  146. //==========
  147.  
  148. $message.= $passage_ligne."--".$boundary_alt.$passage_ligne;
  149.  
  150. //=====Ajout du message au format HTML.
  151. $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
  152. $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
  153. $message.= $passage_ligne.$message_html.$passage_ligne;
  154. //==========
  155.  
  156. //=====On ferme la boundary alternative.
  157. $message.= $passage_ligne."--".$boundary_alt."--".$passage_ligne;
  158. //==========
  159.  
  160.  
  161.  
  162. $message.= $passage_ligne."--".$boundary.$passage_ligne;
  163.  
  164. //=====Ajout de la pièce jointe.
  165. $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
  166. //==========
  167. //=====Envoi de l'e-mail.
  168. mail($mail,$sujet,$message,$header);
  169. $_SESSION['tkt1']=$pseudo;
  170. $_SESSION['tkt2']=$email2;
  171.     //destruction des variables pour éviter le spam
  172.             unset($pseudo);
  173.             unset($email);
  174.             unset($motdepasse);
  175. //==========
  176. }
  177. }
  178. }
  179. }else {
  180. $erremail=true;
  181. include("cobdd.php" );
  182. $sql = $bdd->prepare('SELECT pseudo FROM connexion WHERE pseudo = \''.$_POST['pseudo'].'\';');
  183. $sql->execute(array('.$pseudo.' => $_POST['pseudo']));
  184. $res = $sql->fetch();
  185. if ($res)
  186. {$pspris=true;}
  187. else{}
  188. $indice=@testpassword($mdpp);
  189. if ($indice<100)
  190. {$pbsecu=true;}
  191. else{}
  192. }}}
  193. else{
  194. if (empty($_POST['pseudo']))
  195. {$psvide=true;}
  196. else{} if($_POST['motdepasse']!=$_POST['motdepasse2'])
  197. {$mdpdiff=true;}
  198. else{}
  199. if (preg_match('#^[\w.-]+@[\w.-]+\.[a-z]{2,6}$#i', $_POST['email'])){}
  200. else {
  201. $erremail=true;
  202. }
  203. include("cobdd.php" );
  204. $sql = $bdd->prepare('SELECT email FROM connexion WHERE email = \''.$_POST['email'].'\';');
  205. $sql->execute(array('.$email.' => $_POST['email']));
  206. $res = $sql->fetch();
  207. if ($res)
  208. {$emailpris=true;}
  209. else{}
  210. $indice=testpassword($mdpp);
  211. if ($indice<100)
  212. {$pbsecu=true;}
  213. else{}
  214. if (empty($_POST['email']))
  215. {$emailvide=true;}
  216. else{}
  217. if($_POST['motdepasse']!=$_POST['motdepasse2'])
  218. {$mdpdiff=true;}
  219. else{}
  220. include("cobdd.php" );
  221. $sql = $bdd->prepare('SELECT pseudo FROM connexion WHERE pseudo = \''.$_POST['pseudo'].'\';');
  222. $sql->execute(array('.$pseudo.' => $_POST['pseudo']));
  223. $res = $sql->fetch();
  224. if ($res)
  225. {$pspris=true;}
  226. else{}
  227. $indice=@testpassword($mdpp);
  228. if ($indice<100)
  229. {$pbsecu=true;}
  230. else{}
  231. if (empty($_POST['motdepasse']))
  232. {$mdp1vide=true;}
  233. else{}
  234. if($_POST['motdepasse']!=$_POST['motdepasse2'])
  235. {$mdpdiff=true;}
  236. else{}
  237. if (preg_match('#^[\w.-]+@[\w.-]+\.[a-z]{2,6}$#i', $_POST['email'])){}
  238. else {
  239. $erremail=true;
  240. }
  241. include("cobdd.php" );
  242. $sql = $bdd->prepare('SELECT pseudo FROM connexion WHERE pseudo = \''.$_POST['pseudo'].'\';');
  243. $sql->execute(array('.$pseudo.' => $_POST['pseudo']));
  244. $res = $sql->fetch();
  245. if ($res)
  246. {$pspris=true;}
  247. else{}
  248. include("cobdd.php" );
  249. $sql = $bdd->prepare('SELECT email FROM connexion WHERE email = \''.$_POST['email'].'\';');
  250. $sql->execute(array('.$email.' => $_POST['email']));
  251. $res = $sql->fetch();
  252. if ($res)
  253. {$emailpris=true;}
  254. else{}
  255. if (empty($_POST['motdepasse2']))
  256. {$mdp2vide=true;}
  257. else{}
  258. if (preg_match('#^[\w.-]+@[\w.-]+\.[a-z]{2,6}$#i', $_POST['email'])){}
  259. else {
  260. $erremail=true;
  261. }
  262. include("cobdd.php" );
  263. $sql = $bdd->prepare('SELECT pseudo FROM connexion WHERE pseudo = \''.$_POST['pseudo'].'\';');
  264. $sql->execute(array('.$pseudo.' => $_POST['pseudo']));
  265. $res = $sql->fetch();
  266. if ($res)
  267. {$pspris=true;}
  268. else{}
  269. include("cobdd.php" );
  270. $sql = $bdd->prepare('SELECT email FROM connexion WHERE email = \''.$_POST['email'].'\';');
  271. $sql->execute(array('.$email.' => $_POST['email']));
  272. $res = $sql->fetch();
  273. if ($res)
  274. {$emailpris=true;}
  275. else{}
  276. $indice=@testpassword($mdpp);
  277. if ($indice<100)
  278. {$pbsecu=true;}
  279. else{}
  280. }}
  281. else
  282. { }?>


Message édité par gilou le 18-07-2014 à 11:56:23
Reply

Marsh Posté le 18-07-2014 à 09:03:51   

Reply

Marsh Posté le 18-07-2014 à 12:25:42    

Salut,
 
il me semble voir une erreur d'entrée ...
 
Tu mets un include avec  
 

Code :
  1. include("signupu.php" );

 
 
et de suite après dans ton fichier signupu.php tu commences par un

Code :
  1. session_start();


Il me semble qu'il ne faut rien du tout avant un session_start(); Vu que là il est inclus, il passe après le head de la page qui l'inclue.
 
Si tu as un serveur maison regarde les erreurs dans tes logs cela t'aidera surement.
 
Bon courage !


---------------
Topic Ach/Vds/Ech jeux vidéo
Reply

Marsh Posté le 18-07-2014 à 13:40:30    

Donc tu me conseilles de mettre le session_start() dans démo.PHP?
Je crois que tu es un génie merci <3

Reply

Marsh Posté le 18-07-2014 à 14:04:15    

Oui, de faire en sorte que ton session_start(); soit toujours avant tout ton code.
 
Tu as testé ?


---------------
Topic Ach/Vds/Ech jeux vidéo
Reply

Marsh Posté le 18-07-2014 à 14:06:42    

Oui sa n'as rien résolu mais j'ai trouvé le log (je savais pas où c'était sur mon portable ;-)) et aussi... Le problème venait de ma connexion à la bdd (sa je l'ai su quand j'ai modifier la version de PHP en ligne ^^)
Enfin bref merci :bounce: :bounce:

Reply

Marsh Posté le 18-07-2014 à 14:07:59    

Bon courage ;)


---------------
Topic Ach/Vds/Ech jeux vidéo
Reply

Marsh Posté le 18-07-2014 à 14:09:23    

Par contre, dernier truc, si tu fais un include d'une autre page, ne mets pas les balises <html><head></head><body> ... ça va faire doublon !


---------------
Topic Ach/Vds/Ech jeux vidéo
Reply

Marsh Posté le 18-07-2014 à 14:10:29    

Merci à toi en tout cas, tu es le premier à m'avoir fourni une vraie réponse efficace en sdz et phpfrance, sur ce forum la mise en forme du code est possible depuis le portable et de manière bien plus souple que sur OpenClassroom et autre...
Bref merci à tous, et n'oubliez pas.
UN JOUR JE SERAI LE MEILLEUR [insérer votre rêve].

Reply

Marsh Posté le 18-07-2014 à 14:11:00    

Oui oui du coup j'ai commencer a corriger sa aussi ^^

Reply

Marsh Posté le 18-07-2014 à 14:30:19    

http://stkr.es/p/zu8
 
http://stkr.es/p/zu2
 
;)  
 
Bon dév :D


---------------
Topic Ach/Vds/Ech jeux vidéo
Reply

Marsh Posté le 18-07-2014 à 14:30:19   

Reply

Marsh Posté le 24-07-2014 à 08:56:01    

Tu includes signupu.php alors que ton fichier s'appelle signupu.PHP  :??:  
 
Sous windows ca passe, pas sous linux.


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed