Comment puis-je obtenir mon code html / php pour diriger deux pages différentes de 1 bouton soumettre?

voix
0

Je suis en train d'utiliser PHP pour diriger vers une forme différente en fonction du combo nom d'utilisateur et mot de passe entré: ssmith va main_menu.php et tsmith va à menu.php. J'ai essayé tout ce que je peux penser, et je ne pouvais pas trouver quoi que ce soit sur Google. Est-ce que quelqu'un sait comment faire ça? Lorsque je clique sur le « login » bouton, peu importe si je mets ssmith ou tsmith, il va main_menu.php toujours. Voici mon code actuel:

<?php

//Connect to database
include db_connect.php;

//Get variable from login form
$username=$_POST['username'];
$password=$_POST['password'];

//Check if any text has been entered in username and password
if ((empty($username)) || empty($password)){
echo Please enter a username or password. Go back to the <a 
href='Index.php'>login page</a>;
}

else {

//Check to see if username and password is found in table
$sql=SELECT * FROM accounts WHERE Username='ssmith';

//Place the result of the sql query into the variable $result
$result=$mysqli->query($sql);

if($result=ssmith){

//Display main menu page
header(location:main_menu.php);

}

else {
//Check to see if username and password is found in table
$sql=SELECT * FROM accounts WHERE Username='tsmith';

//Place the result of the sql query into the variable $result
$result=$mysqli->query($sql);

if($result=tsmith){

//Display menu page
header(location:menu.php);


}

else {

//Display error message
echo Please username and password could not be found. Go back to the <a 
href='Index.php'>login page</a>;

}


}

}

?> 
Créé 20/10/2018 à 03:11
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
0

Peut-être certains regex serait utile ici avec une certaine sécurité à l'esprit.

if(preg_match("/ssmith/", $result)){
$url = "main_menu.php";
}
else if(preg_match("/tsmith/", $result)){
$url = "menu.php";
}
else{
echo "Please username and password could not be found. Go back to the <a 
href='Index.php'>login page</a>";
}

header("location: $url");
Créé 20/10/2018 à 04:18
source utilisateur

voix
0

vérifiez d'abord la lettre U en nom d'utilisateur. est le même nom que vous avez utilisé dans la base de données. autrement utiliser le code suivant

    //first search anything from accounts
$sql="SELECT * FROM accounts";

//then navigate header according to the result
$result_query=$mysqli->query($sql);

if (mysqli_num_rows($result_query) > 0){
    while($result = mysqli_fetch_assoc($result_query)){
        if($result['username'] == 'ssmith'){
           header("location:main_menu.php");
        }elseif($result['username'] == 'tsmith'){
           header("location:menu.php");
        }
    }
}
Créé 20/10/2018 à 03:34
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more