Problème session php
Résolu
nico3009
Messages postés
103
Date d'inscription
Statut
Membre
Dernière intervention
-
giheller Messages postés 1882 Date d'inscription Statut Membre Dernière intervention -
giheller Messages postés 1882 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
n'étant pas du tout informaticien, j'ai appris à me servir du php grâce à des forums et des tutos. J'ai donc beaucoup de lacunes.
J'essaie de créer des sessions sur mon site mais je bloque en écrivant le code de vérification qui identifie l'utilisateur.
Voici mon code :
<?php
session_start();
$pseudoOK = false;
if ( isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['mdp'])) ) {
extract($_POST);
$hostname = "*****";
$user = "*****";
$password = "*****";
$nom_base_donnees = "*****";
mysql_connect($hostname, $user, $password) or die(mysql_error());
mysql_select_db($nom_base_donnees);
$sql = "SELECT nom, prenom, pseudo, email FROM joueurs WHERE pseudo = '".addslashes($pseudo)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
if ($mdp == $data['mdp']) {
$pseudoOK = true;
}
}
}
if ($pseudoOK) {
$_SESSION['nom'] = $data['nom'];
$_SESSION['prenom'] = $data['prenom'];
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['email'] = $data['email'];
header("Location: index3.php") ;
}
else {
header("Location: index2.htm") ;
}
?>
J'ai pompé des morceaux sur plusieurs tutos et je pense ne pas tout mettre dans le bon ordre en fait.
Merci de me donner un coup de main ;o)
n'étant pas du tout informaticien, j'ai appris à me servir du php grâce à des forums et des tutos. J'ai donc beaucoup de lacunes.
J'essaie de créer des sessions sur mon site mais je bloque en écrivant le code de vérification qui identifie l'utilisateur.
Voici mon code :
<?php
session_start();
$pseudoOK = false;
if ( isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['mdp'])) ) {
extract($_POST);
$hostname = "*****";
$user = "*****";
$password = "*****";
$nom_base_donnees = "*****";
mysql_connect($hostname, $user, $password) or die(mysql_error());
mysql_select_db($nom_base_donnees);
$sql = "SELECT nom, prenom, pseudo, email FROM joueurs WHERE pseudo = '".addslashes($pseudo)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
if ($mdp == $data['mdp']) {
$pseudoOK = true;
}
}
}
if ($pseudoOK) {
$_SESSION['nom'] = $data['nom'];
$_SESSION['prenom'] = $data['prenom'];
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['email'] = $data['email'];
header("Location: index3.php") ;
}
else {
header("Location: index2.htm") ;
}
?>
J'ai pompé des morceaux sur plusieurs tutos et je pense ne pas tout mettre dans le bon ordre en fait.
Merci de me donner un coup de main ;o)
A voir également:
- Problème session php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
- Teamviewer code de session expiré ✓ - Forum logiciel systeme
- Session invalide ou obsolète ✓ - Forum finances
33 réponses
Ben c'est celui-là :
<html>
<head>
<title>Connexion au site</title>
</head>
<body>
<form method="post" action="verifpseudo.php">
<table border="0" width="400" align="center">
<tr>
<td width="200"><b>Pseudo</b></td>
<td width="200">
<input type="text" name="pseudo">
</td>
</tr>
<tr>
<td width="200"><b>Mot de passe<b></td>
<td width="200">
<input type="password" name="mdp">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value="Se connecter">
</td>
</tr>
</table>
</form>
</body>
</html>
Où sinon je ne comprends pas quel est ce fichier.
En tous cas je n'en ai pas d'autres
<html>
<head>
<title>Connexion au site</title>
</head>
<body>
<form method="post" action="verifpseudo.php">
<table border="0" width="400" align="center">
<tr>
<td width="200"><b>Pseudo</b></td>
<td width="200">
<input type="text" name="pseudo">
</td>
</tr>
<tr>
<td width="200"><b>Mot de passe<b></td>
<td width="200">
<input type="password" name="mdp">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value="Se connecter">
</td>
</tr>
</table>
</form>
</body>
</html>
Où sinon je ne comprends pas quel est ce fichier.
En tous cas je n'en ai pas d'autres
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
alors on continue à tracer
$sql = "SELECT nom, prenom, pseudo, email FROM joueurs WHERE pseudo = '".addslashes($pseudo)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
echo "<pre>";print_r($data);echo "</pre>";
pour voir ce que renvoit cette requête.
$sql = "SELECT nom, prenom, pseudo, email FROM joueurs WHERE pseudo = '".addslashes($pseudo)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
echo "<pre>";print_r($data);echo "</pre>";
pour voir ce que renvoit cette requête.
Bonjour,
il semblerait que la nuit porte conseil :o))
Je viens de galérer pendant 1 heure avant de te solliciter et finalement j'ai trouvé.
J'ai reconstruit ma requête sur papier pour que ce soit plus clair.
Il y avait des problèmes d'accolades qui n'étaient pas au bon endroit.
Voici le résultat :
<?php
if ( isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['mdp'])) )
{
$pseudo = $_POST["pseudo"] ;
$mdp = md5($_POST["mdp"]) ;
$hostname = "";
$user = "";
$password = "";
$nom_base_donnees = "";
mysql_connect($hostname, $user, $password) or die(mysql_error());
mysql_select_db($nom_base_donnees);
$sql = "SELECT nom, prenom, pseudo, email FROM joueurs WHERE pseudo = '".addslashes($pseudo)."' AND mdp = '".$mdp."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0)
{
$data = mysql_fetch_assoc($req);
{
session_start();
{
$_SESSION['nom'] = $data['nom'];
$_SESSION['prenom'] = $data['prenom'];
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['email'] = $data['email'];
}
header("Location: index3.php") ;
}
}
else {
echo '<p>Pseudo ou mot de passe incorrect. Veuillez réessayer.</p>';
include('index2.htm');
exit;
}
}
?>
En tous cas un GRAND MERCI à toi pour avoir passé autant de temps à m'aider pour ce script.
Je vais pouvoir commencer à m'amuser avec toutes ces sessions ^^
il semblerait que la nuit porte conseil :o))
Je viens de galérer pendant 1 heure avant de te solliciter et finalement j'ai trouvé.
J'ai reconstruit ma requête sur papier pour que ce soit plus clair.
Il y avait des problèmes d'accolades qui n'étaient pas au bon endroit.
Voici le résultat :
<?php
if ( isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['mdp'])) )
{
$pseudo = $_POST["pseudo"] ;
$mdp = md5($_POST["mdp"]) ;
$hostname = "";
$user = "";
$password = "";
$nom_base_donnees = "";
mysql_connect($hostname, $user, $password) or die(mysql_error());
mysql_select_db($nom_base_donnees);
$sql = "SELECT nom, prenom, pseudo, email FROM joueurs WHERE pseudo = '".addslashes($pseudo)."' AND mdp = '".$mdp."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0)
{
$data = mysql_fetch_assoc($req);
{
session_start();
{
$_SESSION['nom'] = $data['nom'];
$_SESSION['prenom'] = $data['prenom'];
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['email'] = $data['email'];
}
header("Location: index3.php") ;
}
}
else {
echo '<p>Pseudo ou mot de passe incorrect. Veuillez réessayer.</p>';
include('index2.htm');
exit;
}
}
?>
En tous cas un GRAND MERCI à toi pour avoir passé autant de temps à m'aider pour ce script.
Je vais pouvoir commencer à m'amuser avec toutes ces sessions ^^
il me faut le code de la page qui appelle ce fichier.
d'une manière générale, c'est un formulaire utilisé avec la method POST qui renseigne ces infos
je vais déjeuner je reprendrai cet après midi