gorn deja pris
Messages postés7Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention12 janvier 2008
-
10 déc. 2007 à 22:48
gorn deja pris
Messages postés7Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention12 janvier 2008
-
13 déc. 2007 à 20:25
Voila j'ai un ptit soucis, je débute le php, et j'essai de faire une page où l'on peut se connecter, le truc c'est que j'ai déjà fais les inscriptions sur la base de données, tout marche nickel. Là il y a un soucis, on peut se connecter mais une fois qu'on change de page, on se déconnecte automatiquement, pourtant j'utilise une session :/
quelqu'un pourrait y jeter un oeil, je suis désolé que le code soit un peu dégueulasse, j'ai très bien travailler les autres pages pour quelles soient aux normes, mais là c'est une page d'essai ^^
en gros j'essai de faire passer les réponses du formulaire de connection en session, que je vérifie ensuite :)
et donc la connection marche mais ensuite quand je vais sur une autre page (dont le lien est en dessus, en fait on se trouve ici sur la liste des membres triés par 5 par pages), le formulaire réapparait comme si on ne s'était jamais connecté.
$reponse = mysql_query("SELECT * FROM membre ORDER BY 2 LIMIT $debut , 5" ) ;
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<?php echo $donnees['idMembre']; ?>,
<?php echo $donnees['pseudo']; ?>,
<?php echo $donnees['msn']; ?>,
<?php echo $donnees['codeami']; ?>,
<?php
}
$query = mysql_query("SELECT COUNT(*) FROM membre");
$totalpage = round((strval(mysql_result($query,0,0))/5) ,0);
for ($i=1;$i<=$totalpage;$i++) echo "[style.css
<title>Liste des Participants</title>
</head>
<?php
$connection = mysql_query("SELECT pseudo FROM membre WHERE pseudo='$pseudo'" ) ;
while ($con = mysql_fetch_array($connection) )
{
?>
<?php echo $con['pseudo']; ?>
<?php
}
?>
<?php
$debut=($_GET['page']-1)*5;
$reponse = mysql_query("SELECT * FROM membre ORDER BY 2 LIMIT $debut , 5" ) ;
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<?php echo $donnees['idMembre']; ?>,
<?php echo $donnees['pseudo']; ?>,
<?php echo $donnees['msn']; ?>,
<?php echo $donnees['codeami']; ?>,
<?php
}
$query = mysql_query("SELECT COUNT(*) FROM membre");
$totalpage = round((strval(mysql_result($query,0,0))/5) ,0);
for ($i=1;$i<=$totalpage;$i++) echo "]Page $i ";
?>
gorn deja pris
Messages postés7Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention12 janvier 2008 11 déc. 2007 à 07:00
en fait pour le moment je reste sur cette même page, car c'est une liste de membre qui contient 10 membres par pages, donc il n'y a que cette même page pour toutes les pages contenant la liste, et elle se recharge elle même.
c'est pour ça que je ne comprend pas.
cs_sebastien_et_typh
Messages postés289Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention11 juin 20103 11 déc. 2007 à 14:14
et ton formulaire de connection envoi t-il les données a chaque foi quell se recharge car si il ne les renvoit pas ton $_SESSION['mot_de_passe'] et $_SESSION['pseudo'] devienne vide...
Personne ne peut se permettre de juger l'autre....
gorn deja pris
Messages postés7Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention12 janvier 2008 11 déc. 2007 à 18:24
oui c'est exact, j'ai fais un echo pour voir le contenu de la variable $_SESSION['mot_de_passe'] et c'est absent, il faut donc que je trouve un moyen de les renvoyez à chaque fois ^^
merci pour cette indicaion maintenant je pense bien voir mon erreur ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
stephanejeanrenaud
Messages postés5Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention13 décembre 2007 12 déc. 2007 à 23:44
En fait, le problème vient du fait qu'au début de ton script, tu écrases les valeurs des variables en session avec les valeurs des variables du post. Et dans le cas où les variables du post ne sont pas renseignées, les variables de session deviennent vide.
Il faut remplacer :
$_SESSION['mot_de_passe'] = $_POST['mot_de_passe'];
$_SESSION['pseudo'] = $_POST['pseudo'];
gorn deja pris
Messages postés7Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention12 janvier 2008 13 déc. 2007 à 18:46
alors en fait j'y arrive, maintenant j'ai du mal c'est pour la déconnection, sa prend 2 pages pour le faire ^^
<?php
session_start(); // ouverture de la session
mysql_connect("mysql5-17", "ssbexperligue", "supersecret ;)"); // connection à la base de données
mysql_select_db("ssbexperligue"); // sélection de la base de données
if (isset($_POST['mot_de_passe']) && isset($_POST['pseudo'])) // test si les données existent
{
$_SESSION['mot_de_passe'] = $_POST['mot_de_passe']; // créé les variables mdp et pseudo
$_SESSION['pseudo'] = $_POST['pseudo'];
$mdp= $_SESSION['mot_de_passe']; // copie les variables pour les requêtes
$pseudo = $_SESSION['pseudo'];
}
else
{
if (isset($_POST['deco'])) // si le bouton "déconnection" est enclenché
{
if (session_destroy()) // termine la session, déconnection.
{
echo 'Vous êtes déconnecté';
unset($_SESSION['pseudo']);
}
else
{
echo 'Erreur : impossible de partir du site :p !';
}
}
else // si déjà connecté, recopie les variables
{
$mdp = $_SESSION['mot_de_passe'];
$pseudo = $_SESSION['pseudo'];
}
}
$requete = mysql_query("SELECT pseudo,mdp FROM membre WHERE pseudo='$pseudo' AND mdp='$mot_de_passe'") or die( 'Erreur MySQL : ' . mysql_error() ); // connection, chercher le pseudo et mot de passe pour le pseudo et mot de passe entrés
?>
<!-- Header, Design et entête de la page, chargement du style css -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
<title>Liste des participants à la Ligue Smash Brawl Experience</title>
</head>
<?php
if(mysql_num_rows($requete)!=1) // si il y a plus d'une ligne sélectionnée : non connecté
{
$connection = mysql_query("SELECT pseudo FROM membre WHERE pseudo='$pseudo'" ) ; // recherche du pseudo
while ($con = mysql_fetch_array($connection) )
{
?>
<?php echo $con['pseudo']; ?>
// affichage du pseudo
}
<!-- corps de la page -->
$debut=($_GET['page']-1)*10; // choisi le début de la liste
$reponse = mysql_query("SELECT * FROM membre ORDER BY 2 LIMIT $debut , 10" ) ; // sélectionne les membres à partir du pseudo et jusqu'a 10
$page = $_GET['page'];
$num = $page*10 - 10; // On numérote les participants
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )
{
$num = $num +1 ;
?>
<?php echo "$num"; ?>,
<?php echo $donnees['pseudo']; ?>,
<?php echo $donnees['msn']; ?>,
<?php echo $donnees['codeami']; ?>,
<?php
}
<!-- On affiche les liens des différentes pages -->
$query = mysql_query("SELECT COUNT(*) FROM membre");
$totalpage = round((strval(mysql_result($query,0,0))/10) ,0);
for ($i=1;$i<=$totalpage;$i++) echo "Page $i ";
?>
<!-- Foot -->
</html>
<?php
mysql_close(); // fin de connection
?>