Erreur inattendue

tino_2065 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
tino_2065 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai besoin de votre aide.j'ai deux pages d'accueils. Une page index.php (pour les simples utilisateurs) et une page home PHP( pour les administrateurs)
Je veux que si un membre se connecte qu'il est administrateur, il soit dirigé vers home.PHP
Sinon vers index.PHP.
Un ami m'a aidé j'ai essayé mais il y'a une erreur . veuillez m'aider svp.
Ci-dessous le code:


<?php
require('config1.php');
if (isset($_POST['username'])){
  $username = stripslashes($_REQUEST['username']);
  $username = mysqli_real_escape_string($conn, $username);
  $_SESSION['username'] = $username;
  $password = stripslashes($_REQUEST['password']);
  $password = mysqli_real_escape_string($conn, $password);
    $query = "SELECT * FROM `users` WHERE username='$username' 
  and password='".hash('sha256', $password)."'";
  
  $result = mysqli_query($conn,$query) or die(mysql_error());
  
  if (mysqli_num_rows($result) == 1) {
    $user = mysqli_fetch_assoc($result);
    // vérifier si l'utilisateur est un administrateur ou un utilisateur
    if ($user['type'] == 'admin') {
      header('location: admin/home.php');      
    }else{
      header('location: index.php');
    }
  }else{
    $message = "Le nom d'utilisateur ou le mot de passe est incorrect.";
  }
}
?>
<form class="box" action="" method="post" name="login">
  <DIV align=right>
<h1 class="box-logo box-title">
<a href="https://monsiteweb.com/">www.monsiteweb.com</a>
</h1></div>
<h1 class="box-title">Connexion</h1>
<input type="text" class="box-input" name="username" placeholder="Nom d'utilisateur">
<input type="password" class="box-input" name="password" placeholder="Mot de passe">
<input type="submit" value="Connexion " name="submit" class="box-button">
<p class="box-register">Vous êtes nouveau ici? 
  <a href="register.php">S'inscrire</a>
</p>
<p class="box-register">mot de pass oublié ? 
  <a href="mdp.html">RECUPERER</a>
</p>
<p class="box-register">Avez-vous des préocupations ? 
  <a href="mot-de-passe-oublie.php">Ecrivez-nous</a>
</p>
<?php if (! empty($message)) { ?>
    <p class="errorMessage"><?php echo $message; ?></p>
<?php } ?>
<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="style.css" />
</head>
<body>
</form>
</body>
</html>




EDIT: ajout des balises de code.

Configuration: Android / Chrome 80.0.3987.132

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Déjà, quand tu postes du code sur le forum, merci d'utiliser les BALISES DE CODE.
explications ( à lire entièrement !! ) disponibles ici https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

Ensuite, active l'affichage des erreurs php
voir comment faire ici :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

Vérifie également que tes fichiers sont bien encodé en utf8 (sans bom)
Voir chapitre 1 de ce lien ( tu peux lire le reste aussi au passage)
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8

Et enfin, pour que les instructions "headers" fonctionnent... il ne faut rien afficher avant.. pas de code html, pas de echo/print.. en php .. et pas d'erreurs php...
Ce qui me fait dire que ton fichier config doit contenir quelque chose dans ce genre...

PS: on n'utilises plus le SHA ... renseignes toi sur la fonction php : password_hash
et pour vérifier si le password est correct, tu devras utiliser la fonction password_verify

0
tino_2065 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup. Je suis nouveau sur ccm.
Je vais m'habituer
0