Pb d'authentification php

Bonjour,

je suis en train de developper un site web en php et je dois avoir une page d'authentification des utilisateurs voila mon code mais il ne marche pas
mais on tous cas il me donne erreur:login et password invalide
merci d'avance pour vos réponses:

<?php
include_once("config.php");
?>
<?php
$nom = isset($_POST['nomad']) ? $_POST['nomad'] : '';
$password = isset($_POST['passwordad']) ? $_POST['passwordad'] : '';

if (isset($_POST['nomad']) || isset($_POST['passwordad'])) {
// formulaire recu
// verifie les valeurs
if (empty($_POST['nomad'])) {
die ("ERREUR: Entrez un nom d'utilisateur!");
}
if (empty($_POST['passwordad'])) {
die ("ERREUR: Veuillez entrer un mot de passe!");
}

// Construit la requete
$req =$connexion->query("SELECT * FROM administration where nomad=? and passwordad=?");
if(($req['nomad']==$nom) and ($req['passwordad']==$password)){
session_start();
echo "Acces autorisé !";
header("Location:admin.php");
}
else {
// pas de résultat
// authentification impossible
echo "ERREUR: Login ou Mot de passe incorrect!";
}
}
?>

3 réponses

  1. déja une anomalie:

    $req =$connexion->query("SELECT * FROM administration where nomad='$nom' and passwordad='$password' ");
    1. j'ai essayer avec cette instruction mais ça veux pas marcher tjrs me donne des erreurs au niveau de cette instruction :if(($req['nomad']!=$nom) and ($req['passwordad']!=$password)){
  2. Salut !

    <?php 
    include_once("config.php"); 
    
    $nom = (isset($_POST['nomad']) AND !empty($_POST['nomad'])) ? $_POST['nomad'] : ''; 
    $password = (isset($_POST['passwordad']) AND !empty($_POST['passwordad'])) ? $_POST['passwordad'] : ''; 
    
    $errors = '';
    if(empty($nom)) $errors .= '<p>Entrez un nom d'utilisateur.</p>';
    if(empty($password )) $errors .= '<p>Entrez un mot de passe.</p>';
    
    if(empty($errors)) {
      $r = 'SELECT * FROM administration WHERE nomad = ? AND passwordad = ?';
    
      $req =$connexion->prepare($r);
      $req->execute(array($nom,$password));
      $data = $req->fetch();
    
      if(!empty($data)) {
        if($data['passwordad'] == $password) {
          $success = 'Acces autorisé !';
        }
        else $errors .= '<p>Mot de passe incorrect.</p>';
      }
      else $errors .= '<p>Utilisateur inconnu.</p>';
    }
    
    //----------------------------------
    //Affichage des messages, s'il y en a
    
    if(isset($success)) echo $success;
    elseif(!empty($errors)) echo $errors;
    ?>


    Remarque : Le fait de mettre une redirection après l'affichage d'un message ne laissera pas le temps a l'utilisateur de lire le message !
    1. merci bcp, maintenant mon application fonctionne bien grace à votre solution merci :)
      1. Tant mieux ! :)
        Résolu SVP, Merci !