Tom's Guide > Forum > Programmation > [Résolu] Problème session_start

[Résolu] Problème session_start

Forum Programmation : [Résolu] Problème session_start

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !

Lire la meilleure réponse, apportée par okinou.

Mot :    Pseudo :           
 

Je dois rendre dans 15jours un site avec un panier et là je suis occupé avec le login.
Et j'ai un soucis.Il y a un problème que je n'arrive pas à résoudre. Je vous montre mon code puis ce que j'ai comme résultat..svp aidez moi!!!

<html>
<head>
<title>Index</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<h4 align="center">Gestions de sessions</h4>

<?php session_start();

$host="localhost";
$user="root";
$pass="";
$connexion=mysql_connect("$host","$user","$pass" ) or Die ("Erreur de connexion" );
$mabase = "info";
$testbase = mysql_select_db("$mabase",$connexion) or Die ("Base inexistante" );
$table="client";

if(isset($_POST['nom']))
{$nom=strtoupper($_POST['nom']);}
else
{$nom=null;}
if(isset($_POST['prenom']))
{$prenom=strtoupper($_POST['prenom']);}
else
{$prenom=null;}
$req="SELECT * FROM $table WHERE nom like '".$nom."';";
$resultat= mysql_query($req);
$val=mysql_fetch_array($resultat);
if(($nom==$val["NOM"])&&($prenom==$val["PRENOM"]))
{
$_SESSION['NOM'] = $nom && $_SESSION['PRENOM'] = $prenom;
if($val["priorite"]=="1" )
{
?>
<html>
<head>
<title>Gestion de sessions</title>
</head>
<body>
<A HREF="page2.php">Client</A>
</body>
</html>
<?php
}
else
{
?>
<html>
<head>
<title>Gestion de sessions</title>
</head>
<body>
<A HREF="page3.php">Administrateur</A>
</body>
</html>
<?php
}
}
else
{
if(isset($_POST['cmdok']))
{echo"<FONT COLOR=\"#FFOOOO\">Mot de passe erroné /FONT>"; }
?>
<html>
<head>
<title>Gestion de sessions</title>
</head>
<body>
from method="post" action="<?php $_SERVER['PHP_SELF'];?>">
table width="80%" boder="0">
<tr><td width="23%">Login</td>
<td width="77%"> input name="nom" type="text" size="20" maxlength="20">
</td><input name="prenom" type="password" size="20" maxlength="20"> </td>
</tr>
<tr>
<td colspan="2"><input name="cmdok" "type="submit" value="Envoyer"></td>
</tr></table></form>
<?php
}
?>
</body>
</html>

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\sitephp\winnie\examphp\session.php:8) in c:\sitephp\winnie\examphp\session.php on line 8


Administrateur(est un lien vers une autre page)

met session_start(); avant tout code html, soit :

<?php
session_start();
?>
<html>
<head>
...
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
Meilleure réponse

met session_start(); avant tout code html, soit :

<?php
session_start();
?>
<html>
<head>
...

Répondre à okinou

Ca marche..merci

Mais j'ai toujours le soucis que ma page client n'apparait pas et que ma page administrateur est bien là...

Répondre à c_jef_19

Merci de creer un seul sujet par probleme, et de continuer tes soucis dans cette discussion sans en créer de nouvelle. Elles sont effacées.

Répondre à okinou

J'ai d'autre soucis et un copain qui fait la même chose que moi à le même soucis
peu importe ce qu'on rentre..correct ou non, on reçoit le message qui dit: mot de passe erroné. Pourriez vous m'aider.

<?php
session_start();
$connexion = mysql_connect("localhost","root","" );
$mabase = "info";
$testbase = mysql_select_db($mabase);
$latable = "client";
if(isset($_POST['txtid']))
{$id=strtoupper($_POST['txtid']);}
else
{$id=null;}
if(isset($_POST['txtmdp']))
{$mdp=strtoupper($_POST['txtmdp']);}
else
{$mdp=null;}
$req = "SELECT * FROM $latable WHERE nom like '%".$id."%';";
$resultat = mysql_query($req);
$val = mysql_fetch_array($resultat);
if (($id==$val["nom"]) && ($mdp==$val["prenom"]))
{
$_SESSION['nom'] = $id;
$_SESSION['prenom'] = $mdp;
if ($val["priorite"]=="1" )
{
?>
<html>
<head>
<title>Gestion de sessions</title>
</head>
<body>
<ul>
<li><a href="consultation.php">Consultation</a></li>
<li><a href="vente.php">Vente</a></li>
<ul>
</body>
</html>
<?php
}
else
{
?>
<html>
<head>
<title>Gestion de sessions</title>
</head>
<body>
<ul>
<li><a href="achat.php">Achat</a></li>
<li><a href="vente.php">Vente</a></li>
<li><a href="consultation.php">Consultation</a></li>
<li><a href="statistique.php">Statistique des ventes</a></li>
<ul>
</body>
</html>
<?php
}
}
else
{
if (isset($_POST['cmdok']))
{echo"<FONT COLOR=\"#FF0000\">Mot de passe erroné</FONT>"; }
?>
<html>
<head>
<title>Gestion de sessions</title>
</head>
<body>
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<table width="80%" border="0">
<tr><td width="23%">Login</td>
<td width="77%"><input name="txtid" type="text" size="20" maxlength="20">
</td></tr><tr><td>Mot de passe</td>
<td><input name="txtmdp" type="password" size="20" maxlength="20" ></td>
</tr>
<tr>
<td colspan="2"><input name="cmdok" type="submit" value="Envoyer"></td>
</tr></table></form>
<?php
}
?>
</body>
</html>

Répondre à c_jef_19

Essaye de débboger.
Dans toute tes conditions tu met un petit message du genre
<?php echo "[DEBUG] ta_variable = ' . $ta_variable .' "; ?>
Tu devrais trouver.
Affiche bien toutes tes variables que tu envoie via le formulaire et celle avec qui tu compare.

EDIT :
Je pense que ça viens de cette condition :

{
if (isset($_POST['cmdok']))
{echo"<FONT COLOR=\"#FF0000\">Mot de passe erroné</FONT>"; }

Dès que tu envoie ton formulaire, tu fais un $_POST['cmdok], donc il y rentre forcement ...


Message édité par LMW le 26-05-2009 à 23:09:06
Répondre à LMW
Tom's Guide > Forum > Programmation > [Résolu] Problème session_start
Aller à :

Il y a 463 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens