我有一个相当基本的登录页面。我正在开发一个原型,同时学习PHP的输入和输出。
在我的MySql数据库中,它看起来像这样: 用户ID,用户名,密码,人才,客户。人才和客户都是二元的,只有一个可以是真的。
所以我要做的是,如果talent = 1,将它们发送到index.php,如果customer = 1,则将它们发送到recruiter.php。
我90%肯定我已经掌握了基础知识,但是因为我已经添加了额外的if来检查人才和客户,所以它破坏了我的脚本:)
最后,我需要在每个页面上进行此检查,以确保客户不会访问人才页面,反之亦然。
我是否在正确的轨道上?
我当前的脚本执行此操作:
<?php
include("resource/config.php");
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// username and password sent from Form
$myusername=addslashes($_POST['username']);
$mypassword=addslashes($_POST['password']);
$sql="SELECT UserID, talent, customer FROM useradmin WHERE username='$myusername' and passcode='$mypassword'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$active=$row['active'];
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if ($row['talent']==1) {
if ($count==1) {
$_SESSION['login_user']=$myusername;
header("location: index.php");
}
else {
$error="Your Email or Password is invalid";
}
}
elseif ($row['customer']==1) {
if ($count==1) {
$_SESSION['login_user']=$myusername;
header("location: recruiter.php");
}
else {
$error="Your Email or Password is invalid";
}
}
else {
$error="Your Login Name or Password is invalid";
}
}
?>
此外,在每个页面的顶部我都有这个,以确保只有登录用户可以访问它。
<?php
session_start();
include('config.php');
$user_check=$_SESSION['login_user'];
$ses_sql=mysql_query("select username from useradmin where username='$user_check' ");
$row=mysql_fetch_array($ses_sql);
$login_session=$row['username'];
if(!isset($login_session)) {
header("Location: login.php");
}
?>
答案 0 :(得分:2)
你不能只做这样的比较:
if (['talent']==1)
你可能想要这样比较:
if ($row['talent']==1)
本质上你正在做的是将一个数组与talent
的单个元素进行比较1
。
答案 1 :(得分:1)
应该是if ($row['talent']==1)
和elseif ($row['customer']==1)