Un formulaire d'inscription

Un formulaire d'inscription - PHP - Programmation

Marsh Posté le 20-06-2008 à 13:12:32    

Bonjours, sur mon site je veut faire que des membres puissent accéder a une page mais seulement aprés s'être enregistrer. J'ai deja poster sur ce sujet il y a un moment deja et quelqu'un (désolé j'ai oublié ton pseudo et je ne retrouve plus la conversation...) m'a indiqué quelques erreurs. J'ai donc retravaillé mon code et retravaillé mes base, et voila ce qui en est sorti. mais le problème c'est que sa ne marche toujours pas, et la je ne comprend absolument pas pourquoi. voila, merci d'avance :)
 
inscription.php
 

Code :
  1. <?php
  2.    include("menu.php" );
  3.   ?>
  4.   <br/><br/>
  5.   <center>
  6.    <font color=green><u>Accès membres:</u></td><br/></font>
  7.     <form method="post" action="cache.php">
  8.      <font color=grey>Tu veux être membre? C'est par là!<br/></font>
  9.      <table>
  10.      <tr><td><font color=grey>Pseudo :</td><td><input name="pseudo" type="text" size ="20"/></td></tr>
  11.      <tr><td><font color=grey>Mot de passe :</td><td><input name="pass" type="password" size ="20"/></</td></tr>
  12.      <tr><td><font color=grey>Mail :</td><td><input name="mail" type="text"/></td></tr>
  13.      <tr><td><font color=grey>Age :</td><td><select name="age">
  14.      <?php
  15.       for ($age = 10; $age <= 70; $age++)
  16.       {
  17.        echo "<option value=\"choix$age\">$age ans</option>";//boucle pour générer les ages
  18.       }
  19.      ?>
  20.      </select></td></tr>
  21.      <tr><td><font color=grey>Avez-vous lut les conditions d'inscription?</td><td><font color=grey>
  22.       <input type="radio" name="condition" value="oui" /> Oui
  23.       <input type="radio" name="condition" value="non" checked="checked" /> Non</td></tr></table>
  24.      <input type="submit" value="Envoyer" />
  25.     </form>
  26.     <br/><br/>
  27.     <SCRIPT LANGUAGE="JavaScript"> // le scripte qui oblige le visiteur à cliquer sur la condition pour la lire
  28.     var txt=new Array () ;
  29.     txt[1]="<font color=aaaaa><br>En gros quand tu es membre sa te permet d'accéder à cette partie du site,<br/> donc tu confirme être bien majeurs et ne pas être choqué par le contenue de cette page.<br/>Si c'est le cas ne t'en prend qu'à toi même, à oui,<br/> si tu es un trés gros fan et que tu veut absolument voir le contenu,<br/> inscrit toi en compagnie d'un adulte résponsable.<br/> Et si les textes intégraux ou l'ensemble du contenu affiché dans la zone membre vous choque quand même,<br/> et bien vous refusé d'engager toutes poursuites contres les auteurs de ce contenue</font><br/><br/>"
  30.     <?php $ouverture=true ?>;
  31.     txt[2]='<font color=aaaaa><br>Rien en fait...<br/>A si! Le mail est facultatif, c\'est juste par curiosité!</font>';
  32.     function menu(id)
  33.     {
  34.     ref=document.getElementById(id);
  35.     if (ref.innerHTML== "" )
  36.     ref.innerHTML = txt[id];
  37.     else
  38.     ref.innerHTML= "";
  39.     }
  40.     </SCRIPT>
  41.     <a href=# onClick="menu(1);"><IMG src="./cdu.jpg" border=0> </a>
  42.     <DIV id=1></DIV>
  43.     <a href=# onClick="menu(2);"><IMG src="./ai.jpg" border=0></a>
  44.     <DIV id=2></DIV>
  45.    </font>
  46.   </center>
  47.  <br/><br/>
  48.   <!--Google Analitique-->
  49. <script type="text/javascript">
  50. var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www." );
  51. document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E" ));
  52. </script>
  53. <script type="text/javascript">
  54. var pageTracker = _gat._getTracker("UA-4629904-1" );
  55. pageTracker._initData();
  56. pageTracker._trackPageview();
  57. </script>
  58. </body>
  59. </html>


 

cache.php

Code :
  1. <?php
  2.   include("menu.php" );
  3.   ?>
  4.        <?php
  5.      mysql_connect("localhost","root","" ) ;//connexion à la base de données
  6.      mysql_select_db("fp" ) ;//choix de la base de données
  7.      $accepte = "0";
  8.      $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));//mysql_real_escape_string et htmlspecialchars permette d'empêcher aux utilisateur d'insérer un language dans le message, ces fonction permettent donc de sécuriser la base de donné
  9.        if (!$pseudo) {             //affiche  les erreurs sql
  10.        die('Requête2 invalide : ' . mysql_error());
  11.        }
  12.      $pass = mysql_real_escape_string(htmlspecialchars($_POST['pass']));
  13.         if (!$pass) {             //affiche  les erreurs sql
  14.         die('Requête3 invalide : ' . mysql_error());
  15.         }
  16.      $mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
  17.         if (!$mail) {             //affiche  les erreurs sql
  18.         die('Requête4 invalide : ' . mysql_error());
  19.         }
  20.      if (isset($pseudo) AND isset($pass)) //on vérifie si les variables pseudo et pass sont bien renseigné
  21.      {
  22.       $age = $_POST['age']; // on place l'enregistrement dans la variable age
  23.       if (!$age) {             //affiche  les erreurs sql
  24.       die('Requête1 invalide : ' . mysql_error());
  25.       }
  26.       $condition = $_POST['condition']; // De même pour la condition
  27.       if ( $age>=18 AND $condition=='oui' AND $ouverture==true ) //vérification des conditions d'inscription
  28.       {
  29.        $nbre = mysql_query("SELECT COUNT (*) FROM membres WHERE membres.pseudo=$pseudo" );//Compte le nombre de pseudo similaire...
  30.         if (!$nbre) {             //affiche  les erreurs sql
  31.         die('Requête5 invalide : ' . mysql_error());
  32.         }
  33.        $accepte = '1'; //si les conditions sont remplis on attribut 1 a accepter
  34.         if (!$accepte) {             //affiche  les erreurs sql
  35.         die('Requête6 invalide : ' . mysql_error());
  36.         }
  37.        if ($nbre == 0)//... pour créer le compte s'il n'éxiste pas! rui!!  
  38.        {
  39.         mysql_query("INSERT INTO membres(id, pseudo, pass, condition, ouverture, mail, age) VALUES('', '$pseudo', '$pass', '$conditon', '$ouverture', '$mail', '$age')" );// Le compte n'existe pas, il est créer
  40.        }
  41.       }
  42.      }
  43.      if ( $accepte == '1' ) // pour voir vers quel page rediriger
  44.      {
  45.       include("valide.php" );
  46.      }
  47.      else
  48.      {
  49.       include("erreur.php" );
  50.      }
  51.      mysql_close(); // On ferme la la base de donné
  52.     ?>
  53. </body>
  54. </html>

Reply

Marsh Posté le 20-06-2008 à 13:12:32   

Reply

Marsh Posté le 20-06-2008 à 13:14:10    

Le fameux ça marche pas...
 
C'est à dire!?

Reply

Marsh Posté le 20-06-2008 à 14:07:00    

leflos5 a écrit :

Le fameux ça marche pas...
 
C'est à dire!?


 
 
En fait quand tout est rempli correctement, j'e n'accède quand même pas à la partie ou je doit arriver...

Reply

Marsh Posté le 21-06-2008 à 03:50:54    

Ah ok, 3è arbre à droite, tout droit, au fond à gauche :o

Reply

Marsh Posté le 21-06-2008 à 13:19:55    

Salut !
le code est tellement horrible que ca ne donne pas envie de le lire(combien de jours que t'as appris PHP ? )
 
- déjà les bases: les balises <font> et <center> c'était y a 10 ans, de nos jours on est en CSS2
- le script JS n'oblige en rien le visiteur à lire les conditions(le JS ne sert à pas cela !!!!), suffit de désactiver JS sur le naviguatuer
- htmlspecialchars() ne sert qu'a l'affichage, pas à la récupération des données GET/POST
- die() : a bannir aussi
- tes isset ne servent à rien, faut vérifier le contenu des variables, elles existes forcément vu que tu les déclares...(la est ton erreur)
- au lieu de dire que ca ne marche pas, place ton error_reporting en E_ALL et display_errors à On, après tu reviens nous voir


Message édité par Profil supprimé le 21-06-2008 à 13:21:50
Reply

Marsh Posté le 22-06-2008 à 23:12:13    

Merci de vaux réponse et c'est vrai que je débute en php mais j'aimerai bien apprendre et je fais de mon mieux...
 
Et le Css2 c'est quoi et comment sa marche s'il vous plais...
 
donc j'ai modifié les scriptes en tentant de suivre vaux indication et voila ce que sa donne... mais le résultat est le même, sa bug pareil... comment faire?
 
 
cache.php

Code :
  1. <?php
  2.   include("menu.php" );
  3.   ?>
  4.        <?php
  5.      error_reporting(E_ALL); //affiche les erreurs php
  6.      mysql_connect("localhost","root","" ) ;//connexion à la base de données
  7.      mysql_select_db("fp" ) ;//choix de la base de données
  8.      $accepte = "0";
  9.      $pseudo = mysql_real_escape_string($_POST['pseudo']);//mysql_real_escape_string permet d'empêcher aux utilisateur d'insérer un language dans le message, cette fonction permet donc de sécuriser la base de donné
  10.      $pass = mysql_real_escape_string($_POST['pass']);
  11.      $mail = mysql_real_escape_string($_POST['mail']);
  12.       $age = $_POST['age']; // on place l'enregistrement dans la variable age
  13.       $condition = $_POST['condition']; // De même pour la condition
  14.       if ( $age>=18 AND $condition=='oui' ) //vérification des conditions d'inscription
  15.       {
  16.        $nbre = mysql_query("SELECT COUNT (*) FROM membres WHERE membres.pseudo=$pseudo" );//Compte le nombre de pseudo similaire...
  17.        $accepte = '1'; //si les conditions sont remplis on attribut 1 a accepter
  18.        if ($nbre == 0)//... pour créer le compte s'il n'éxiste pas! rui!!  
  19.        {
  20.         mysql_query("INSERT INTO membres(id, pseudo, pass, condition, mail, age) VALUES('', '$pseudo', '$pass', '$conditon', '$mail', '$age')" );// Le compte n'existe pas, il est créer
  21.        }
  22.       }
  23.      if ( $accepte == '1' ) // pour voir vers quel page rediriger
  24.      {
  25.       include("valide.php" );
  26.      }
  27.      else
  28.      {
  29.       include("erreur.php" );
  30.      }
  31.      mysql_close(); // On ferme la la base de donné
  32.     ?>
  33. </body>
  34. </html>


 
 
inscription.php
 

Code :
  1. <?php
  2.    include("menu.php" );
  3.   ?>
  4.   <br/><br/>
  5.   <center>
  6.    <font color=green><u>Accès membres:</u></td><br/></font>
  7.     <form method="post" action="cache.php">
  8.      <font color=grey>Tu veux être membre? C'est par là!<br/></font>
  9.      <table>
  10.      <tr><td><font color=grey>Pseudo :</td><td><input name="pseudo" type="text" size ="20"/></td></tr>
  11.      <tr><td><font color=grey>Mot de passe :</td><td><input name="pass" type="password" size ="20"/></</td></tr>
  12.      <tr><td><font color=grey>Mail :</td><td><input name="mail" type="text"/></td></tr>
  13.      <tr><td><font color=grey>Age :</td><td><select name="age">
  14.      <?php
  15.       for ($age = 10; $age <= 70; $age++)
  16.       {
  17.        echo "<option value=\"choix$age\">$age ans</option>";//boucle pour générer les ages
  18.       }
  19.      ?>
  20.      </select></td></tr>
  21.      <tr><td><font color=grey>Avez-vous lut les conditions d'inscription?</td><td><font color=grey>
  22.       <input type="radio" name="condition" value="oui" /> Oui
  23.       <input type="radio" name="condition" value="non" checked="checked" /> Non</td></tr></table>
  24.      <input type="submit" value="Envoyer" />
  25.     </form>
  26.     <br/><br/>
  27.     <SCRIPT LANGUAGE="JavaScript"> // le scripte qui oblige le visiteur à cliquer sur la condition pour la lire
  28.     var txt=new Array () ;
  29.     txt[1]="<font color=aaaaa><br>En gros quand tu es membre sa te permet d'accéder à cette partie du site,<br/> donc tu confirme être bien majeurs et ne pas être choqué par le contenue de cette page.<br/>Si c'est le cas ne t'en prend qu'à toi même, à oui,<br/> si tu es un trés gros fan et que tu veut absolument voir le contenu,<br/> inscrit toi en compagnie d'un adulte résponsable.<br/> Et si les textes intégraux ou l'ensemble du contenu affiché dans la zone membre vous choque quand même,<br/> et bien vous refusé d'engager toutes poursuites contres les auteurs de ce contenue</font><br/><br/>";
  30.     txt[2]='<font color=aaaaa><br>Rien en fait...<br/>A si! Le mail est facultatif, c\'est juste par curiosité!</font>';
  31.     function menu(id)
  32.     {
  33.     ref=document.getElementById(id);
  34.     if (ref.innerHTML== "" )
  35.     ref.innerHTML = txt[id];
  36.     else
  37.     ref.innerHTML= "";
  38.     }
  39.     </SCRIPT>
  40.     <a href=# onClick="menu(1);"><IMG src="./cdu.jpg" border=0> </a>
  41.     <DIV id=1></DIV>
  42.     <a href=# onClick="menu(2);"><IMG src="./ai.jpg" border=0></a>
  43.     <DIV id=2></DIV>
  44.    </font>
  45.   </center>
  46.  <br/><br/>
  47.   <!--Google Analitique-->
  48. <script type="text/javascript">
  49. var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www." );
  50. document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E" ));
  51. </script>
  52. <script type="text/javascript">
  53. var pageTracker = _gat._getTracker("UA-4629904-1" );
  54. pageTracker._initData();
  55. pageTracker._trackPageview();
  56. </script>
  57. </body>
  58. </html>


Message édité par La_Carcass le 22-06-2008 à 23:46:50
Reply

Marsh Posté le 23-06-2008 à 11:01:21    

c'est à dire?
Tu a une erreur?  
Laquelle?
donne valide.php et erreur.php  
 
et c'est "vos" pas "vaux"
ni "veau" d'ailleurs :)
 
Il y a des optimisation à faire.
exemple:

Code :
  1. $nbre = mysql_query("SELECT COUNT (*) FROM membres WHERE membres.pseudo=$pseudo" );//Compte le nombre de pseudo similaire...


en:

Code :
  1. $query = mysql_query("SELECT count(*) FROM membres WHERE `membres.pseudo` = '$pseudo'" );
  2. $nbre = mysql_result($query,0,0);


 
$accepte moi je mettrai true false, je vérifierai si le membre a été correctement enregistré, je fermerai ma connection mysql après la dernière requête, je libèrerai les résultats avec mysql_free_result, et comme on ta dis le html ... essaie de créer en respectant un type http://validator.w3.org/ si ta firefox cherche l'extension html validator.


Message édité par ouiouioui10 le 23-06-2008 à 11:03:41
Reply

Marsh Posté le 25-06-2008 à 23:18:50    

Bonjours, désolé je suis long a répondre mais j'ai eut quelques problème personnel assez important donc je n'ai pas eut trop de temps pour m'occuper du scripte et du forum...
 

Citation :

Salut !
(...)
- au lieu de dire que ca ne marche pas, place ton error_reporting en E_ALL et display_errors à On, après tu reviens nous voir


 
Pour ce qui est des error_reporting et display_errors je ne connaissai pas et j'ai fais des recherche mais je comprend pas trop où les placer pouvez vous me montrer?
 

Citation :

$accepte moi je mettrai true false, je vérifierai si le membre a été correctement enregistré, je fermerai ma connection mysql après la dernière requête, je libèrerai les résultats avec mysql_free_result, et comme on ta dis le html ... essaie de créer en respectant un type http://validator.w3.org/ si ta firefox cherche l'extension html validator.


 
Qu'est ce que mysql_free_result? Pour ce qui est du respect du type, je m'en occuperai lorsque le formulaire car ce dernier me prend la tête et je veut le finir lol...
 
Les code de valide.php et de erreur.php sont tout con:
 
 
erreur.php
 

Code :
  1. <br/><br/>
  2. casse toi
  3. </body>
  4. </html>


 

valide.php

 

Code :
  1. <br/><br/>
  2. gagné
  3. </body>
  4. </html>


 
Et ci dessou voila inscription.php aprés modification:
 

Code :
  1. <?php
  2.    include("menu.php" );
  3.   ?>
  4.   <br/><br/>
  5.   <center>
  6.    <font color=green><u>Accès membres:</u></td><br/></font>
  7.     <form method="post" action="cache.php">
  8.      <font color=grey>Tu veux être membre? C'est par là!<br/></font>
  9.      <table>
  10.      <tr><td><font color=grey>Pseudo :</td><td><input name="pseudo" type="text" size ="20"/></td></tr>
  11.      <tr><td><font color=grey>Mot de passe :</td><td><input name="pass" type="password" size ="20"/></</td></tr>
  12.      <tr><td><font color=grey>Mail :</td><td><input name="mail" type="text"/></td></tr>
  13.      <tr><td><font color=grey>Age :</td><td><select name="age">
  14.      <?php
  15.       for ($age = 10; $age <= 70; $age++)
  16.       {
  17.        echo "<option value=\"choix$age\">$age ans</option>";//boucle pour générer les ages
  18.       }
  19.      ?>
  20.      </select></td></tr>
  21.      <tr><td><font color=grey>Avez-vous lut les conditions d'inscription?</td><td><font color=grey>
  22.       <input type="radio" name="condition" value="oui" /> Oui
  23.       <input type="radio" name="condition" value="non" checked="checked" /> Non</td></tr></table>
  24.      <input type="submit" value="Envoyer" />
  25.     </form>
  26.     <br/><br/>
  27.     <SCRIPT LANGUAGE="JavaScript"> // le scripte qui oblige le visiteur à cliquer sur la condition pour la lire
  28.     var txt=new Array () ;
  29.     txt[1]="<font color=aaaaa><br>En gros quand tu es membre sa te permet d'accéder à cette partie du site,<br/> donc tu confirme être bien majeurs et ne pas être choqué par le contenue de cette page.<br/>Si c'est le cas ne t'en prend qu'à toi même, à oui,<br/> si tu es un trés gros fan et que tu veut absolument voir le contenu,<br/> inscrit toi en compagnie d'un adulte résponsable.<br/> Et si les textes intégraux ou l'ensemble du contenu affiché dans la zone membre vous choque quand même,<br/> et bien vous refusé d'engager toutes poursuites contres les auteurs de ce contenue</font><br/><br/>";
  30.     txt[2]='<font color=aaaaa><br>Rien en fait...<br/>A si! Le mail est facultatif, c\'est juste par curiosité!</font>';
  31.     function menu(id)
  32.     {
  33.     ref=document.getElementById(id);
  34.     if (ref.innerHTML== "" )
  35.     ref.innerHTML = txt[id];
  36.     else
  37.     ref.innerHTML= "";
  38.     }
  39.     </SCRIPT>
  40.     <a href=# onClick="menu(1);"><IMG src="./cdu.jpg" border=0> </a>
  41.     <DIV id=1></DIV>
  42.     <a href=# onClick="menu(2);"><IMG src="./ai.jpg" border=0></a>
  43.     <DIV id=2></DIV>
  44.    </font>
  45.   </center>
  46.  <br/><br/>
  47. </body>
  48. </html>


 
puis cache.php:
 

Code :
  1. <?phpsession_start();?>
  2.   <?php
  3.   include("menu.php" );
  4.   ?>
  5.        <?php
  6.      error_reporting(E_ALL); //affiche les erreurs php
  7.      $host = "localhost";
  8.      $user = "root";
  9.      $bdd = "fp";
  10.      $passwd  = "";
  11.      // Connexion au serveur
  12.      mysql_connect($host, $user, $passwd) or die("erreur de connexion au serveur" );
  13.      mysql_select_db($bdd) or die("erreur de connexion a la base de donnees" );
  14.      // Les variables:
  15.      $accepte = false;
  16.      $pseudo = $_POST['pseudo'];
  17.      /*Avant: $pseudo = mysql_real_escape_string($_POST['pseudo']);
  18.      mysql_real_escape_string permet d'empêcher aux utilisateur d'insérer un language dans le message, cette fonction permet donc de sécuriser la base de donné*/
  19.      $pass = $_POST['pass'];
  20.      $mail = $_POST['mail'];
  21.      $age = $_POST['age']; // on place l'enregistrement dans la variable age
  22.      $condition = $_POST['condition']; // De même pour la condition
  23.      if ( $age >= 18 AND $condition=='oui' ) //vérification des conditions d'inscription
  24.      {
  25.       $query = mysql_query("SELECT count(*) FROM membres WHERE `membres.pseudo` = '$pseudo'" );
  26.       $nbre = mysql_result($query,0,0);//Compte le nombre de pseudo similaire...
  27.       $accepte = true; //si les conditions sont remplis on attribut 1 a accepter
  28.       if ($nbre == 0)//... pour créer le compte s'il n'éxiste pas! rui!!  
  29.       {
  30.        mysql_query("INSERT INTO $bdd.`membres` ('id', 'pseudo', 'pass', 'condition', 'mail', 'age') VALUES('', '$pseudo', '$pass', '$conditon', '$mail', '$age')" );// Le compte n'existe pas, il est créer
  31.       }
  32.      }
  33.      if ( $accepte == true ) // pour voir vers quel page rediriger
  34.      {
  35.       include("valide.php" );
  36.      }
  37.      else
  38.      {
  39.       include("erreur.php" );
  40.      }
  41.      mysql_close(); // On ferme la la base de donné
  42.     ?>
  43. </body>
  44. </html>


 
Donc j'ai tenter de suivre vos conseil et la mon problème est le suivant, quoi que je face je retombe sur la page erreur.php alors que je veut atteindre valide.php quand tout est ok...


Message édité par La_Carcass le 25-06-2008 à 23:54:09
Reply

Marsh Posté le 26-06-2008 à 23:02:31    

Il faut peut être prendre le problème en arrière
Tu tombes sur erreur.php parceque $accepte n'est pas égale à true
$accepte n'est pas égal à true parceqye $age != 18 et $condifiotn != oui
 

Code :
  1. echo "<option value=\"choix$age\">$age ans</option>";//boucle pour générer les ages


 
je ne pense pas que $_POS['age'] soit égal à 18 si tu as value=\"choix$age\"
 
mets value=\"$age\"

Reply

Marsh Posté le 27-06-2008 à 11:23:53    

regarde et compare ce que je ferai

 
Code :
  1. <?php
  2. session_start();
  3. error_reporting(E_ALL); //affiche les erreurs php
  4. //magic_quotes_gpc ajoute une vérif si activé sur serveur faut mettre ? stripslashes($_POST['pseudo']) :
  5. $pseudo = (isset($_POST['pseudo'])) ? $_POST['pseudo'] : ''; // vérif que $_POST['pseudo'] a une valeur sinon met $pseudo = '';
  6. $pass = (isset($_POST['pass'])) ? $_POST['pass'] : '';
  7. $mail = (isset($_POST['mail'])) ? $_POST['mail'] : '';
  8. $age = (isset($_POST['age'])) ? $_POST['age'] : '';
  9. $condition = (isset($_POST['condition'])) ? $_POST['condition'] : 'non'; // vérif que $_POST['condition'] a une valeur sinon met $condition = '';
  10. $error = '';
  11. include('menu.php');
  12. if ($condition != 'oui') {
  13. $error .= 'Vous devez accepter les conditions<br />';
  14. }
  15. if ($pass == '') {// ajouter verif longueur pass cractères et si pas pareil que pseudo pour une meilleur sécu
  16. $error .= 'Vous devez spécifier un mot de passe<br />';
  17. }
  18. if ($mail == '') {//ajouter verif si mail valide
  19. $error .= 'Vous devez mettre un email<br />';
  20. }
  21. if ($age < 18) {
  22. $error .= 'majeur vous devez être petite biloute!<br />';
  23. }
  24. if ($_POST['pseudo'] != '') { //Verif taille caractères espaces ?
  25. // Connexion au serveur
  26. $db['host'] = 'localhost';
  27. $db['dbname'] = 'fp';
  28. $db['user'] = 'root';
  29. $db['pass']  = '';/* metre l'array $db dans un config.inc.php et l'inclure serait plus pratique! attention ton config.inc.php doit etre un fichier php! <?php array ?>*/
  30. mysql_connect($db['host'], $db['user'], $db['pass']) or die('Connection au serveur MySQL impossible - ' . mysql_error());
  31. mysql_select_db($db['dbname']) or die('Selection de la base impossible - ' . mysql_error());
  32. unset($db);
  33. $requete = sprintf("SELECT count(*) FROM membres WHERE `pseudo` = '$s'", mysql_real_escape_string($_POST['pseudo']));
  34. $query = mysql_query($requete);
  35. $nbre = mysql_result($query, 0, 0);//Compte le nombre de pseudo similaire...
  36. if ($nbre != 0) {
  37.  $error .= 'Ce pseudo existe déjà<br />';
  38. }
  39. } else {
  40. $error .= 'Vous devez spécifier un pseudo<br />';
  41. }
  42. if ($error == '') {
  43. //quel interet d'inserer condition car pour l'insertion il doit etre à oui ?
  44. $requete = sprintf("INSERT INTO `membres` (`pseudo`, `pass`, `condition`, `mail`, `age`) VALUES('%s', '%s', 'oui', '%s', '%d')", mysql_real_escape_string($_POST['pseudo']), mysql_real_escape_string($_POST['pass']), mysql_real_escape_string($_POST['mail']), mysql_real_escape_string($_POST['age']));
  45. $query = mysql_query($requete);
  46. //ajouter verif insertion et connecté membre? toi ki voit
  47. mysql_close(); // On ferme la la base de donné
  48. echo '<br/><br/>
  49. gagné';
  50. } else {
  51. echo '<br/><br/>
  52. ERREUR: ' . $error;
  53. }
  54. ?>
  55. </body>
  56. </html>
 

g pas testé


Message édité par ouiouioui10 le 01-07-2008 à 13:17:17
Reply

Marsh Posté le 27-06-2008 à 11:23:53   

Reply

Marsh Posté le 27-06-2008 à 14:34:11    

Merci beaucoup a tout le monde :)
 
J'avais bien une erreur à age comme disait giHefca.
 
Et pour le scripte de ouiouioui10 merci beaucoup :)
J'ai regarder et j'ai a peut pret compris comment il fonctionne, par contre je ne comprend pas la variable $s.
Et mon ordi non plus car il affiche une erreur a ce niveau, donc j'ai tenté en remplacant les $s par les noms des variables et la sa fonctionne niquel sauf pour un point: rien ne s'inscrit au niveau de la base de donné :(

Reply

Marsh Posté le 28-06-2008 à 02:34:00    

La_Carcass a écrit :

Merci beaucoup a tout le monde :)
 
J'avais bien une erreur à age comme disait giHefca.
 
Et pour le scripte de ouiouioui10 merci beaucoup :)
J'ai regarder et j'ai a peut pret compris comment il fonctionne, par contre je ne comprend pas la variable $s.
Et mon ordi non plus car il affiche une erreur a ce niveau, donc j'ai tenté en remplacant les $s par les noms des variables et la sa fonctionne niquel sauf pour un point: rien ne s'inscrit au niveau de la base de donné :(


remplace ses $s par des %s ca marchera beaucoup mieux
si tu avais un peu de jugeote, tu serais allé sur php.net pour savoir comment utiliser sprintf...

Reply

Marsh Posté le 28-06-2008 à 05:34:18    

avant de corriger le code, faudrait d'abord corriger le français

Citation :


En gros quand tu es membre sça te permet d'accéder à cette partie du site,<br/> donc tu confirmes être bien majeurs et ne pas être choqué par le contenue de cette page.<br/>Si c'est le cas ne t'en prends qu'à toi même, àah oui,<br/> si tu es un tréès gros fan et que tu veutx absolument voir le contenu,<br/> inscrits toi en compagnie d'un adulte réesponsable.<br/> Et si les textes intégraux ou l'ensemble du contenu affiché dans la zone membre vous choque quand même,<br/> et bien vous refuséez d'engager toutes poursuites contres les auteurs de ce contenue</font><br/><br/>


Reply

Marsh Posté le 01-07-2008 à 13:15:08    

oui on va dire la fatigue, j'ai edité. C'est vrai que t'aurai du lire la doc de la fonction ou tu avais une erreur, sa aide avant de tester des trucs.

 

Si rien s'insère regarde du coté de ta base car t'était pas clair pour le nom de la base, table et les champs.

 

ajoute les vérif que je préconise en commentaire si tu veux améliorer.

Message cité 1 fois
Message édité par ouiouioui10 le 01-07-2008 à 13:18:44
Reply

Marsh Posté le 01-07-2008 à 16:47:50    

ouiouioui10 a écrit :

oui on va dire la fatigue, j'ai edité. C'est vrai que t'aurai du lire la doc de la fonction ou tu avais une erreur, sa aide avant de tester des trucs.
 
Si rien s'insère regarde du coté de ta base car t'était pas clair pour le nom de la base, table et les champs.
 
ajoute les vérif que je préconise en commentaire si tu veux améliorer.


ah mais alors j'ai jamais parlé de toi, je parlais de notre jeune padawan qui a créé ce topic dont le code est plein de fautes d'orthographe.

Reply

Marsh Posté le 01-07-2008 à 19:12:55    

oui j'avais compris, je répondait par rapport au message de spike :/ désolé.

Reply

Sujets relatifs:

Leave a Replay

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