Mes codes php ne marchent pas

Fermé
Big79824113 Messages postés 9 Date d'inscription jeudi 24 novembre 2016 Statut Membre Dernière intervention 21 décembre 2016 - Modifié par baladur13 le 24/11/2016 à 11:31
 sebastien - 25 nov. 2016 à 09:36
Bonjour,
Mes codes php ici-bas ne marchent pas.Quand je fourni le mail et le mot de passe correct et que je clique sur connexion,on ne me renvoie pas a la page bienvenue.php comme indique dans header.Aucune reaction ou on affiche compte non reconnu alors tout se trouve dans la base de donnees.Quiconque peut m'aider
<?php
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
     if ((isset($_POST['mail']) && !empty($_POST['mail'])) && (isset($_POST['psswd']) && !empty($_POST['psswd']))) {

     $base = mysql_connect ('localhost', 'root', '');
     mysql_select_db ('messagerie', $base);

     $sql = 'SELECT count(*) FROM utilisateur WHERE email="'.mysql_escape_string($_POST['mail']).'" AND psswd="'.md5(mysql_escape_string($_POST['psswd'])).'"';
     $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  $data = mysql_fetch_array($req);
  
  mysql_free_result($req);
     mysql_close();
     if ($data[0] == 1) {
      

      session_start();
      $_SESSION['mail'] = $_POST['mail'];
      
      header('Location: bienvenue.php');
      exit();
     }
     elseif ($data[0] == 0) {
      $erreur = 'Compte non reconnu.';
     }
     else {
      $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
     }
     
      }
     else {
     $erreur = 'Au moins un des champs est vide.';
     }
    }
    ?>

  <html>
    <head>
    <title>Accueil</title>
    </head>

    <body>
    Connexion à l'espace membre :<br />
    <form action="indextest.php" method="post">
    Email : <input type="email" name="mail" value="<?php if (isset($_POST['mail'])) echo stripslashes(htmlentities(trim($_POST['mail']))); ?>"><br />
    Mot de passe : <input type="password" name="psswd" value="<?php if (isset($_POST['psswd'])) echo stripslashes(htmlentities(trim($_POST['psswd']))); ?>"><br />
    <input type="submit" name="connexion" value="Connexion">
    </form>
    <a href="inscriptionMembre.php" rel="nofollow noopener noreferrer" target="_blank">Vous inscrire</a>
   
  
    </body>
    </html>


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

2 réponses

mrjenkins Messages postés 580 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 17 juillet 2018 102
24 nov. 2016 à 11:31
Salut

commence par débugger un peu toutes tes variables avec des print_r :
- $_POST
- $sql
- $data

Pour être sûr que tu as bien tout ce que tu souhaites déjà..

Et ajoute un else à ton premier if :
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
}

au cas où tu aies une erreur ici.. ^^

--
0
mrjenkins Messages postés 580 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 17 juillet 2018 102
24 nov. 2016 à 11:39
Aussi, ajoutes un echo($erreur); pour afficher une éventuelle erreur que tu as pris en charge '^^
0
mysql_select_db ('messagerie', $base);

Remplace par
$co= mysql_select_db ( LE NOM DE TA BASE A SELECTIONNER);

Il te manque aussi une ligne pour lancer la requete
exemple
 $requete = mysql_query($co, $base) or die( ) ;
  if($requete)
  {
    echo 'ok'
}
Else
{ 
echo 'une erreur c'est produite'
} 
0