Problème base de donnée dans PHP

Fermé
neede Messages postés 424 Date d'inscription dimanche 11 juillet 2010 Statut Membre Dernière intervention 12 avril 2015 - 18 févr. 2013 à 16:56
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 - 18 févr. 2013 à 17:30
Bonjour,

Je suis débutant dans la création de site web, et réalise mon premier projet PHP ayant besoin de base de données.
C'est une sorte de serveur destiné uniquement à un groupe de personnes, et n'est pas du tout destiné au grand publique. De ce fait, j'ai créer des comptes utilisateurs.
Une fois le mot de passe entrer, la page suivant d'exécute jusqu'à...la ligne concernant l'ouverture de ma base de donnée...

Vous pouvez tester sur "http://asserver.franceserv.com" avec l'indentifiant "dimitri" et le mot de passe "test"

Voici le code de ma page :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>AS Server</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<link rel="stylesheet" href="style.css" />
    </head>
	
	<header>
		<?php include("includes/header.php"); ?>
	</header>
	
    <body>
     
    <?php
		
		$host = 'sql.franceserv.com'; 
		$base = 'asserver_db1';
		$login = 'xxxxxx';
		$pwd = 'xxxxx';
		
	$db = mysql_connect($host, $login, $pwd);
	
	$db->query('SELECT identifiant, password FROM membres WHERE identifiant=\'' . $_POST['identifiant_membre'] . '\'');
	
    if ($_POST['identifiant_membre'] == $donnees['identifiant'] && $_POST['password_membre'] == $donnees['password']) // Si le mot de passe est bon
    {
    // On affiche les codes
    ?>
        <h1>Serveur en cours d'élaboration</h1>
	<?php
    }
    else // Sinon, on affiche un message d'erreur
    {
	?>
			<script>
				alert('Identifiant ou mot de passe incorect, veuillez vous re-loguer');
			</script>
	<?php
		print ("<script language = \"JavaScript\">"); 
		print ("location.href = 'index.php';"); 
		print ("</script>");
    }
	
	mysql_close($db);
    ?>
     
         
    </body>
	<footer>
		<?php include("includes/footer.php"); ?>
	</footer>
</html>






J'ai déja fait pas mal de recherche, mais sans succés, donc je poste finalement (je précise que ce n'est pas un projet à but lucratif et que je fait sa bénévolement...)

Bonne journée

1 réponse

xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
Modifié par xamurai le 18/02/2013 à 17:31
1- ou as tu initialiser la variable $donnees ?

2- une fois que tu recois la reponse de ta BDD, tu n'as plus besoin de verifier l'identifiant, juste le password

 function verifieUser($identifiant , $password) 
{ 
    // verifier que identifiant et pass ne son pas null 
    if( in_array( $identifiant , array("" , null)) 
        OR  in_array( $password , array("" , null)) 
     ) { 
          return false; 
      } 

       //preparer la requette 
       $requette = "SELECT 'password' FROM 'membres' WHERE 'identifiant' ='{$identifiant}';" 

      $host = 'sql.franceserv.com';  
      $base = 'asserver_db1'; 
       $login = 'xxxxxx'; 
       $pwd = 'xxxxx'; 
      //initialiser BDD 
       $connection = mysql_connect($host, $login, $pwd) or die('initialisation impossible '.mysql_error()); 
     // selection du Schema (base) 
     $db_selected = mysql_select_db($base, $connection) or die ('selection de la base de donnée impossible: ' . mysql_error()); 
     
// lancer la requette 

$query = mysql_query($requette ,  $db_selected ); 
$array_result = mysql_fetch_assoc($query); 

//verification 
 if(isset($array_result['password']) AND $password === $array_result['password']) { 
  return true; 
} 

return false; 

} 



maintenant dans ton code HTML ou tout en haut:

 
       <?php 
            $identifiant = $_POST['identifiant']; 
            $password = $_POST['password']; 
           
            $is_valid_user = verifieUser($identifiant , $pass); 

            if(false === $is_valid_user ) 
          { 
             // c'est un faut  
           } 
           else 
          { 
               // c'est un vrai 
           } 




      ?> 
0