Probleme Sur Création d'un jeux en ligne

Probleme Sur Création d'un jeux en ligne - PHP - Programmation

Marsh Posté le 01-02-2009 à 19:00:25    

alors j'ai un petit probleme concernent le php.
 
Je suis actuellement en train de créer un jeu en ligne avec un pote et j'ai un petit probleme pour la page d'inscription
 
Le probleme c'est que je rentre toujours le bon pseudo et ca m'affiche le message comme quoi je ne suis pas inscrit (message provisoire) = domage
 
[cpp]<?php
session_start();
require 'zone_membres_conf.php';
 
// connexion BDD
 mysql_connect($mysql_host,$mysql_login,$mysql_passe) OR die('<p>Connexion impossible à la base de données. Réessayez plus tard.</p>');
 mysql_select_db($mysql_base) OR die('<p>Impossible de sélectionner la base</p>');
 
 $requete_pseudo = mysql_query(' SELECT pseudo FOR membres WHERE pseudo ='  .$_POST['form_login']. '');
 $requete_mdp = mysql_query(' SELECT passe FOR membres ');
 $requete_style = mysql_query(' SELECT style FOR membres ');
 $pseudo_login = mysql_query('SELECT pseudo, passe, style FOR membres');
 
 
 $afficher_style = mysql_query('SELECT style FOR membres');
 
 
 
 
 
 
 
 
 
if(isset ($_POST['form_login']) AND isset($_POST['choix'] ) AND isset ($_POST['form_passe']))
{
 if ( $_POST['form_login'] != NULL AND $_POST['choix'] !=NULL AND $_POST['form_passe'] !=NULL )
 {
   if( ($_POST['form_login']) !== ($requete_pseudo))
   
   {
 
    echo ' domage ';
   }
   
   else
   {
    echo 'heyllo ' .$_POST['form_login']. ' .' ;
   }  
 }  
 else
 {
  echo 'votre connexion a échouer, peut-être que vous n\'avez pas remplis touts les champs';
 }  
}
 
 
 
 
else
{
 echo 'votre connexion a échouer pour une raison inconnue, réessailler plus tard';
}
 
 
 
 
 
?>
 
[/ccp]

Reply

Marsh Posté le 01-02-2009 à 19:00:25   

Reply

Marsh Posté le 01-02-2009 à 19:03:28    

ouch  

  • manque les mysql_fetch_array(  ou mysql_fetch_row )  
  • tu vas chercher tous les mdp/style et login de ta base, sans filtrer par rapport au pseudo rentré  
  • la seule requete ou tu filtre, tu ne protege pas tes bases (remplace $_POST'mavar'] par mysql_real_escape_string($_POST['mavar]) )


---------------

Reply

Marsh Posté le 01-02-2009 à 19:10:17    

flo850 a écrit :

ouch  

  • manque les mysql_fetch_array(  ou mysql_fetch_row )  
  • tu vas chercher tous les mdp/style et login de ta base, sans filtrer par rapport au pseudo rentré  
  • la seule requete ou tu filtre, tu ne protege pas tes bases (remplace $_POST'mavar'] par mysql_real_escape_string($_POST['mavar]) )


Merci de ta réponse.
 
Je suis débutant et je comprend pas tout :
 
A quoi sert mysql_real_escape_string ?
 
Et j'ai essayer d'utiliser les mysql_fetch_array mis je ne sais pas comment

Reply

Marsh Posté le 01-02-2009 à 19:12:46    

la doc de mysql_real_escape_string : http://fr2.php.net/manual/en/funct [...] string.php  
 
les exemples pour mysql_fetch_array : http://fr2.php.net/manual/en/funct [...] -array.php


---------------

Reply

Marsh Posté le 01-02-2009 à 19:14:06    

flo850 a écrit :

la doc de mysql_real_escape_string : http://fr2.php.net/manual/en/funct [...] string.php  
 
les exemples pour mysql_fetch_array : http://fr2.php.net/manual/en/funct [...] -array.php


 
 
Je vais voir ca  ;)

Reply

Marsh Posté le 01-02-2009 à 19:36:24    

BbZ c0nnexion moka a écrit :


 
 
Je vais voir ca  ;)


 
 
Voila j'ai juste mit le mysql_fetch_row mais quoi mettre dans $données ??
 
 while ($données = mysql_fetch_row($requete_pseudo);
 {
 
 
if(isset ($_POST['form_login']) AND isset($_POST['choix'] ) AND isset ($_POST['form_passe']))
{
 if ( $_POST['form_login'] != NULL AND $_POST['choix'] !=NULL AND $_POST['form_passe'] !=NULL )
 {
   if( ($_POST['form_login']) !== ($requete_pseudo))
   
   {
 
    echo ' domage ';
   }
   
   else
   {
    echo 'heyllo ' .$_POST['form_login']. ' .' ;
   }  
 }  
 else
 {
  echo 'votre connexion a échouer, peut-être que vous n\'avez pas remplis touts les champs';
 }  
}
 
 
 
 
else
{
 echo 'votre connexion a échouer pour une raison inconnue, réessailler plus tard';
}
 
}
 
 

Reply

Marsh Posté le 01-02-2009 à 19:53:35    

en fait , tu as pas vraiment compris ce que tu faisais

 

essaye dans cet ordre

Code :
  1. //1-recup des variables + nettoyage + eventuelles verifs
  2.  
  3. //2-requetes dans la table user , pour voir si le compte existe et si le mdp est bon : une seule requete
  4.  
  5. //3-recup des autres données ( style par exemple)

Message cité 1 fois
Message édité par flo850 le 01-02-2009 à 19:53:51

---------------

Reply

Marsh Posté le 01-02-2009 à 20:25:20    

flo850 a écrit :

en fait , tu as pas vraiment compris ce que tu faisais  
 
essaye dans cet ordre

Code :
  1. //1-recup des variables + nettoyage + eventuelles verifs
  2.  
  3. //2-requetes dans la table user , pour voir si le compte existe et si le mdp est bon : une seule requete
  4.  
  5. //3-recup des autres données ( style par exemple)



 
ok merci je vais essayer ca

Reply

Marsh Posté le 02-02-2009 à 17:33:20    

BbZ c0nnexion moka a écrit :


 
ok merci je vais essayer ca


 
Voila mon new code avec des commentaires. Juste 2-3 questions
 
   Sui-je obliger d'utiliser mysql_fetch_row ? Je dois obligatoirement les mettre dans une boucle ? Si oui, où la placer ?
 

Code :
  1. <?php
  2. session_start();
  3. require 'zone_membres_conf.php';
  4. // connexion BDD
  5. mysql_connect($mysql_host,$mysql_login,$mysql_passe) OR die('<p>Connexion impossible à la base de données. Réessayez plus tard.</p>');
  6. mysql_select_db($mysql_base) OR die('<p>Impossible de sélectionner la base</p>');
  7. // création requete mysql
  8. $requete = mysql_query(' SELECT pseudo, passe FOR membres WHERE pseudo ='  .$_POST['form_login']. ' AND WHERE passe=' .$_POST['form_passe'].'');
  9. //récup des variables
  10. $login = $_POST['form_login'];
  11. $passe = $_POST['form_passe'];
  12. $style = $_POST['choix'];
  13. //code
  14. if(isset ($login) AND isset($style ) AND isset ($passe)) //si les variables existe
  15. {
  16. if ( $login != NULL AND $style !=NULL AND $passe !=NULL ) //si elles ne sont pas vides
  17. {
  18.   if( ($login) AND ($passe) !== ($requete)) //si le login et le mdp sont correct
  19.   {
  20.    echo ' domage '; //message provisoire
  21.   }
  22.   else //si les indent. ne sont pas correct
  23.   {
  24.    echo 'heyllo ' .$login. ' .' ; //cette partie contiendra toute lla page du client
  25.   }
  26. }
  27. else //si les variables sont vides
  28. {
  29.  echo 'votre connexion a échouer, peut-être que vous n\'avez pas remplis touts les champs';
  30. }
  31. }
  32. else //si les variables n'éxiste pas
  33. {
  34. echo 'votre connexion a échouer pour une raison inconnue, réessailler plus tard';
  35. }
  36. ?>


Reply

Marsh Posté le 03-02-2009 à 09:09:41    

tu fais un jeu en ligne en étant débutant? bon courage... [:pingouino]

Reply

Marsh Posté le 03-02-2009 à 09:09:41   

Reply

Marsh Posté le 03-02-2009 à 09:38:26    

BbZ c0nnexion moka a écrit :


 
Voila mon new code avec des commentaires. Juste 2-3 questions
 
   Sui-je obliger d'utiliser mysql_fetch_row ? Je dois obligatoirement les mettre dans une boucle ? Si oui, où la placer  


oui  
pas forcement
je suis sur que tu peux  trouver des tutoriaux plus clair que mex explications


---------------

Reply

Marsh Posté le 03-02-2009 à 13:24:44    

SELECT passe FOR membres
 
Y'a rien qui vous choque??? Faudrait déjà à apprendre le SQL de base. C'est pas FOR mais FROM...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 03-02-2009 à 17:47:59    

@rufo > j'allais dire pareil, mais tu a ete plus rapide :)


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 03-02-2009 à 18:12:11    

BbZ c0nnexion moka a écrit :

Code :
  1. $requete = mysql_query(' SELECT pseudo, passe FOR membres WHERE pseudo ='  .$_POST['form_login']. ' AND WHERE passe=' .$_POST['form_passe'].'');


BbZ c0nnexion moka a écrit :

Code :
  1. echo 'heyllo ' //...


BbZ c0nnexion moka a écrit :

Code :
  1. echo 'votre connexion a échouer, peut-être que vous n\'avez pas remplis touts les champs';


BbZ c0nnexion moka a écrit :

Code :
  1. //si les variables n'éxiste pas


BbZ c0nnexion moka a écrit :

Code :
  1. echo 'votre connexion a échouer pour une raison inconnue, réessailler plus tard';



[:blessure]
Faut vraiment que tu revoies les bases du langage SQL et de l'orthographe :/

Reply

Marsh Posté le 03-02-2009 à 18:49:18    


 
 
je le ferait promis ;). mais quand dans l'inscription je m'inscrit ce me met dans le champ 'mdp' de phpmyadmin  
 
8df56d630e88a66460da650242f19550 (mon mdp est censé être 123) 0_o quelqu'un peut m'aider ?

Reply

Marsh Posté le 03-02-2009 à 18:57:02    

du coup quand je met
 

Code :
  1. $requete = mysql_querry('SELECT pseudo, passe FROM membres')
  2. if($_POST['pseudo'] AND $_POST['passe'] == $requete)


 
forcément ca va pas aller ...


Message édité par BbZ c0nnexion moka le 03-02-2009 à 18:57:31
Reply

Marsh Posté le 03-02-2009 à 19:01:46    

c'est normal, le mot de passe est "hashé" en md5 (rechercher "md5" sur google).
Il faut donc hasher l'entrée de l'utilisateur en md5 puis la comparer avec le mdp enregistré dans la base.
Pour hasher une chaine en md5 en PHP :

Code :
  1. $string = md5($string);

Reply

Marsh Posté le 03-02-2009 à 19:20:11    


 
Donc j'ai juste a modifier la page d'inscription en mettent  
 

Code :
  1. $_pseudo = md5($_POST['pseudo']


 
Et idem pour le reste

Reply

Marsh Posté le 03-02-2009 à 19:21:34    

non, seule le mot de passe est hashé ! il n'y a aucun intérêt à hasher un pseudo, surtout qu'il serait irrécupérable !
MD5 est irréversible !

Reply

Marsh Posté le 03-02-2009 à 19:27:08    


 
OULALA tu me prévient juste a tent ! merci beaucoup !  
 
mais pour le style (que je fait choisir sur liste déroulante), il se retrouve lui aussi haché

Reply

Marsh Posté le 03-02-2009 à 19:29:03    

Voila mon code d'inscription (j'ai rajouté les md5)
Ca ne marche toujours pas !  :(  
 

Code :
  1. <?php
  2. session_start();
  3. require 'zone_membres_conf.php';
  4. $erreur=0;
  5. if(isset($_GET['action'],$_POST['passe_membre'],$_POST['confirm_mdp'], $_POST['choix']) AND $_POST['passe_membre']===$_POST['confirm_mdp'])
  6. {
  7. if(get_magic_quotes_gpc()===1)
  8. {
  9.  $pseudo=$_POST['pseudo'];
  10.  $passe=md5($_POST['passe_membre']); //md5 rajouté
  11.  $style=md5($_POST['choix']);  //md5 rajouté
  12. }
  13. else
  14. {
  15.  $pseudo=addslashes($_POST['pseudo']);
  16.  $passe=addslashes($_POST['passe_membre']);
  17.  $style=addslashes($_POST['choix']);
  18. }
  19. if(!trim($pseudo) OR !trim($passe))
  20. {
  21.  header('location:zone_membres_inscription.php');
  22.  exit;
  23. }
  24. mysql_connect($mysql_host,$mysql_login,$mysql_passe) OR die('<p>Connexion impossible à la base de données. Réessayez plus tard.</p>');
  25. mysql_select_db($mysql_base) OR die('<p>Impossible de sélectionner la base</p>');
  26. $requete=mysql_query('SELECT COUNT(*) FROM membres WHERE pseudo="'.$pseudo.'"') OR die(mysql_error());
  27. $r=mysql_fetch_row($requete);
  28. if($r[0]!=='0')
  29. {
  30.  mysql_close();
  31.  $erreur=1;
  32. }
  33. else
  34. {
  35.  mysql_query('INSERT INTO membres VALUES("","'.$pseudo.'",md5("'.$passe.'" ),md5("'.$choix.'" ))') OR die(mysql_error()); 
  36.  $_SESSION['login']=$pseudo;
  37.  mysql_close();
  38.  header('location:zone_membres_connexion.php');
  39.  exit;
  40. }
  41. }
  42. if($erreur===1)
  43. {
  44.  echo '<p>Ce pseudo existe déjà. Veuillez en choisir un autre</p>';
  45. }
  46. ?>
  47. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  48. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  49.     <head>
  50.         <title>The Last Star</title>
  51.         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  52.          <body background="CSS/background.jpg">
  53.          <link rel="stylesheet" media="screen" type="text/css" title="Index"href="CSS/inscriptions.css" />
  54.     </head>
  55.     <body>
  56.         <style type="text/css">
  57.     form
  58.     {
  59.     text-align:center;
  60.     }
  61.     </style>
  62.    
  63.        <div id="menu">
  64.    <ul>
  65.    <li><a href="zone_membres_connexion.php">Acceuil</a></li>
  66.    <li><a href="zone_membres_inscription.php">S'inscrire</a></li>
  67.    <li><a href="conditions_utilisation.html">Les règles</a></li>
  68.    </ul>
  69.    </div>
  70.  
  71.    <div id="corps">
  72. <p><b>Inscription au site :</b></p>
  73. <p><b>EN M'INSCRIVANT SUR LE SITE, J'ACCEPTE LES <a href="conditions_utilisation.html">CONDITIONS D'UTILISATION</a></b></p>
  74. <hr />
  75. <form method="post" action="zone_membres_inscription.php?action=ajout">
  76. <p><label for="log">Votre login :</label><br />
  77. <input type="text" name="pseudo" size="20" id="log" /><br />
  78. <p><label for="mdp">Votre mot de passe</label><br/>
  79. <input type="text" name="passe_membre" size="20" id="mdp" /></p>
  80. <p><label for="cmdp">Confirmez votre mot de passe :</label><br />
  81. <input type="text" name="confirm_mdp" size="20" id="cmdp" /></p>
  82. <p><label for="ch">Choisissez votre style:</label><br />
  83. <select name="choix" id="ch">
  84. <option value="mv" name="mv">Mort Vivant</option>
  85. <option value="zombie" name="zombie">Zombie</option>
  86. </select>
  87. <p><input type="submit" value="Inscription" /></p>
  88. </form>


Message édité par BbZ c0nnexion moka le 03-02-2009 à 19:30:40
Reply

Marsh Posté le 03-02-2009 à 19:45:39    

fais attention a ne pas crypter plusieurs fois la même chaine !
Et n'utilise pas la fonction MD5 de mysql, tu devras échapper tes données avant, c'est dommage...
Autre chose : n'utilise pas addslashes qui n'échappe que les guillemets (et pas très bien :o) mais mysql_real_escape_string() ;

Reply

Marsh Posté le 03-02-2009 à 19:48:24    


 
Mais addslash est une fonction php et celle que tu m'a donné une mysql 0_o

Reply

Marsh Posté le 03-02-2009 à 19:50:17    

non :( !
addslashes est une fonction de PHP.
mysql_real_escape_string est une fonction de PHP liée au module mysql
md5 peut être une fonction PHP si elle est appelée de cette façon :

Code :
  1. <?php md5() ?>


Et mysql si elle est appelée dans une requête.

Reply

Marsh Posté le 03-02-2009 à 19:53:34    


 
A ok ca s'éclaircie maintenent ! Mais alors puisque j'ai utiliser md5 dans ma requete, pourquoi ca me met encore en hashé sur phpMyAdmin ??

Reply

Marsh Posté le 04-02-2009 à 09:43:57    

bah parce que le mot de passe est hashé en base du coup [:spamafote]

Reply

Marsh Posté le 04-02-2009 à 13:33:50    

soulmanto a écrit :

bah parce que le mot de passe est hashé en base du coup [:spamafote]


 
Mais comment l'éviter >?

Reply

Marsh Posté le 04-02-2009 à 13:52:04    

pourquoi tu veux l'éviter? c'est un minimum de hasher/crypter un mot de passe en base...

Reply

Marsh Posté le 04-02-2009 à 13:59:57    

soulmanto a écrit :

pourquoi tu veux l'éviter? c'est un minimum de hasher/crypter un mot de passe en base...


 
Oui mais quand je met  
 

Code :
  1. $requete = mysql_querry('SELECT pseudo,passe FROM membres');
  2. if($_POST['pseudo'] AND $_POST['passe'] == $requete);


 
ca ne pourra pas marché puisque le client aura rentré son mdp (123 par exemple) et ds la BDD le mdp du client saura BF464864FJYE4886 par exemple

Reply

Marsh Posté le 04-02-2009 à 14:02:19    

alors il faut faire :
if(md5($_POST['passe']) == $password_en_base)

Reply

Marsh Posté le 04-02-2009 à 14:09:57    

$requete = mysql_querry('SELECT pseudo,passe FROM membres');
 
Va y avoir un pb. Du reste, php ne te jette pas avec un code pareil??? faut qu'un seul r à query et je serais curieux de savoir ce que tu penses que c'est sensé donné comme résultat quand tu fais :
if($_POST['pseudo'] AND $_POST['passe'] == $requete); :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-02-2009 à 14:11:48    

sérieux, avant de te lancer dans le codage d'un jeu, même simple :
1) apprends la modélisation de bases de données + SQL (parce que tu nous a pas montré ton MCD, mais s'il est de la même qualité que ton code, je pense que tu vas avoir des pbs par la suite...)
2) apprends le PHP
3) révises ton orthographe...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-02-2009 à 14:55:11    

rufo a écrit :

$requete = mysql_querry('SELECT pseudo,passe FROM membres');
 
Va y avoir un pb. Du reste, php ne te jette pas avec un code pareil??? faut qu'un seul r à query et je serais curieux de savoir ce que tu penses que c'est sensé donné comme résultat quand tu fais :
if($_POST['pseudo'] AND $_POST['passe'] == $requete); :/


 
bein la requete est (en francais)
 
selectioner le champ pseudo et e champ passe de la table 'membres'
 
et le if  
 
si le mdp et le pseudo rentré sur la page de connexion est juste est égale au champ pseudo et au champ passe de la table membres, afficher le message

Reply

Marsh Posté le 04-02-2009 à 15:30:35    

rufo a écrit :

et je serais curieux de savoir ce que tu penses que c'est sensé donné comme résultat quand tu fais :
if($_POST['pseudo'] AND $_POST['passe'] == $requete); :/


Réponse :

BbZ c0nnexion moka a écrit :

si le mdp et le pseudo rentré sur la page de connexion est juste est égale au champ pseudo et au champ passe de la table membres, afficher le message

[:albertos]  
 [:sh@rdar] : http://www.php.net/manual/fr/langu [...] edence.php
 
Prend le tableau de cette page de haut en bas en mettant des parenthèses pour chaque élément que tu croises et dis nous si c'est bien ce que tu pensais.
 
En plus de ta superbe écriture qui revient à dire un truc du genre "si "prix de la maison" et "prix de la voiture" = "pile de facture" alors ...". [:anathema]  [:roane]

Message cité 1 fois
Message édité par omega2 le 04-02-2009 à 15:33:50
Reply

Marsh Posté le 04-02-2009 à 18:08:00    

omega2 a écrit :


Réponse :


 

omega2 a écrit :

[:albertos]  
 [:sh@rdar] : http://www.php.net/manual/fr/langu [...] edence.php
 
Prend le tableau de cette page de haut en bas en mettant des parenthèses pour chaque élément que tu croises et dis nous si c'est bien ce que tu pensais.
 
En plus de ta superbe écriture qui revient à dire un truc du genre "si "prix de la maison" et "prix de la voiture" = "pile de facture" alors ...". [:anathema]  [:roane]


 
Mais comment il faudrait faire alors ??

Reply

Marsh Posté le 04-02-2009 à 19:32:18    

ben  

Code :
  1. if ($mot_de_passe_en_base == md5($_POST["mot_de_passe_saisi_dans_le_formulaire)) {
  2. //youpi c'est bon
  3. } else {
  4. //crotte c'est pas bon
  5. }


 
Franchement c'est trivial... Avant de te lancer dans quelque projet que ce soit, apprends au moins les bases du PHP, là tu ne comprends même pas ce que tu fais :eek:

Reply

Marsh Posté le 04-02-2009 à 20:02:44    

Voilà mon nouveau code
 

Code :
  1. <?php
  2. session_start();
  3. require 'zone_membres_conf.php';
  4. // connexion BDD
  5. mysql_connect($mysql_host,$mysql_login,$mysql_passe) OR die('<p>Connexion impossible à la base de données. Réessayez plus tard.</p>');
  6. mysql_select_db($mysql_base) OR die('<p>Impossible de sélectionner la base</p>');
  7. // création requete mysql
  8. $requete_passe = ('SELECT passe FROM membres');
  9. $requete_login = ('SELECT login FROM membres');
  10. //récup des variables
  11. $login = $_POST['form_login'];
  12. $passe = $_POST['form_passe'];
  13. $style = $_POST['choix'];
  14. //code
  15. if(isset ($login) AND isset($style ) AND isset ($passe)) //si les variables existe
  16. {
  17. if ( $login != NULL AND $style != NULL AND $passe !=NULL ) //si elles ne sont pas vides
  18. {
  19.   if( $requete_passe == ($_POST['form_passe'] ) //si le mdp est correct
  20.   {
  21.    echo ' salut ' .$login. ' bienvenue'; //message provisoire ( contenue de la page client)
  22.   }
  23.   else
  24.   {
  25.    echo 'dmg';
  26.   }
  27. }
  28. else //si les variables sont vides
  29. {
  30.  echo 'votre connexion a échouer, peut-être que vous n\'avez pas remplis touts les champs';
  31. }
  32. }
  33. else //si les variables n'éxiste pas
  34. {
  35. echo 'votre connexion a échouer pour une raison inconnue, réessailler plus tard';
  36. }
  37. ?>


 
PS: pour l'orthographe, les fautes sont faites 'expré', ce n'est que provisoire
 
PS²: J'ai pas eu besoin de md5, je me suis débrouiller pour que ca ne crypte pas ds la BDD

Message cité 1 fois
Message édité par BbZ c0nnexion moka le 04-02-2009 à 20:07:53
Reply

Marsh Posté le 05-02-2009 à 10:32:15    

Vas lire des tutoriels et apprend.
Là, tu fais n'importe quoi sans savoir comment ça marche. Sans chercher à savoir comment sa marche d'ailleurs.

Reply

Marsh Posté le 05-02-2009 à 11:20:51    

BbZ c0nnexion moka a écrit :

Voilà mon nouveau code
 

Code :
  1. <?php
  2. session_start();
  3. require 'zone_membres_conf.php';
  4. // connexion BDD
  5. mysql_connect($mysql_host,$mysql_login,$mysql_passe) OR die('<p>Connexion impossible à la base de données. Réessayez plus tard.</p>');
  6. mysql_select_db($mysql_base) OR die('<p>Impossible de sélectionner la base</p>');
  7. // création requete mysql
  8. $requete_passe = ('SELECT passe FROM membres');
  9. $requete_login = ('SELECT login FROM membres');
  10. //récup des variables
  11. $login = $_POST['form_login'];
  12. $passe = $_POST['form_passe'];
  13. $style = $_POST['choix'];
  14. //code
  15. if(isset ($login) AND isset($style ) AND isset ($passe)) //si les variables existe
  16. {
  17. if ( $login != NULL AND $style != NULL AND $passe !=NULL ) //si elles ne sont pas vides
  18. {
  19.   if( $requete_passe == ($_POST['form_passe'] ) //si le mdp est correct
  20.   {
  21.    echo ' salut ' .$login. ' bienvenue'; //message provisoire ( contenue de la page client)
  22.   }
  23.   else
  24.   {
  25.    echo 'dmg';
  26.   }
  27. }
  28. else //si les variables sont vides
  29. {
  30.  echo 'votre connexion a échouer, peut-être que vous n\'avez pas remplis touts les champs';
  31. }
  32. }
  33. else //si les variables n'éxiste pas
  34. {
  35. echo 'votre connexion a échouer pour une raison inconnue, réessailler plus tard';
  36. }
  37. ?>


 
PS: pour l'orthographe, les fautes sont faites 'expré', ce n'est que provisoire
 
PS²: J'ai pas eu besoin de md5, je me suis débrouiller pour que ca ne crypte pas ds la BDD


Tu testes ton code avant de poster n'importe quoi ici ?
Parce que, là, ça m'étonnerait que ça fonctionne  :whistle:  
=> Comme tout le monde : apprend les bases (de php, de SQL, du html, de l'algotithmie, etc.), lis des tutoriels, fais des tests sur des petites "applications".
Et prends aussi des cours de français, tes messages sont fatigants à déchiffrer  :fou:  
(Pour mémoire, rappel de la charte :

Citation :

[12] Rédigez vos messages de manière lisible.

)

Reply

Marsh Posté le 05-02-2009 à 13:09:46    

$requete_passe = ('SELECT passe FROM membres');
$requete_login = ('SELECT login FROM membres');
 
Alors :
1) t'as pas besoin de faire 2 requêtes pour récupérer un pauvre login/mdp
2) là, tu récupères tous les logins/mdp de ta base. Utiliser le WHERE pourrait s'avérer utile... :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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