我创建了一个数据库,我希望有两种用户类型,基本上我想在用户名字段中基于序列中的第一个字符($ str [0])创建一个条件语句。例如,如果用户名以“A”开头,则重定向到a.html其他用户名以“B”重定向到b.html开头。
我做了一个基本的尝试,但是失败了,
if($myusername==$str ==='a:0;') {
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
} else if ($myusername==$str ==='b:0;'){
$sql="SELECT * FROM $tbl_two WHERE username='$myusername' and password='$mypassword'";
}
$result=mysql_query($sql);
答案 0 :(得分:0)
只是为了分解我认为你的问题:
如何选择字符串的第一个字符:
$string = "abc";
echo $string[0];
// This will output: "a"
使用相同的变量比较两个条件
if($myusername === $str && $myusername[0] === 'a') {
// Do something..
}
我仍然不太确定我是否理解你想要达到的目标,但至少这应该指引你朝着正确的方向前进:)
答案 1 :(得分:0)
查看你的代码,a:0;似乎来自正在解析的变量,并为您提供的不仅仅是您想要的值。
你真正想要的是直接读取值(IE,你如何读取这个值?)并检查第一个字符是否是你想要的:
$myusername = $_POST['username'];
要根据第一个字符重定向,它将如下所示:
$firstChar = substr($myusername, 0, 1);
if ($firstChar == "a")
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
elseif ($firstChar == "b")
$sql="SELECT * FROM $tbl_two WHERE username='$myusername' and password='$mypassword'";
如果你有两个以上的选项,你可能想要做一个switch语句而不是“if”。