[php] problème avec les sessions et variables

Fermé
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
- 28 avril 2006 à 14:42
PhP
Messages postés
1767
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
- 7 mai 2006 à 14:34
--
C'est bizarre, on en apprend tous les jours même quand on ne s'informe pas !!!!
Bonjour
Voici mon petit problème :
J'ai fais un code php qui permet au visiteur de ce connecté après inscription :
<?session_start();?>
<? $_post['pseudo']=$_session['pseudo'];?>
<? $pseudo=$_POST['pseudo']; $passe=$_POST['passe'];?>


<? $dbc = @mysql_connect ("localhost", "freeon_freeon", "***********");

if(!mysql_errno($dbc)) {
mysql_select_db("freeon_freeonthecity");

$query = "
SELECT * FROM v2 WHERE
pseudo='$pseudo' AND
passe='$passe'";
$result = mysql_query($query);
if(mysql_num_rows($result)==0)
{
header("Location:http://www.freeonthecity.com/form_erreur.php"); } else{?> <html> <center> <strong> <marquee> www.freeonthecity.com -espace membre </marquee> </strong> </center> <br> <center> <strong> Bienvenue, tu es maintenant connecté et reconnu comme un touriste de la ville gratuite (free on the city)! <br> Pour télécharger des sonneries gratuites (rap rnb), <a href="http://www.freeonthecity.com/les_sonneries.php">clique ici</A> <br> Merci d'être passé, n'hésite pas à revenir souvent... </html> <?} }
mysql_close(); ?>

si le pseudo et le mot de passe précédament remplis dans un formulaire sont juste alors on est dans le premier { là ou il y a tout le html} si c'est faut {on r'envois vers une page d'erreur...
Là pas de problème...
Mais si tout est bon et que le visiteur est connecté dans le html, il faut qu'il puisse cliquer sur la page "sonneries" sans se réidentifier mais voila mon problème même en mettant correctement les session dans la page "les_sonneries.php" c'est le echo "pas bons !" et non le echo "bon" qui apparait.
Voici le code de la page les_sonneries.php :
<?session_start();?>
<? $pseudo=$_session['pseudo'];?>

<? if ( isset($pseudo))
$pseudo=$_session['pseudo'];
if ($pseudo)
{ echo "bons !";} else{ echo "pas bons !";} ?>
D'où viens le problème?
merci

3 réponses

xloadx
Messages postés
28
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
10 septembre 2011
7
28 avril 2006 à 21:34
Attention à ton code en PHP on construit une page comme tel:


<?
session_start();
$truc = $_SESSION['truc'];

if($truc){ echo 'Ok c bon !!!!'; }
else{ echo'Ce n'est pas bon !!!'; }

?>
0
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
64
28 avril 2006 à 22:00
Bonsoir,
Sa ne marche toujours pas j'obtiens toujours le message comme quoi ce n'est pas bon...
Voici maintenant le code de les_sonneries.php :
<?session_start();?>
<? $pseudo=$_session['pseudo'];

if ($pseudo)
{ echo "bons !";} else{ echo "pas bons !";} ?>
Alors, que faire? Sa ne vient pas du fichier php qui lui cré la session avant de r'envoyer vers la page "les_sonneries.php"?
merci
0
PhP
Messages postés
1767
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
607
7 mai 2006 à 14:34
Bjr

ben oui c'est normal nulle part tu ne sauves ta variables $pseudo dans la session

Voici comment faire

La page qui vérifie ta connexion :

<?php
session_start(); 
$pseudo=$_POST['pseudo']; 
$passe=$_POST['passe'];

// Retire $pseudo de la session si la variable est défini
if (isset($_SESSION["pseudo"])
{
  unset($_SESSION["pseudo"]);
}


//  <-- Ici vérif avec MySQL 

if(mysql_num_rows($result)==0) 
{ 
  header("Location:http://www.freeonthecity.com/form_erreur.php"); 
} 
else
{ 
// Définit la variable dans la session
$_SESSION["pseudo"] = $pseudo;

//  <-- Ici la suite de ton code
}
?>

Et voilà !
0