Pb d'authentification php

Fermé
najoua - 28 mai 2012 à 01:50
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 30 mai 2012 à 17:22
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

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
28 mai 2012 à 21:11
déja une anomalie:

$req =$connexion->query("SELECT * FROM administration where nomad='$nom' and passwordad='$password' ");
0
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)){
0
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
30 mai 2012 à 02:14
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 !
0
merci bcp, maintenant mon application fonctionne bien grace à votre solution merci :)
0
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 30/05/2012 à 17:23
Tant mieux ! :)
Résolu SVP, Merci !
0