Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编写“if”语句以便使用php/mysql登录用户_Php_Mysql - Fatal编程技术网

编写“if”语句以便使用php/mysql登录用户

编写“if”语句以便使用php/mysql登录用户,php,mysql,Php,Mysql,我想知道如何使用mysql/php编写if语句 我有一个包含所有详细信息的employee表,'username'和'password',然后是一个名为'admin'的列,其中也有一个0或1。用户可以使用用户名和密码表单框登录。我该如何编写它,以便它检查用户名/密码是否存在,然后检查admin=0并将其指向标头位置employee.php,否则如果admin=1,则将其指向标头位置admin.php 任何帮助都将不胜感激 编辑:这是我到目前为止得到的代码 $sql="SELECT * FROM

我想知道如何使用mysql/php编写if语句

我有一个包含所有详细信息的employee表,'username'和'password',然后是一个名为'admin'的列,其中也有一个0或1。用户可以使用用户名和密码表单框登录。我该如何编写它,以便它检查用户名/密码是否存在,然后检查admin=0并将其指向标头位置employee.php,否则如果admin=1,则将其指向标头位置admin.php

任何帮助都将不胜感激

编辑:这是我到目前为止得到的代码

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";

$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count==1){
    setcookie('username',$myusername,time() + (86400 * 7)); // 86400 = 1 day

if ('admin' == '0'){


header("location:employee.php");

}

else {

header("location:admin.php");

else {

header("location:fail.php");
}
}

?>

您可以尝试使用值为ADMIN和USER的选择框。您可以验证if语句中的选择框

if(select=="admin")
{
verify with DB \\admin
Redirect
}
else 
{
verify with DB  \\ end user
redirect 
}
希望能有帮助

试试这段php代码

$username = mysql_real_escape_string(stripslashes($_REQUEST['username'])); // received from post/get
$password = mysql_real_escape_string(stripslashes($_REQUEST['password'])); // received from post/get

$res = mysql_query("SELECT * FROM `employee` WHERE username='$username' AND password='$password' LIMIT 1") or die(mysql_error());
if($row = mysql_fetch_assoc($res))
{
  if($row['admin']==1)
  {
     header("location:admin.php");
     exit;
  }
  else
  {
      header("location:employee.php");
     exit;
  } 
}
else
{
  // invalid username or password
  // code here to handle
}

你张贴了每一步。现在就编码吧

建立一个新的mysqli连接

$mysqli = new mysqli("host", "user", "password", "database");
定义您的查询:

$query = "SELECT * FROM yourtablename WHERE username=? AND password=?";
创建准备好的语句:

$stmt = mysqli->prepare($query);
$stmt->execute();
绑定值:

$stmt->bind_param('ss', $submitted_username, $submitted_password);
执行以下语句:

$stmt = mysqli->prepare($query);
$stmt->execute();
检查是否有结果

如果有结果,请检查admin是0还是1,如果是1,则重定向到admin php,标题为:

例如,您可以使用获取所选数据


只需学习php.net中的示例,了解如何使用mysqli获取数据的更多信息。

到目前为止您尝试了什么?发布您尝试过的代码。以及您面临问题的领域。您正在使用不推荐使用的mysql_uu函数。改用mysqli或PDO,并使用准备好的语句来防止SQL注入。如果'admin'='0',检查是什么?这是无用的,永远都是假的。您必须从数据库中获取结果!对于旧函数,它应该是$result=mysql\u fetch\u array$result;然后将“admin”替换为$result->admin,然后得到两个没有右括号的其他函数或另一个if语句。什么是if循环?抱歉,我将编辑帖子为什么在新代码示例中解释旧的mysql_uu函数?mysqli_uu将是更好的选择。您可以直接在查询中输入$username和$password,而无需任何形式的转义。但是用户将使用一个表单来填写$username和$password。我在这里放的演示只有$username和$password有mysql\u real\u转义字符串。顺便说一句,我正在更新它。否决投票解释?感谢否决投票而不发表评论。出了什么问题--不是我,我还不能做投票的事情,我发现每个人的帮助都非常有用。我知道这一点…但通常当有人否决一个答案时,他应该说为什么-以改进答案。这一票否决是没有用的。