Problème de session
Résolu
graknar
-
graknar Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
graknar Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Salutation à tous,
Voilà j'ai un projet de site web à faire et dans ce dernier j'aimerais avoir la gestion de session. Pour cela j'utilise le "session_start();" du php. Mais voilà sur mon ordinateur perso (qui utilise wamp) il n'y a aucun problème la variable super-globale $_SESSION["email"] passe d'une page à l'autre et il ne me retourne aucune erreur. Et sur les pc de la fac il ne marche pas, il tourne comme si la session_start n'existait pas et donc la valeur de la variable super-globale ne passe pas...
voilà le code de la page connexion.php et de ma page depot.php (servant au dépôt d'une annonce) :
<!DOCTYPE html>
<html>
<head>
<meta charset= "UTF-8" />
<link rel="stylesheet" href="index.css" />
<link rel="stylesheet" href="connexion.css" />
<title> Le Mauvais Coin </title>
<?php
include 'cle.php';
session_start();
$_SESSION['email'];
?>
</head>
<body>
<header>
<ul>
<li>
<h1>
<a href= "http://pubhtml/~<?php echo $sql_user ?>/main.php">Le Mauvais Coin</a>
</h1>
</li>
<li>
<?php
if(empty($_SESSION['email']))
{
echo"<a href='http://pubhtml/~". $sql_user ."/connexion.php' title='connection'> Se connecter</a>";
}
else
{
echo"<a href='http://pubhtml/~". $sql_user ."/connexion.php' title='connection'> Se deconnecter</a>";
}
?>
</li>
</ul>
</header>
<nav>
<ul>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/main.php">Accueil</a></li>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/depot.php">Déposer une annonce</a></li>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/recherche.php">Recherche</a></li>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/mesAnnonces.php">Mes annonces</a></li>
</ul>
</nav>
<section>
<article>
<?php
$password=$_POST['password'];
$email=$_POST['email'];
if(empty($_SESSION['email']))
{
if(empty($email) && empty($password))
{
echo "Bienvenue </br></br> <form name='connexion' action='connexion.php' method='post'> Entrer votre login : <input type='text' name='email'/> </br> Entrer votre mot de passe : <input type='password' name='password'/></br> <input type='submit' value='envoyer'/> </form>";
}
else
{
if(filter_var($email, FILTER_VALIDATE_EMAIL))
{
$requete1 = "select email from Contact WHERE email='$email'";
$requete2 = "select * from Contact Where '$password'in(select * from contact where email='$email')";
$resultat1= mysql_query($requete1);
$resultat2= mysql_query($requete2);
while($ligne = mysql_fetch_array($resultat1))
{
$testemail=$ligne['email'];
}
while($ligne = mysql_fetch_array($resultat2))
{
$testpassword=$ligne['password'];
}
if($testemail==$email)
{
//if ($testpassword==$password)
//{
$_SESSION['email']=$email;
echo"Bienvenue </br>".$_SESSION['email'];
/*}
Connectez vous! else
{
echo "Mauvais password";
}*/
}
else
{
echo "Votre compte n'existe pas, veuillez vous inscrire! ";
}
}
else
{
echo "Ceci n'est pas une adresse mail";
}
}
}
else
{
if($_POST['deconnexion']=="deconnexion")
{
unset($_SESSION['email']);
echo "Aurevoir";
session_destroy();
}
else
{
echo "<p>Voulez-vous vraiment vous déconnecter ?</p><form name='deconnexion' action='connexion.php' method= 'post'> <input type='submit' value='deconnexion' name='deconnexion' /> </from>";
}
}
?>
</article>
<?php
if(empty($_SESSION['email']))
{
echo "<article>Pour vous inscrire cliquez ici: <form name='inscription' action='inscription.php' method='post'><input type='submit' value='Vous inscrire' name='inscription'/></article>";
}
?>
</section>
</body>
<?php
mysql_close($link);
?>
</html>
et le dépot <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" href="index.css" />
<link rel="stylesheet" href="depot.css" />
<title> Le Mauvais Coin </title>
<?php
include 'cle.php';
session_start();
$_SESSION['email'];
?>
</head>
<body>
<header>
<ul>
<li>
<h1>
<a href= "http://pubhtml/~<?php echo $sql_user ?>/main.php">Le Mauvais Coin</a>
</h1>
</li>
<li>
<?php
if(empty($_SESSION['email']))
{
echo"<a href='http://pubhtml/~". $sql_user ."/connexion.php' title='connection'> Se connecter</a>";
}
else
{
echo"<a href='http://pubhtml/~". $sql_user ."/connexion.php' title='connection'> Se deconnecter</a>";
}
?>
</li>
</ul>
</header>
<nav>
<ul>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/main.php">Accueil</a></li>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/depot.php">Déposer une annonce</a></li>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/recherche.php">Recherche</a></li>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/mesAnnonces.php">Mes annonces</a></li>
</ul>
</nav>
<section>
<article>
<p>Création de l'annonce</p>
</article>
<article>
<?php
if(!empty($_SESSION['email']))
{
?>
<form name='depot' action='depot.php' method='post'>
Entrez un titre :<input type='text' name='titre'/></br>
Entrez une description:</br><textarea name='description'></textarea></br>
catégorie de parution ? <select name='categorie'>
<?php
$resultat = mysql_query('select * from Categorie ');
while($ligne = mysql_fetch_array($resultat))
{
echo "<option value=".$ligne['idCategorie'].">".$ligne['idCategorie']." - ".$ligne['categorie']."</option>";
}
echo "</select> </br> Entrez le prix de l'objet a vendre: <input type='text' name='prix'/></br><input type='submit' value='envoyer' /></form>";
$email= $_SESSION['email'];
}
else
{
echo "<form name='connexion' action='connexion.php' method='post'> <input type='submit' value='Connectez vous! '/></form>";
}
?>
</article>
<?php
$titre = htmlspecialchars($_POST['titre']);
$description = htmlspecialchars($_POST['description']);
$categorie =$_POST['categorie'];
$prix = $_POST['prix'];
if(!is_numeric($prix))
{
$prix='NULL';
}
if (!empty($titre)&&!empty($description))
{
$requete='SELECT * FROM Contact WHERE email="'.$email.'"';
$resultat = mysql_query($requete);
while($ligne = mysql_fetch_array($resultat))
{
$idContact = $ligne['idContact'];
}
$numero = mysql_query('select numero from Annonce where numero >= ALL(select numero from Annonce)');
while($ligne = mysql_fetch_array($numero))
{
$numero=$ligne['numero']+1;
}
$requete2 = 'INSERT INTO Annonce VALUES('.$numero.',"'.$titre.'","'.$description.'",'.$categorie.','.$idContact.','.$prix.',now())';
$resultat2=mysql_query($requete2);
if($resultat2){echo "<article> L'annonce à bien été postée </article>";}
}
else
{
if(empty($titre)&&!empty($description)||!empty($titre)&&empty($description)){
echo "<article> Vous n'avez pas rempli un des champs obligatoires.</article>";
}
}
?>
</section>
</body>
<?php
mysql_close($link);
?>
</html>
merci d'avance pour vos réponse.
Voilà j'ai un projet de site web à faire et dans ce dernier j'aimerais avoir la gestion de session. Pour cela j'utilise le "session_start();" du php. Mais voilà sur mon ordinateur perso (qui utilise wamp) il n'y a aucun problème la variable super-globale $_SESSION["email"] passe d'une page à l'autre et il ne me retourne aucune erreur. Et sur les pc de la fac il ne marche pas, il tourne comme si la session_start n'existait pas et donc la valeur de la variable super-globale ne passe pas...
voilà le code de la page connexion.php et de ma page depot.php (servant au dépôt d'une annonce) :
<!DOCTYPE html>
<html>
<head>
<meta charset= "UTF-8" />
<link rel="stylesheet" href="index.css" />
<link rel="stylesheet" href="connexion.css" />
<title> Le Mauvais Coin </title>
<?php
include 'cle.php';
session_start();
$_SESSION['email'];
?>
</head>
<body>
<header>
<ul>
<li>
<h1>
<a href= "http://pubhtml/~<?php echo $sql_user ?>/main.php">Le Mauvais Coin</a>
</h1>
</li>
<li>
<?php
if(empty($_SESSION['email']))
{
echo"<a href='http://pubhtml/~". $sql_user ."/connexion.php' title='connection'> Se connecter</a>";
}
else
{
echo"<a href='http://pubhtml/~". $sql_user ."/connexion.php' title='connection'> Se deconnecter</a>";
}
?>
</li>
</ul>
</header>
<nav>
<ul>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/main.php">Accueil</a></li>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/depot.php">Déposer une annonce</a></li>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/recherche.php">Recherche</a></li>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/mesAnnonces.php">Mes annonces</a></li>
</ul>
</nav>
<section>
<article>
<?php
$password=$_POST['password'];
$email=$_POST['email'];
if(empty($_SESSION['email']))
{
if(empty($email) && empty($password))
{
echo "Bienvenue </br></br> <form name='connexion' action='connexion.php' method='post'> Entrer votre login : <input type='text' name='email'/> </br> Entrer votre mot de passe : <input type='password' name='password'/></br> <input type='submit' value='envoyer'/> </form>";
}
else
{
if(filter_var($email, FILTER_VALIDATE_EMAIL))
{
$requete1 = "select email from Contact WHERE email='$email'";
$requete2 = "select * from Contact Where '$password'in(select * from contact where email='$email')";
$resultat1= mysql_query($requete1);
$resultat2= mysql_query($requete2);
while($ligne = mysql_fetch_array($resultat1))
{
$testemail=$ligne['email'];
}
while($ligne = mysql_fetch_array($resultat2))
{
$testpassword=$ligne['password'];
}
if($testemail==$email)
{
//if ($testpassword==$password)
//{
$_SESSION['email']=$email;
echo"Bienvenue </br>".$_SESSION['email'];
/*}
Connectez vous! else
{
echo "Mauvais password";
}*/
}
else
{
echo "Votre compte n'existe pas, veuillez vous inscrire! ";
}
}
else
{
echo "Ceci n'est pas une adresse mail";
}
}
}
else
{
if($_POST['deconnexion']=="deconnexion")
{
unset($_SESSION['email']);
echo "Aurevoir";
session_destroy();
}
else
{
echo "<p>Voulez-vous vraiment vous déconnecter ?</p><form name='deconnexion' action='connexion.php' method= 'post'> <input type='submit' value='deconnexion' name='deconnexion' /> </from>";
}
}
?>
</article>
<?php
if(empty($_SESSION['email']))
{
echo "<article>Pour vous inscrire cliquez ici: <form name='inscription' action='inscription.php' method='post'><input type='submit' value='Vous inscrire' name='inscription'/></article>";
}
?>
</section>
</body>
<?php
mysql_close($link);
?>
</html>
et le dépot <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" href="index.css" />
<link rel="stylesheet" href="depot.css" />
<title> Le Mauvais Coin </title>
<?php
include 'cle.php';
session_start();
$_SESSION['email'];
?>
</head>
<body>
<header>
<ul>
<li>
<h1>
<a href= "http://pubhtml/~<?php echo $sql_user ?>/main.php">Le Mauvais Coin</a>
</h1>
</li>
<li>
<?php
if(empty($_SESSION['email']))
{
echo"<a href='http://pubhtml/~". $sql_user ."/connexion.php' title='connection'> Se connecter</a>";
}
else
{
echo"<a href='http://pubhtml/~". $sql_user ."/connexion.php' title='connection'> Se deconnecter</a>";
}
?>
</li>
</ul>
</header>
<nav>
<ul>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/main.php">Accueil</a></li>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/depot.php">Déposer une annonce</a></li>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/recherche.php">Recherche</a></li>
<li><a href="http://pubhtml/~<?php echo $sql_user ?>/mesAnnonces.php">Mes annonces</a></li>
</ul>
</nav>
<section>
<article>
<p>Création de l'annonce</p>
</article>
<article>
<?php
if(!empty($_SESSION['email']))
{
?>
<form name='depot' action='depot.php' method='post'>
Entrez un titre :<input type='text' name='titre'/></br>
Entrez une description:</br><textarea name='description'></textarea></br>
catégorie de parution ? <select name='categorie'>
<?php
$resultat = mysql_query('select * from Categorie ');
while($ligne = mysql_fetch_array($resultat))
{
echo "<option value=".$ligne['idCategorie'].">".$ligne['idCategorie']." - ".$ligne['categorie']."</option>";
}
echo "</select> </br> Entrez le prix de l'objet a vendre: <input type='text' name='prix'/></br><input type='submit' value='envoyer' /></form>";
$email= $_SESSION['email'];
}
else
{
echo "<form name='connexion' action='connexion.php' method='post'> <input type='submit' value='Connectez vous! '/></form>";
}
?>
</article>
<?php
$titre = htmlspecialchars($_POST['titre']);
$description = htmlspecialchars($_POST['description']);
$categorie =$_POST['categorie'];
$prix = $_POST['prix'];
if(!is_numeric($prix))
{
$prix='NULL';
}
if (!empty($titre)&&!empty($description))
{
$requete='SELECT * FROM Contact WHERE email="'.$email.'"';
$resultat = mysql_query($requete);
while($ligne = mysql_fetch_array($resultat))
{
$idContact = $ligne['idContact'];
}
$numero = mysql_query('select numero from Annonce where numero >= ALL(select numero from Annonce)');
while($ligne = mysql_fetch_array($numero))
{
$numero=$ligne['numero']+1;
}
$requete2 = 'INSERT INTO Annonce VALUES('.$numero.',"'.$titre.'","'.$description.'",'.$categorie.','.$idContact.','.$prix.',now())';
$resultat2=mysql_query($requete2);
if($resultat2){echo "<article> L'annonce à bien été postée </article>";}
}
else
{
if(empty($titre)&&!empty($description)||!empty($titre)&&empty($description)){
echo "<article> Vous n'avez pas rempli un des champs obligatoires.</article>";
}
}
?>
</section>
</body>
<?php
mysql_close($link);
?>
</html>
merci d'avance pour vos réponse.
A voir également:
- Problème de session
- Teamviewer code de session expiré ✓ - Forum logiciel systeme
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo
- TeamViewer, quel risque de donner son le code - Forum Logiciels
- Session invalide ou obsolète ✓ - Forum finances
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
1 réponse
Bonjour,
Peux-tu commencer par éditer ton message et mettre le code en PHP et non en "Spoiler" pour qu'on puisse le lire plus facilement ?
Je te conseille déjà de comparer les versions de PHP / MyQSL de tes wamp serveur (celui chez toi et à la FAC) pour savoir si il n'y a pas un problème de compatibilité du code.
Tu peux également tester un
En dessous de ton session_start(); pour voir ce que la variable renvoi.
Peux-tu commencer par éditer ton message et mettre le code en PHP et non en "Spoiler" pour qu'on puisse le lire plus facilement ?
Je te conseille déjà de comparer les versions de PHP / MyQSL de tes wamp serveur (celui chez toi et à la FAC) pour savoir si il n'y a pas un problème de compatibilité du code.
Tu peux également tester un
var_dump($_SESSION);
En dessous de ton session_start(); pour voir ce que la variable renvoi.
alors j'aimerais bien retirer les spoilers, mais je l'ai envoyer cette question sans utiliser mon compte (j'avais oublié qu'elle existait et oui je sais je suis un boulet)
Ensuite j'ai fait comme tu as dis mes versions PHP sont différentes (j'ai PHP5.6 sur les pc de la fac et PHP7 sur le mien) et pour MYSQL je ne sais pas je n'ai pas regardé...
J'ai essayer le var_dump($_SESSION); et la réponse est toujours NULL...
Du coup merci quand même