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
A voir également:

11 réponses

pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Tu peux reposter le code avec les balises < code>< /code> stp, c'est beaucoup plus confortable à lire...
0
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
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Merci, mais j'espérais une indentation du code ^^ ! Pas grave, on va faire sans...
0
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
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Quelle est l'erreur affichée sur la page ?
0
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
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Il y a un problème au niveau de la connexion à la base : est-tu sûr que l'utilisateur ODBC existe ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yannic81
 
non le seul utilisateur puissque que c'est un essay c'es moi yannic81
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Et bien il faudrait ouvrir la connexion explicitement.
0
yannic81
 
qu'est ce qu'il faut que je change dans mon code alors
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
$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
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
yannic81
 
je ne vois pas ou c'est
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Comment ça ?
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
C'est du code à ajouter...
0
gui54 > pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai mis les donné jusqu'a la requet sql qu'est ce que je dois mettre
0
gui54 > gui54
 
je repond moi aussi car je suis dans le meme probleme donc je repond aussi
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135 > gui54
 
Ouvre un nouveau sujet...
0
gui54
 
je ne vois pas ou est la partie du code que je dois changer
0
gui54
 
je pense que c'est ca qu'il ne vois pas
0
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