通知在include('connect-db.php')
之后的$ query行上MyCode.PhP
function SignUp()
{
if(!empty($_POST['email']))
{
include('connect-db.php');
$query = mysqli_query ($db, "SELECT * FROM admin WHERE email = '$_POST [email]'")
or die(mysqli_error());
if(!$row = mysqli_fetch_array($query) or die(mysqli_error()))
{
newuser();
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Admin Registration Successful')
window.location.href='adminhome.php';
</SCRIPT>");
}
else
{
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Sorry You are already a registered user!')
window.location.href='adminhome.php';
</SCRIPT>");
}
}
}
任何人都有任何想法如何解决这个问题。 代码仍然可以正常工作但我想摆脱它所以请不要建议关闭错误报告:)
“应注意通知,因此名称为” - Stack Overflow
提前致谢!
答案 0 :(得分:2)
您容易受sql injection attacks攻击,并且查询字符串中有额外的空格:
$query = mysqli_query ($db, "SELECT * FROM admin WHERE email = '$_POST [email]'")
^--here
由于$_POST
和[email]
之间有空格,因此PHP会将array string
视为array[key]
,而不是Array
。字符串上下文中的数组只是单词a = ["foo", "boo"]
for i, v in enumerate(a):
print("{}: {}".format(i + 1, v))
,您会收到该警告,因为 ARE 在字符串上下文中使用数组。