Php probleme

Fermé
yannic81 - 27 oct. 2008 à 15:04
 Nass2 - 27 oct. 2008 à 17:20
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 dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
27 oct. 2008 à 15:05
Tu peux reposter le code avec les balises < code>< /code> stp, c'est beaucoup plus confortable à lire...
0
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 dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
27 oct. 2008 à 15:07
Merci, mais j'espérais une indentation du code ^^ ! Pas grave, on va faire sans...
0
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 dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
27 oct. 2008 à 15:22
Quelle est l'erreur affichée sur la page ?
0
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 dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
27 oct. 2008 à 15:30
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
non le seul utilisateur puissque que c'est un essay c'es moi yannic81
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
27 oct. 2008 à 15:47
Et bien il faudrait ouvrir la connexion explicitement.
0
qu'est ce qu'il faut que je change dans mon code alors
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
27 oct. 2008 à 16:16
$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
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
je ne vois pas ou c'est
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
27 oct. 2008 à 16:30
Comment ça ?
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
27 oct. 2008 à 16:54
C'est du code à ajouter...
0
gui54 > pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010
27 oct. 2008 à 17:05
j'ai mis les donné jusqu'a la requet sql qu'est ce que je dois mettre
0
gui54 > gui54
27 oct. 2008 à 17:07
je repond moi aussi car je suis dans le meme probleme donc je repond aussi
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135 > gui54
27 oct. 2008 à 17:11
Ouvre un nouveau sujet...
0
je ne vois pas ou est la partie du code que je dois changer
0
je pense que c'est ca qu'il ne vois pas
0
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