Problème session php

Résolu/Fermé
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 - 27 août 2009 à 12:55
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 - 30 août 2009 à 16:33
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)

33 réponses

nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
29 août 2009 à 12:00
Ca me renvoie à nouveau sur :

Array
(
)
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
29 août 2009 à 12:23
cela confirme que $_POST existe et ne contient rien.
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
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
29 août 2009 à 12:34
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
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
29 août 2009 à 14:34
oui celui là.

mettez post en majuscule
<form method="POST" action="verifpseudo.php">
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
29 août 2009 à 17:25
J'obtiens :

Array
(
[pseudo] => nico3009
[mdp] => ******
[submit] => Se connecter
)
0

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

Posez votre question
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
29 août 2009 à 18:13
C'est mieux puisque maintenant les valeurs passent.
est-ce que cela fonctionne maintenant ?
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
29 août 2009 à 18:33
Ca ne m'affiche toujours que mon pseudo. Le nom et prénom ne s'affichent pas
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
29 août 2009 à 18:40
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.
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
29 août 2009 à 19:06
Ca me renvoie tout cette fois.

Ca avance bien ;o))
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
29 août 2009 à 19:07
bon alors on fait un point.
dites moi où on en est. et ce qui ne va toujours pas.
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
29 août 2009 à 19:14
Je te fais un point demain, j'ai du monde à manger ;o)

Merci beaucoup en tous cas
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
29 août 2009 à 19:18
OK à demain
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
30 août 2009 à 11:32
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 ^^
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
30 août 2009 à 16:33
bravo @+
0