Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1843 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] formulaire fuyard

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] formulaire fuyard

n°2233615
xjames56x
Posté le 18-07-2014 à 09:03:51  profilanswer
 

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
mood
Publicité
Posté le 18-07-2014 à 09:03:51  profilanswer
 

n°2233624
buldozerbe​n
Shizofan !
Posté le 18-07-2014 à 12:25:42  profilanswer
 

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
n°2233632
xjames56x
Posté le 18-07-2014 à 13:40:30  profilanswer
 

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

n°2233633
buldozerbe​n
Shizofan !
Posté le 18-07-2014 à 14:04:15  profilanswer
 

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
n°2233634
xjames56x
Posté le 18-07-2014 à 14:06:42  profilanswer
 

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:

n°2233635
buldozerbe​n
Shizofan !
Posté le 18-07-2014 à 14:07:59  profilanswer
 

Bon courage ;)


---------------
Topic Ach/Vds/Ech jeux vidéo
n°2233637
buldozerbe​n
Shizofan !
Posté le 18-07-2014 à 14:09:23  profilanswer
 

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
n°2233638
xjames56x
Posté le 18-07-2014 à 14:10:29  profilanswer
 

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].

n°2233639
xjames56x
Posté le 18-07-2014 à 14:11:00  profilanswer
 

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

n°2233640
buldozerbe​n
Shizofan !
Posté le 18-07-2014 à 14:30:19  profilanswer
 

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


---------------
Topic Ach/Vds/Ech jeux vidéo
mood
Publicité
Posté le 18-07-2014 à 14:30:19  profilanswer
 

n°2233955
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 24-07-2014 à 08:56:01  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] formulaire fuyard

 

Sujets relatifs
Comment gérer les bases de données en Php?JAVASCRIPT > problème de vérification mail (formulaire)
PHP formulaire de contactTraitement des réponses d'un quiz en Php
Recherche betatesteur pour logiciel d'optimisation PHP/MySQLUSERNAME Windows en PHP
Recherche expert en zend engine & fonctionnement interne de PHP :o[PHP/Javascript] API Google Maps : marqueur ne fonctionne pas
PHP liens 
Plus de sujets relatifs à : [PHP] formulaire fuyard


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR