Php probleme

yannic81 -  
 Nass2 -
Bonjour,
j'ai crée un formulaire qui envoie les donné a la bdd correctement ensuite j'ai crée une page login.php ou il y une connexion et quand la connexion est etablie est que sa reidrige la personne sa arrive sur une page ou il me dise error pouver vous me dire se qui va pas

voci ma page login.php :
<html>
<head>
<title>Connexion au site</title>
</head>
<body>
<form method="post" action="verifLogin.php">
<table border="0" width="400" align="center">
<tr>
<td width="200"><b>Vôtre login</b></td>
<td width="200">
<input type="text" name="login">
</td>
</tr>
<tr>
<td width="200"><b>Vôtre mot de passe<b></td>
<td width="200">
<input type="password" name="password">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value="login">
</td>
</tr>
</table>
</form>
</body>
</html>

et voici ma page verifLogin.php :

<?php
// On démarre la session
session_start();
$loginOK = false; // cf Astuce

// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {

extract($_POST); // je vous renvoie à la doc de cette fonction

// On va chercher le mot de passe afférent à ce login
$sql = "SELECT pseudo, age, sexe, ville, mdp FROM user WHERE login = '".addslashes($login)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);

// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);

// On vérifie que son mot de passe est correct
if ($password == $data['mdp']) {
$loginOK = true;
}
}
}

// Si le login a été validé on met les données en sessions
if ($loginOK) {
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['age'] = $data['age'];
$_SESSION['sexe'] = $data['sexe'];
$_SESSION['ville'] = $data['ville'];
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
?>

merci
Configuration: Windows XP
Internet Explorer 7.0

11 réponses

  1. pyschopathe Messages postés 2053 Statut Membre 137
     
    Tu peux reposter le code avec les balises < code>< /code> stp, c'est beaucoup plus confortable à lire...
    0
  2. yannic81
     
    voci ma page login.php : 
    <html> 
    <head> 
    <title>Connexion au site</title> 
    </head> 
    <body> 
    <form method="post" action="verifLogin.php"> 
    <table border="0" width="400" align="center"> 
    <tr> 
    <td width="200"><b>Vôtre login</b></td> 
    <td width="200"> 
    <input type="text" name="login"> 
    </td> 
    </tr> 
    <tr> 
    <td width="200"><b>Vôtre mot de passe<b></td> 
    <td width="200"> 
    <input type="password" name="password"> 
    </td> 
    </tr> 
    <tr> 
    <td colspan="2"> 
    <input type="submit" name="submit" value="login"> 
    </td> 
    </tr> 
    </table> 
    </form> 
    </body> 
    </html> 
    
    et voici ma page verifLogin.php : 
    
    <?php 
    // On démarre la session 
    session_start(); 
    $loginOK = false; // cf Astuce 
    
    // On n'effectue les traitement qu'à la condition que 
    // les informations aient été effectivement postées 
    if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) { 
    
    extract($_POST); // je vous renvoie à la doc de cette fonction 
    
    // On va chercher le mot de passe afférent à ce login 
    $sql = "SELECT pseudo, age, sexe, ville, mdp FROM user WHERE login = '".addslashes($login)."'"; 
    $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql); 
    
    // On vérifie que l'utilisateur existe bien 
    if (mysql_num_rows($req) > 0) { 
    $data = mysql_fetch_assoc($req); 
    
    // On vérifie que son mot de passe est correct 
    if ($password == $data['mdp']) { 
    $loginOK = true; 
    } 
    } 
    } 
    
    // Si le login a été validé on met les données en sessions 
    if ($loginOK) { 
    $_SESSION['pseudo'] = $data['pseudo']; 
    $_SESSION['age'] = $data['age']; 
    $_SESSION['sexe'] = $data['sexe']; 
    $_SESSION['ville'] = $data['ville']; 
    } 
    else { 
    echo 'Une erreur est survenue, veuillez réessayer !'; 
    } 
    ?> 
    

    merci
    0
    1. pyschopathe Messages postés 2053 Statut Membre 137
       
      Merci, mais j'espérais une indentation du code ^^ ! Pas grave, on va faire sans...
      0
  3. yannic81
     
    voci ma page login.php :
    <html> 
    <head> 
    <title>Connexion au site</title> 
    </head> 
    <body> 
    <form method="post" action="verifLogin.php"> 
    <table border="0" width="400" align="center"> 
    <tr> 
    <td width="200"><b>Vôtre login</b></td> 
    <td width="200"> 
    <input type="text" name="login"> 
    </td> 
    </tr> 
    <tr> 
    <td width="200"><b>Vôtre mot de passe<b></td> 
    <td width="200"> 
    <input type="password" name="password"> 
    </td> 
    </tr> 
    <tr> 
    <td colspan="2"> 
    <input type="submit" name="submit" value="login"> 
    </td> 
    </tr> 
    </table> 
    </form> 
    </body> 
    </html>


    et voici ma page verifLogin.php :

    <?php 
    // On démarre la session 
    session_start(); 
    $loginOK = false; // cf Astuce 
    
    // On n'effectue les traitement qu'à la condition que 
    // les informations aient été effectivement postées 
    if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) { 
    
    extract($_POST); // je vous renvoie à la doc de cette fonction 
    
    // On va chercher le mot de passe afférent à ce login 
    $sql = "SELECT pseudo, age, sexe, ville, mdp FROM user WHERE login = '".addslashes($login)."'"; 
    $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql); 
    
    // On vérifie que l'utilisateur existe bien 
    if (mysql_num_rows($req) > 0) { 
    $data = mysql_fetch_assoc($req); 
    
    // On vérifie que son mot de passe est correct 
    if ($password == $data['mdp']) { 
    $loginOK = true; 
    } 
    } 
    } 
    
    // Si le login a été validé on met les données en sessions 
    if ($loginOK) { 
    $_SESSION['pseudo'] = $data['pseudo']; 
    $_SESSION['age'] = $data['age']; 
    $_SESSION['sexe'] = $data['sexe']; 
    $_SESSION['ville'] = $data['ville']; 
    } 
    else { 
    echo 'Une erreur est survenue, veuillez réessayer !'; 
    } 
    ?>


    merci
    0
    1. pyschopathe Messages postés 2053 Statut Membre 137
       
      Quelle est l'erreur affichée sur la page ?
      0
  4. yannic81
     
    Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\wamp\www\teste\verifLogin.php on line 14

    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\wamp\www\teste\verifLogin.php on line 14
    Erreur SQL :
    SELECT pseudo, age, sexe, ville, mdp FROM user WHERE login = 'max1395'
    0
    1. pyschopathe Messages postés 2053 Statut Membre 137
       
      Il y a un problème au niveau de la connexion à la base : est-tu sûr que l'utilisateur ODBC existe ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. yannic81
     
    non le seul utilisateur puissque que c'est un essay c'es moi yannic81
    0
    1. pyschopathe Messages postés 2053 Statut Membre 137
       
      Et bien il faudrait ouvrir la connexion explicitement.
      0
  7. yannic81
     
    qu'est ce qu'il faut que je change dans mon code alors
    0
    1. pyschopathe Messages postés 2053 Statut Membre 137
       
      $dbHandler = mysql_connect( $dbHost, $dbUser, $dbPass );
      mysql_select_db( $db, $dbHandler );
      $resultat = mysql_query( $req, $dbHandler );

      Utilise un code comme ça.
      $dbHost est l'adresse du serveur mysql (localhost si tu travailles en local), $dbUser est le nom d'utilisateur, $dbPass est le mot de passe, $db est le nom de la base de données, $req est la requête SQL.
      0
  8. yannic81
     
    en fait ce que je voudrais faire exactement c'est faire la meme chose mais je voudrais afficher autre chose que des info
    merci
    0
  9. yannic81
     
    je ne vois pas ou c'est
    0
    1. pyschopathe Messages postés 2053 Statut Membre 137
       
      Comment ça ?
      0
    2. pyschopathe Messages postés 2053 Statut Membre 137
       
      C'est du code à ajouter...
      0
      1. gui54 > pyschopathe Messages postés 2053 Statut Membre
         
        j'ai mis les donné jusqu'a la requet sql qu'est ce que je dois mettre
        0
      2. gui54 > gui54
         
        je repond moi aussi car je suis dans le meme probleme donc je repond aussi
        0
      3. pyschopathe Messages postés 2053 Statut Membre 137 > gui54
         
        Ouvre un nouveau sujet...
        0
  10. gui54
     
    je ne vois pas ou est la partie du code que je dois changer
    0
  11. Nass2
     
    le probleme que tu as c'est la chaine de connection a la base de donnée
    <?php 
    // On démarre la session 
    session_start(); 
    $loginOK = false; // cf Astuce 
    
    // On n'effectue les traitement qu'à la condition que 
    // les informations aient été effectivement postées 
    if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) { 
    	
    	extract($_POST); // je vous renvoie à la doc de cette fonction 
    	
    	// On va chercher le mot de passe afférent à ce login 
    	$sql = "SELECT pseudo, age, sexe, ville, mdp FROM user WHERE login = '".addslashes($login)."'"; 
    	$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql); 
    	
    	// On vérifie que l'utilisateur existe bien 
    	if (mysql_num_rows($req) > 0) { 
    		$data = mysql_fetch_assoc($req); 
    		
    		// On vérifie que son mot de passe est correct 
    		if ($password == $data['mdp']) { 
    			$loginOK = true; 
    		} 
    	} 
    } 
    
    // Si le login a été validé on met les données en sessions 
    if ($loginOK) { 
    	$_SESSION['pseudo'] = $data['pseudo']; 
    	$_SESSION['age'] = $data['age']; 
    	$_SESSION['sexe'] = $data['sexe']; 
    	$_SESSION['ville'] = $data['ville']; 
    } 
    else { 
    	echo 'Une erreur est survenue, veuillez réessayer !'; 
    } 
    ?>
    


    il manque quelque chose qui doit ressembler a sa :

    $dbHandler = mysql_connect( $dbHost, $dbUser, $dbPass );
    mysql_select_db( $db, $dbHandler );


    de preference a mettre dans un fichier a par.
    si tu utilise easyphp, les variables vont etre :
    $dbHost = 'localhost';
    $dbUser = 'root';
    $dbPass = '';
    $db = 'le nom de ta base'; 


    pour plus d'infos consulter ce site : http://www.asp-php.net/
    0