2015-10-15 71 views
-3

该通知是在$查询线包括后(“连接-db.php中”)我有一个通知:数组字符串转换,但我不能修复它

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>"); 


     } 
    } 

} 

任何人有任何想法如何解决这个问题。 所有的代码仍然工作正常,但我想摆脱它,所以请不要建议关闭错误报告:)

“的通知应注意,故而得名” - 堆栈溢出

在此先感谢!

+1

您能否详细说明错误发生的位置或时间。 –

+0

这看起来不正确以及'$ _POST [email]'。两个 – Stanimir

+0

之间有一个空格在哪一行(S)? –

回答

2

你很容易受到sql injection attacks,并在您的查询字符串有一个额外的空间:

$query = mysqli_query ($db, "SELECT * FROM admin WHERE email = '$_POST [email]'") 
                     ^--here 

既然你有$_POST[email]之间的空间,PHP是看到作为为array string,而不是array[key]。字符串上下文中的数组只是简单的Array这个词,并且您会得到该警告,因为您ARE在字符串上下文中使用了一个数组。

相关问题