Probleme de formulaire ou de PHP... j'arrive pas a trouver l'erreur

Probleme de formulaire ou de PHP... j'arrive pas a trouver l'erreur - PHP - Programmation

Marsh Posté le 18-04-2002 à 13:26:14    

Salut !!!
 
J'ai créé une section membre pour mon site et depuis que j'utilise les sessions (avant j'utilisais les cookies) je n'arrive plus à recuperer des valeurs a cause d'un probleme de formulaire .... je rempli le champs "pseudo" et le champs "pass" comme il faut mais ca me repond :
 
Vous avez oublié de remplir le champs pseudo.
 
je comprends pas pourkoi ... avant d'utiliser les cookies ca marchais bien.
Bon je met le code ..
__________________________________________________
_____________
login.inc.htm
 
<html>
 
<head>
<title>Log-in</title>
<meta name="generator" content="Namo WebEditor v4.0">
</head>
 
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
 
<form method="post" action="connexion.php">
<p align="center">
<b><font color="#CCCC99">Pseudo:</font></b>
<input type="text" name="pseudo" maxlength="250" size="12"><br>
<b><font color="#CCCC99">Pass:   </font></b>
<input type="password" name="pass" maxlength="10" size="12"><br>
<input type="submit" value="log in"></p>
</form>
</body>
 
</html>
__________________________________________________
_____________
connexion.php
 
 
<? session_start(); ?>
<html>
 
<head>
<title>Site de la seconde 4</title>
<meta name="generator" content="Namo WebEditor v4.0">
<link rel="SHORTCUT ICON" href="http://www.multimania.com/chaieb/favoricon.ico">
</head>
 
<body bgcolor="#316B8C" text="#BCC4DC" link="#BCC4DC" vlink="#BCC4DC" alink="red">
<table cellpadding="0" cellspacing="0" height="70">
    <tr>
        <td width="175" background="images/barrhogoche.gif">
            <p align="center"> </p>
        </td>
        <td width="167" background="images/barrhomilieu.gif">
            <p> </p>
        </td>
        <td width="618" background="images/barrhocolor.gif">
            <p> </p>
        </td>
        <td width="17" background="images/barrhodroite.gif">
            <p> </p>
        </td>
    </tr>
</table>
<div align="left">
<table cellpadding="0" cellspacing="0" width="975">
    <tr>
        <td width="154" align="left" valign="top">
            <table cellpadding="0" cellspacing="0" width="175">
                <tr>
                    <td width="165" height="29" background="images/navgh.gif">
                        <p> </p>
                    </td>
                </tr>
                <tr>
                    <td width="165" background="images/navg.gif">                        <p align="center"> </p>
                    </td>
                </tr>
            </table>
            <table cellpadding="0" cellspacing="0" width="175">
                <tr>
                    <td width="155" background="images/navg.gif">                        <p align="center"><?include('menu.inc.htm';)?></p>
                    </td>
                </tr>
            </table>
            <table cellpadding="0" cellspacing="0" width="175">
                <tr>
                    <td width="145" height="28" background="images/navbas.gif">
                        <p> </p>
                    </td>
                </tr>
            </table>
        </td>
        <td width="821" height="797" align="left" valign="top">
<p align="center">
 
 
 
</p>
<p align="center">
<?
{
 $link = mysql_connect(getenv("MYSQL_HOST" ),"*****", "********" );
    mysql_select_db (getenv("MYSQL_DATABASE" ));  
 
if($pseudo=='';)
    {
    echo '<p>Vous avez oublié de remplir le champs pseudo.</p>';
    include('login.inc.htm';);
    exit;
    }
 
if($pass=='';)
    {
    echo '<p>Vs avez oublié d\'ecrire un mot de pass!</p>';
 include('login.inc.htm';);
 exit;
 }
 
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select * from users where pseudo='$pseudo'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 
$data = mysql_fetch_array($req);
 
if($data['pass'] != $pass)
    {
    echo '<p>Mauvais login / password. Merci de recommencer</p>';
    include('login.inc.htm';); // On inclus le formulaire d'identification
    exit;
    }
else
    {
    session_register('pseudo';);
    session_register('prenom';);
 session_register('nom';);
 session_register('mail';);
 session_register('niveau';);
    echo "Connecté en tant que";
 echo "<br>$pseudo";
    }
   
  mysql_close();  // on ferme la connexion  
}?></p>
        </td>
    </tr>
</table>
</div>
</body>
 
</html>
 
 
 
 
vala ... si qqn pouvais m'aider ce srai chic :)

Reply

Marsh Posté le 18-04-2002 à 13:26:14   

Reply

Marsh Posté le 18-04-2002 à 13:53:05    

Essaye avec des isset plutot que de comparer directement le contenu de la chaine pseudo et pass ou alors compare plutot la longueur des chaines... à mon avis ça te posera moins de probleme.

Reply

Marsh Posté le 18-04-2002 à 14:05:08    

je viens de le faire et ca pose un autre probleme ... maintenant ca me marque :
 
"Mauvais login / password. Merci de recommencer"
aaaaaarg je sais pas quoi faire !!! HELP !!

Reply

Marsh Posté le 18-04-2002 à 14:08:59    

Oui mais au moins tu es allez plus loin dans le script, cela veut donc dire que c'etait bien cela qui posais probleme dans un premier temps ;)

Reply

Marsh Posté le 18-04-2002 à 14:10:38    

bha meme reflexion pour ton nouveau probleme, fait une vrai comparaison de chaine, et pas !=...

Reply

Marsh Posté le 18-04-2002 à 14:13:51    

Trracer a écrit a écrit :

Oui mais au moins tu es allez plus loin dans le script, cela veut donc dire que c'etait bien cela qui posais probleme dans un premier temps ;)  




 
ouais :)  j'ai fait different trucs et quand j'ai viré la premiere ligne de connexion.php (je savais que ca allais creer une erreur mais je voulais voir les autres effets ) le scripts s'est executé jusqu'au bout ... mais sans garder les variables de sessions bien sur !

Reply

Marsh Posté le 18-04-2002 à 14:17:42    

J'ai enlevé tout le html de connexion.php et ca avais l'air de marcher .... dc comment je fait ???  :cry:

Reply

Marsh Posté le 18-04-2002 à 14:35:30    

Hum, si tu demarais ta session au moment ou le code php commence ce serait peut etre mieux. Ensuite commence les tag code en precisant le langage (ok, pas obligatoire, mais j'ai deja vu des serveur ou ça marchait mieux avec ça... donc <?php...?> ) Et c'est pas obligatoire d'encadrer le bloc code general par des {...}

Reply

Marsh Posté le 18-04-2002 à 14:36:33    

sanosuke a écrit a écrit :

J'ai enlevé tout le html de connexion.php et ca avais l'air de marcher .... dc comment je fait ???  :cry:  




 
Ton erreur est que tu as enregistre la variable $pseudo dans ta session, et donc la valeur de $pseudo venant du formulaire est écrasée par celle de la session. Ceci pour des raisons pratiques et surtout de sécurité.
 
Tu vas me dire, tu l'enregistres dans la session qu'à la fin. Mais le problème c'est que tu as déjà fait des tests avant je suppose, donc au moment du login, tu utilises déjà une ancienne session.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed