Erreur inattendue

Fermé
tino_2065 Messages postés 24 Date d'inscription samedi 3 avril 2021 Statut Membre Dernière intervention 4 mars 2022 - Modifié le 13 nov. 2021 à 00:57
tino_2065 Messages postés 24 Date d'inscription samedi 3 avril 2021 Statut Membre Dernière intervention 4 mars 2022 - 13 nov. 2021 à 02:08
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 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 689
13 nov. 2021 à 01:02
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 24 Date d'inscription samedi 3 avril 2021 Statut Membre Dernière intervention 4 mars 2022
13 nov. 2021 à 02:08
Merci beaucoup. Je suis nouveau sur ccm.
Je vais m'habituer
0