J'ai un erreur au niveau de la page accueil [Résolu]

-
Bonjour, j'ai besoin de votre aide on ce qui concerne mon projet creation d'une application qui fais la gestion de stock avec dreamweaver
j'ai fais la connexion et mm la page login et k'on j'essaye de mettre le login au niveau de la page accueil je trouve cette erreur que dois je faire. Merci d'avance



voila l'erreur:

Bienvenue:
Notice: Undefined variable: _session in C:\Program Files (x86)\EasyPHP-12.1\www\gestion_stock\accueil.php on line 43
voila mon code :
<?php
session_start();
include('connexion.php'); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Welcome - Business.com - About us</title>
<link href="css/base.css" rel="stylesheet" type="text/css" />
</head>
<body>
<!--navigation -->

<div class="container_16">
<div class="grid_16 navbg">
                                                                                                        
<ul class="navlink">
 <li><a href="accueil.php" title="Home">Accueil</a></li>
    <li><a href="client.php" title="Home">Client</a></li>

  <li><a href="fournisseur.php" title="Service">fournisseur</a></li>
 <li><a href="produit.php" title="Solution">Produit</a></li>
 <li> <a href="login.php" class="active"> Deconnexion</a></li>
</ul>
</div>
</div>

<!--navigation -->
<!--header -->

 <div class="container_16">
 <div class="grid_16 hdrBg">
   <h1> </h1>
     </div>
 </div>

<!--header -->
<!--body -->
<div class="container_16">
<div class="grid_16" id="body">
  <div class="grid_10 omega">
  Bienvenue:<?php echo $_session['login']; ?> 
</div>
</div>
</div>


<!--body -->
<!--footer -->
<div class="container_16">
<div class="grid_16" id="footer">

<ul class="footerlink">
       <li><a href="index.html" title="Home">Home</a></li><li>|</li>
       <li><a href="about.html" title=" About">About</a></li><li>|</li>
       <li><a href="#" title="Service">Service</a></li><li>|</li>
       <li><a href="#" title="Solution">Solution</a></li><li>|</li>
       <li><a href="#" title="Contact">Contact</a></li> 
     </ul>
     
     
     <p class="clear"> </p>
      <p class="copyright"> </p>


</div>
</div>
<!--footer -->
</body>
</html>
Afficher la suite 

Votre réponse

6 réponses

Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
0
Merci
Bonjour,

Ta variable n'est pas connue.. car surement pas encore initialisée...

Déjà, tu peux, avant d'utiliser des variables de type POST / GET ou SESSION vérifier qu'elles existent.

Utilise pour cela : ISSET

Exemple pour ton code :


<div class="grid_16" id="body">
  <div class="grid_10 omega">
  Bienvenue:<?= (isset($_SESSION['login']))?$_SESSION['login']:' No_Login' ?> 
</div>



Ensuite, vérifie à quel endroit dans ton script tu Initialises cette variable... (peut être dans ton include : connexion.php ?)

Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
-
Le "ça ne marche pas" ... ne va surement pas m'aider à savoir ce qui bloque... peux tu détailler ????

Si c'est un pb d'affichage... testes comme ceci :
<?php
$strLogin =  (isset($_SESSION['login']))?$_SESSION['login']:'No_Login' ;?> 
?>
<div class="grid_16" id="body">
  <div class="grid_10 omega">
  Bienvenue:<?php echo $strLogin; ?>
</div>


Et surtout... quoi qu'il se passe... merci de donner un maximum d'informations sur le souci rencontré !
- Peut être as tu des messages d'erreurs... si oui... lesquels.?...
- Que doit faire ton script ?
- En quoi ne fonctionne t-il pas ?
Commenter la réponse de jordane45
Messages postés
53
Date d'inscription
dimanche 24 juin 2007
Dernière intervention
25 février 2016
0
Merci
je ne vois pas ta requete sql !
jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
-
@Homeros, je ne vois pas le rapport entre sa requête SQL et le message d'erreur indiqué...

Il a juste écrit $_session au lieu de $_SESSION
http://www.php.net/manual/fr/reserved.variables.session.php
cs_Homeros
Messages postés
53
Date d'inscription
dimanche 24 juin 2007
Dernière intervention
25 février 2016
-
d'après ce que j'ai compris, il veut afficher le login de l'utilisateur donc il a besoin d'une requete sql et vbl "$login" pour l'importer de la BDD et l'afficher.

Peut-être ce que je dit est pas juste, mais comme ça je le vois.

Merci de m'éclairer
Commenter la réponse de cs_Homeros
0
Merci
voila le code jordane

<?php  include('connexion.php');
session_start(); ?>

<html>
<head>
<style type="text/css">
#wrapper {
 
 width:950px;
  height:auto;
  padding: 13px;
  margin-right:auto;
  margin-left:auto;
  background-color:#fff;
}
</style>
</head>

<body bgcolor="#e1e1e1">

<div id="wrapper">

<center><font face="Andalus" size="5">Your Score</font></center>
<br />
<br />
<div class="grid_16" id="body">
  <?php
$strLogin =  (isset($_SESSION['login']))?$_SESSION['login']:'No_Login' ;?> 
?>
<div class="grid_16" id="body">
  <div class="grid_10 omega">
  Bienvenue:<?php echo $strLogin; ?>
</div>
<?php
 

 $answer1= $_POST['answerone'];
 $answer2= $_POST['answertwo'];
 $answer3= $_POST['answerthree'];
 $answer4= $_POST['answerfour'];
 $answer5= $_POST['answerfive'];
 $answer6= $_POST['answersix'];
 $answer7= $_POST['answerseven'];
 $answer8= $_POST['answereight'];
 $answer9= $_POST['answernine'];
 $answer10= $_POST['answerten'];
 $answer11= $_POST['answereleven'];
 $answer12= $_POST['answertwelve'];
 $answer13= $_POST['answerthirteen'];
 $answer14= $_POST['answerfourteen' ];
 $answer15= $_POST['answerfifteen'];
 $answer16= $_POST['answersixteen'];
 $answer17= $_POST['answerseventeen'];
 $answer18= $_POST['answereighteen'];
 $answer19= $_POST['answernineteen'];
 $answer20= $_POST['answertwenty'];
 $answer21= $_POST['answertwentyOne'];
 $answer22= $_POST['answertwentyTwo'];
 $answer23= $_POST['answertwentyThree'];
 $answer24= $_POST['answertwentyFour'];
 $answer25= $_POST['answertwentyFive'];
 $answer26= $_POST['answertwentySix'];
 $answer27= $_POST['answertwentySeven'];
 $answer28= $_POST['answertwentyEight'];
 $answer29= $_POST['answertwentyNine'];
 $answer30= $_POST['answerthirty'];
 
 $score = 0;
 
 
 if ($answer1 == "B"&& $answer1 == "C"){$score++;}
 if ($answer2 == "C"){$score++;}
 if ($answer3 == "A"){$score++;}
 if ($answer4 == "A"){$score++;}
 if ($answer5 == "B"){$score++;}
 if ($answer6 == "A"){$score++;}
 if ($answer7 == "B"){$score++;}
 if ($answer8 == "D"){$score++;}
 if ($answer9 == "B"){$score++;}
 if ($answer10 == "C"){$score++;}
 if ($answer11 == "C"){$score++;}
    if ($answer12 == "C" && $answer12 == "D"){$score++;}
 if ($answer13 == "C"){$score++;}
 if ($answer14 == "D"){$score++;}
 if ($answer15 == "C"){$score++;}
 if ($answer16 == "D"){$score++;}
 if ($answer17 == "B"){$score++;}
 if ($answer18 == "C"){$score++;}
 if ($answer19 == "B"){$score++;}
 if ($answer20 == "A"){$score++;}
 if ($answer21 == "C"){$score++;}
 if ($answer22 == "A"){$score++;}
 if ($answer23 == "A"){$score++;}
 if ($answer24 == "D"){$score++;}
 if ($answer25 == "C"){$score++;}
 if ($answer26 == "B"){$score++;}
 if ($answer27 == "B"){$score++;}
 if ($answer28 == "B"){$score++;}
 if ($answer29 == "A"){$score++;}
 if ($answer30 == "C"){$score++;}
 echo "<center><font face='Berlin Sans FB' size='8'>Your Score is <br> $score/30</font></center>";
$jour = date("d-m-Y");
$heure = date("H:i");
$date = $heure." ".$jour;  
$login= $_SESSION['login'];

 
mysql_query("UPDATE utilisateurs SET  score='".$score."',
 Date='".$date."' WHERE  login='". $login ."' ") or die(mysql_error()); 
  ?>
 <?php if($score>=0 &&$score<=4){
 echo "Niveau A1
";}
else if($score>=5 &&$score<=12){
 echo "Niveau A2 :

";} 
else if($score>=13 &&$score<=15){
 echo "
Niveau B1 ";}

else if($score>=16 &&$score<=25){
 echo "
Niveau B2 ";}
else {
 echo "
Niveau C1 ;}


?>

</div>

</body>
</html>

et voila le message d'erreur
Your Score


?>
Bienvenue:No_Login
Your Score is
9/30

Notice: Undefined index: login in C:\Program Files (x86)\EasyPHP-12.1\www\Site sans nom 17\process.php on line 105
Niveau A2
jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
-
TU as bien mis le session_start(); sur ta première page également ?
Au cas où.. juste pour voir si tu as bien des choses dans les variables de session tu peux faire, sur ta deuxième page, un print_r($_SESSION)

Si ça ne marche toujours pas, COLLES nous le code complet de tes différentes PAGES.
=> En utilisant les BALISES DE CODE.
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.
page index :
<?php session_start(); 
include('connexion.php');

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type='text/css'>
#wrapper {

width:950px;
height:auto;
padding: 13px;
margin-right:auto;
margin-left:auto;
background-color:#fff;

}
#wrapper form ol li {
font-weight: bold;
}
#wrapper form ol li div div label {
font-weight: normal;
}
#wrapper form ol li div {
font-weight: normal;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>

<body>
<form method="post" action="Quiz.php">

<div>
<p class="member"><h3>Authentification</h3></p>
<p>Login</p>
<input type='text' name="t1"/>
<p>Password</p>
<p>
<input type='Password' name="t2"/>
<input name="b1" type="submit" class="login" id="b1"/>
</br>
</p>
<?php



if( isset ( $_POST['b1'] ) )
{
$_SESSION['login']= $_POST['t1'];
echo
$dr=mysql_query("select * from utilisateurs where login='". $_POST['t1']."' and pass='".$_POST['t2']."'");
$ligne=mysql_fetch_array($dr);

if($ligne!=0)
{



header("location:Quiz.php");

}
else
{

echo 'login ou mot de passe invalide';
}

}
?>
<?php
$login= isset($_SESSION['login'])?$_SESSION['login']:'error';
?>
</div>
</body>
</html>
PAGE 2 C'est un quiz a passé
<?php
 session_start(); 
 include('connexion.php'); ?>
<html>
<head>
<style type='text/css'>
#wrapper {
 
 width:950px;
  height:auto;
  padding: 13px;
  margin-right:auto;
  margin-left:auto;
  background-color:#fff;
 
}
#wrapper form ol li {
 font-weight: bold;
}
#wrapper form ol li div div label {
 font-weight: normal;
}
#wrapper form ol li div {
 font-weight: normal;
}
</style>
</head>

<body bgcolor='#e1e1e1'>
<div id='wrapper'>

<center><font face='Andalus' size='5'>PHP Quiz </font></center>
<br />
<br />
<br /><br />
 
<FORM action= "process.php" method="post">

 <ol>

      <li>Q  </br>
          <div>
            <input type='checkbox' name='A3' id='A3' value='3' />
            <label for='A3'>in </label>
          </div>
           
          <div>
            <input type='checkbox' name='B3' id='B3' value='3' />
            <label for='B3'>on</label>
          </div>
           
          <div>
            <input type='checkbox' name='C3' id='C3' value='3' />
            <label for='C3'>at</label>
          </div>
          <div>
            <input type='checkbox' name='D3' id='D3' value='3' />
            <label for='D3'>for</label>
          </div>
          <div>
            <input type='checkbox' name='E3' id='E3' value='3' />
            <label for='E3'>don't know</label>
          </div>
      </li></br>

    </ol>
 
     <input type='submit' value='Submit Quiz' />
    
</form>
jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
-
Attention...

Ton header location n'est pas utilisé...
Au moment de valider ton formulaire...celui ci va directement sur ta page Quizz.php...
<form method="post" action="Quiz.php">


Il manque aussi la balise de fin :
  </form> 


Pour envoyer ton formulaire (tout en restant sur la même page afin que tes vérifications de Login soient faites.).. tu peux écrire :
<form method="post" action="#">
<div>
<p class="member"><h3>Authentification</h3></p>
<p>Login</p>
<input type='text' name="t1"/>
<p>Password</p>
<p>
  <input type='Password' name="t2"/>
  <input name="b1" type="submit" class="login" id="b1"/>
  </br>
</p>
</form>
pour la premier syntaxe dois je la mettre en index.php ...??
Commenter la réponse de samir
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
0
Merci
Oui... dans ta première page.


Bon.. le code devrait donner un truc du genre :
<?php 
session_start(); 
include('connexion.php');

 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type='text/css'>
#wrapper {
 
 width:950px;
  height:auto;
  padding: 13px;
  margin-right:auto;
  margin-left:auto;
  background-color:#fff;
 
}
#wrapper form ol li {
 font-weight: bold;
}
#wrapper form ol li div div label {
 font-weight: normal;
}
#wrapper form ol li div {
 font-weight: normal;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>
<?php

//---------------------------------------------------------
//   RECUPERATION DES VARIABLES POST
//      Si elle n'existe pas déjà en session.
//---------------------------------------------------------

if(! isset($_SESSION['login'])){
 $login = isset($_POST['t1'])?$_POST['t1']:'error';
 $pasw= isset($_POST['t2'])?$_POST['t2']:'error';
 $_SESSION['login']= $login;
}


?>
<body>
<form method="post" action="#">

<div>
<p class="member"><h3>Authentification</h3></p>
<p>Login</p>
<input type='text' name="t1"/>
<p>Password</p>
<p>
  <input type='Password' name="t2"/>
  <input name="b1" type="submit" class="login" id="b1"/>
  </br>
</p>
</form>
<?php
//---------------------------------------------------------
//   PREPARATION DE LA REQUETE
//---------------------------------------------------------
if( isset ( $_POST['b1'] ) ){ 
 $sql="SELECT * 
           FROM utilisateurs 
           WHERE login='". $login."'
           AND pass='".$pasw."'";

//------------------------------------------------------  
// Le temps des tests..
// pour vérifier que ta requête est bonne:
   print_r($sql);
//------------------------------------------------------
  $dr = mysql_query($sql);
  $ligne=mysql_fetch_array($dr);

// Verification que l'utilisateur/pasword 
// ne retourne qu' UN  seul utilisateur
if(count($ligne)==1){
    // le temps des tests.. tu peux commenter la redirection
    // pour voir si ta requête est bonne...(et tu remplaces par
    // un echo:
    echo " OK "; 
   //header("location:Quiz.php");
}else{
    echo 'login ou mot de passe invalide ou nombre d'utilisateurs incorrecte !';
}

}
?>
     </div>
   </body>
</html>
 


Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
j'ai toujours le meme erreur :
?>
Bienvenue:error
Your Score is
0/30
UPDATE utilisateurs SET score='0' ,Date='17:26 14-04-2014' WHERE login='error' Niveau A1
jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
-
Tu as testé en laissant les commentaires comme je te l'ai dit ???

C'est à dire ... SANS FAIRE LA REDIRECTION
//header("location:Quiz.php");


Tout en laissant les différents PRINT que j'y avais mis...
Qu'est ce que ça t'affiche ???
oui j'ai laissé les commentaire sans modifier cette ligne:
<form method="post" action="#">
il m'affiche
Notice: Undefined variable: login in C:\Program Files (x86)\EasyPHP-12.1\www\Site sans nom 17\index.php on line 69

Notice: Undefined variable: pasw in C:\Program Files (x86)\EasyPHP-12.1\www\Site sans nom 17\index.php on line 70
SELECT * FROM utilisateurs WHERE login='' AND pass='' OK
mais si je le change avec <form method="post" action="Quiz.php">
?>
Bienvenue:error
Your Score is
10/30
UPDATE utilisateurs SET score='0' ,Date='17:57 14-04-2014' WHERE login='error'
Commenter la réponse de jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
0
Merci
Et de cette manière ? (qu'obtiens tu ? )

<?php 
session_start(); 
include('connexion.php');

 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type='text/css'>
#wrapper {
 
 width:950px;
  height:auto;
  padding: 13px;
  margin-right:auto;
  margin-left:auto;
  background-color:#fff;
 
}
#wrapper form ol li {
 font-weight: bold;
}
#wrapper form ol li div div label {
 font-weight: normal;
}
#wrapper form ol li div {
 font-weight: normal;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>
<body>
<form method="post" action="#">

<div>
<p class="member"><h3>Authentification</h3></p>
<p>Login</p>
<input type='text' name="t1" id="t1"/>
<p>Password</p>
<p>
  <input type='Password' name="t2" id="t2"/>
  <input name="b1" type="submit" class="login" id="b1"/>
  </br>
</p>
</form>

<?php
//---------------------------------------------------------
//   REQUETE
//---------------------------------------------------------
$login ="no_post";
$pasw ="no_post";
if( isset ($_POST['b1'] ) ){ 
    Echo "<p><h2> Variables POST : </h2><br>";
    print_r($_POST);
    Echo "</p>";
    //----------------------------------------------------
    //  RECUPERATION DES VARIABLES POST
    //----------------------------------------------------
    $login = isset($_POST['t1'])?$_POST['t1']:'';
    $pasw= isset($_POST['t2'])?$_POST['t2']:'';
     //----------------------------------------------------
 if($login && $pasw){
   $sql="SELECT * 
           FROM utilisateurs 
           WHERE login='". $login."'
           AND pass='".$pasw."'";

  //------------------------------------------------------  
  // Le temps des tests..
  // pour vérifier que ta requête est bonne:
   print_r($sql);
  //------------------------------------------------------
  $dr = mysql_query($sql);
  $ligne=mysql_fetch_array($dr);

  // Verification que l'utilisateur/pasword 
  // ne retourne qu' UN  seul utilisateur
  if(count($ligne)==1){
    // le temps des tests.. tu peux commenter la redirection
    // pour voir si ta requête est bonne...(et tu remplaces par
    // un echo:
    echo '<p>';
    $_SESSION['login']= $login;
     echo " OK - Utilisateur => ". $_SESSION['login']; 
    echo '</p>';
   //header("location:Quiz.php");
  }else{
    echo '<p>';
    echo 'login ou mot de passe invalide ou nombre d\'utilisateurs incorrecte !';
    echo '</p>';
  }
}else{
Echo "<p> Login ou Password non renseigné </p>";
}

}
?>
     </div>
   </body>
</html>


Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
-
Je ne t'ai pas dit de modifier le form...juste de decommenter le header location !!!
De toutes façons. .ton login password est faut...tu as testé ta requête en direct dans ta bdd ???
jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
-
Pour être un peu plus précis... que donne, directement dans ta base de données..la requête :
SELECT * FROM utilisateurs WHERE login='***@***' AND pass='2222' 

en remplaçant les *** par la bonne valeur. bien sûr.

Est-ce que ça te retourne une ligne (et une seule ) ?

Si c'esr le cas
(et UNIQUEMENT DANS CE CAS)... les points 1 et 2 de ma question précédente sont OK.
et tu peux donc (tout en laissant le FORM action="#" ) decommenter la ligne
//header("location:Quiz.php");




NB : une fois que tu as validé... tu es redirigé vers la page quizz.php.
Hors... ce n'est pas dans cette page que tu affiches le résultat du quizz ( et le nom du user) mais dans la page encore d'après... process.php.

Donc.. dans la page process.php tu pourras ajouter si ce n'est pas déjà fait :
  <?php
  $login= isset($_SESSION['login'])?$_SESSION['login']:'error';
  echo "<br> Le Login est : " .$login."<br>";
?> 


Sans oublier de mettre en début de ton script :
session_start(); 


Sa
pour ma base donnée elle marche bien
mais quand j'enleve le form action="#" dans la page index elle reste dans la premier page :/
et quand je laisse le form action ="quiz.php " je trouve l'erreur au niveau de login
jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
-
Tu as bien enlevé les slash devant la ligne header ???

Ça t'affiche quoi ?
avec le form action=quiz.php
Le Login est : error
Your Score


?>
Bienvenue:error
Your Score is
0/30
avec le form action="#"
Variables POST :

Array ( [t1] => ***@*** [t2] => 1111 [b1] => Envoyer )

SELECT * FROM utilisateurs WHERE login='***@***' AND pass='1111'

login ou mot de passe invalide ou nombre d'utilisateurs incorrecte !
>
Commenter la réponse de jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
0
Merci
Tu as du mal à comprendre comment ça fonctionne....

Lorsque tu utilises un formulaire et que tu mets ACTION="une_page.php" .. au momment de la validation du formulaire tu es directement redirigé vers cette page......
(donc tout le code que tu mets dans ta première page n'est pas exécutée..)

Donc.. soit tu déplaces le code de varification de LOGIN dans ta page quizz.php....

Soit tu mets <form action="#" et là.. ton formulaire appelle la page actuelle...et éxécute le code qui s'y trouve...

Donc... en partant du principe que tu LAISSES action="#" ...
Pour l'instant tu obtiens :
avec le form action="#"
Variables POST :

Array ( [t1] => ***@*** [t2] => 1111 [b1] => Envoyer )

SELECT * FROM utilisateurs WHERE login='***@***' AND pass='1111'

login ou mot de passe invalide ou nombre d'utilisateurs incorrecte !

Je souhaiterais savoir ce que ta requête retourne EXACTEMENT lorsque tu l'exécutes dans ta BDD ;.....
Combien de Lignes sont retournées ????
Car là... le message est clair :
- Soit tes identifiants sont faux
- Soit tu as plus d'une ligne de résultat...

Au cas où, peux tu tester ceci :
<?php 
session_start(); 
include('connexion.php');

 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type='text/css'>
#wrapper {
 
 width:950px;
  height:auto;
  padding: 13px;
  margin-right:auto;
  margin-left:auto;
  background-color:#fff;
 
}
#wrapper form ol li {
 font-weight: bold;
}
#wrapper form ol li div div label {
 font-weight: normal;
}
#wrapper form ol li div {
 font-weight: normal;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>
<body>
<!-- NE PAS MODIFIER !!!!!!! -->
<form method="post" action="#">

<div>
<p class="member"><h3>Authentification</h3></p>
<p>Login</p>
<input type='text' name="t1" id="t1"/>
<p>Password</p>
<p>
  <input type='Password' name="t2" id="t2"/>
  <input name="b1" type="submit" class="login" id="b1"/>
  </br>
</p>
</form>

<?php
//---------------------------------------------------------
//   REQUETE
//---------------------------------------------------------
$login ="no_post";
$pasw ="no_post";
if( isset ($_POST['b1'] ) ){ 
    Echo "<p><h2> Variables POST : </h2><br>";
    print_r($_POST);
    Echo "</p>";
    //----------------------------------------------------
    //  RECUPERATION DES VARIABLES POST
    //----------------------------------------------------
    $login = isset($_POST['t1'])?$_POST['t1']:'';
    $pasw= isset($_POST['t2'])?$_POST['t2']:'';
     //----------------------------------------------------
 if($login && $pasw){
   $sql="SELECT * 
           FROM utilisateurs 
           WHERE login='". $login."'
           AND pass='".$pasw."'";

  //------------------------------------------------------  
  // Le temps des tests..
  // pour vérifier que ta requête est bonne:
   print_r($sql);
  //------------------------------------------------------
  $dr = mysql_query($sql) or die("Erreur dans la requête  :".mysql_error()) ;
  $ligne=mysql_fetch_array($dr);

  //------------------------------------------------------  
  // Le temps des tests..
 // Pour savoir ce que te retournes ta requête :
   echo "<p> RESULTAT DE LA REQUETE : <br>";
   print_r( $ligne);
   echo " </p>";


  // Verification que l'utilisateur/pasword 
  // ne retourne qu' UN  seul utilisateur
  if(count($ligne)==1){
    // le temps des tests.. tu peux commenter la redirection
    // pour voir si ta requête est bonne...(et tu remplaces par
    // un echo:
    echo '<p>';
    $_SESSION['login']= $login;
     echo " OK - Utilisateur => ". $_SESSION['login']; 
    echo '</p>';
      //header("location:Quiz.php");
  }else{
    echo '<p>';
    echo 'login ou mot de passe invalide ou nombre d\'utilisateurs incorrecte !';
   echo '<br> Nb de lignes retournées : ".count($ligne)."<br>";
    echo '</p>';
  }
}else{
Echo "<p> Login ou Password non renseigné </p>";
}

}
?>
     </div>
   </body>
</html>



jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
-
Autant pour moi... petite erreur de frappe.
Tu peux remplacer par :
?php 
session_start(); 
include('connexion.php');

 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type='text/css'>
#wrapper {
 
 width:950px;
  height:auto;
  padding: 13px;
  margin-right:auto;
  margin-left:auto;
  background-color:#fff;
 
}
#wrapper form ol li {
 font-weight: bold;
}
#wrapper form ol li div div label {
 font-weight: normal;
}
#wrapper form ol li div {
 font-weight: normal;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>
<body>
<!-- NE PAS MODIFIER !!!!!!! -->
<form method="post" action="#">

<div>
<p class="member"><h3>Authentification</h3></p>
<p>Login</p>
<input type='text' name="t1" id="t1"/>
<p>Password</p>
<p>
  <input type='Password' name="t2" id="t2"/>
  <input name="b1" type="submit" class="login" id="b1"/>
  </br>
</p>
</form>

<?php
//---------------------------------------------------------
//   REQUETE
//---------------------------------------------------------
$login ="no_post";
$pasw ="no_post";
if( isset ($_POST['b1'] ) ){ 
    Echo "<p><h2> Variables POST : </h2><br>";
    print_r($_POST);
    Echo "</p>";
    //----------------------------------------------------
    //  RECUPERATION DES VARIABLES POST
    //----------------------------------------------------
    $login = isset($_POST['t1'])?$_POST['t1']:'';
    $pasw= isset($_POST['t2'])?$_POST['t2']:'';
     //----------------------------------------------------
 if($login && $pasw){
   $sql="SELECT * 
           FROM utilisateurs 
           WHERE login='". $login."'
           AND pass='".$pasw."'";

  //------------------------------------------------------  
  // Le temps des tests..
  // pour vérifier que ta requête est bonne:
   print_r($sql);
  //------------------------------------------------------
  $dr = mysql_query($sql) or die("Erreur dans la requête  :".mysql_error()) ;
 $num_rows = mysql_num_rows($dr);
  $ligne=mysql_fetch_array($dr);

  //------------------------------------------------------  
  // Le temps des tests..
 // Pour savoir ce que te retournes ta requête :
   echo "<p> RESULTAT DE LA REQUETE : <br>";
   print_r( $ligne);
   echo " </p>";


  // Verification que l'utilisateur/pasword 
  // ne retourne qu' UN  seul utilisateur
  if( $num_rows == 1){
    // le temps des tests.. tu peux commenter la redirection
    // pour voir si ta requête est bonne...(et tu remplaces par
    // un echo:
    echo '<p>';
    $_SESSION['login']= $login;
     echo " OK - Utilisateur => ". $_SESSION['login']; 
    echo '</p>';
      //header("location:Quiz.php");
  }else{
    echo '<p>';
    echo 'login ou mot de passe invalide ou nombre d\'utilisateurs incorrecte !';
   echo "<br> Nb de lignes retournées : ". $num_rows."<br>";
    echo '</p>';
  }
}else{
Echo "<p> Login ou Password non renseigné </p>";
}

}
?>
     </div>
   </body>
</html>




Variables POST :

Array ( [t1] => user1 @ gmail .fr [t2] => 1111 [b1] => Envoyer )

SELECT * FROM utilisateurs WHERE login=' user1 @ gmail .fr' AND pass='1111'

RESULTAT DE LA REQUETE :
Array ( [0] => 1 [id_user] => 1 [1] => user1 @ gmail .fr [login] => user1 @ gmail. fr [2] => 1111 [pass] => 1111 [3] => 0 [score] => 0 [4] => 2014-04-02 [Date] => 2014-04-02 )

OK - Utilisateur => user1 @ gmail .fr
jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
-
Super.
Maintenant de-commente la ligne HEADER.
//....

    $_SESSION['login']= $login;
     echo " OK - Utilisateur => ". $_SESSION['login']; 
    echo '</p>';
      header("location:Quiz.php");
  }else{

//...
c'est bon maintenant sa marche tres bien merciii bcppppppp que dieu te garde :)
jordane45
Messages postés
23629
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
-
Bonne continuation.
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.