我有一個簡單的腳本來允許用戶註冊一個帳戶。正在發生未定義約$ _ POST指標的警告在接收到表單提交腳本的以下兩行:當索引被明確定義時,PHP會發出未定義索引的警告
$email = mysql_real_escape_string($_POST['email']);
$username = mysql_real_escape_string($_POST['username']);
我試過的var_dump($ _ POST),這些指標都有明確的規定。此外,以下行工作,並進入你所期望的信息:
$id = $this->flexi_auth->insert_user($email, $username, $password, false, false, true);
如果$_POST['email']
和$_POST['username']
真的不確定的,沒有辦法,該行會的工作。在數據庫中創建的用戶使用在提交表單中輸入的用戶名和電子郵件。既然如此,爲什麼會拋出明顯虛假的警告?
不要忘記檢查$ email和$ username是否爲空。這可能是錯誤。 – Matheno 2014-10-30 10:43:46
[**請不要在新代碼中使用'mysql_ *'函數**](http://stackoverflow.com/q/12859942)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://uk.php.net/manual/en/function.mysql-connect.php)?學習[*準備的語句*](http://en.wikipedia.org/wiki/Prepared_statement),並使用[PDO](http://php.net/pdo)或[MySQLi](http:// php.net/mysqli) - [這篇文章](http://php.net/manual/en/mysqlinfo.api.choosing.php)將幫助你決定哪個。 – itachi 2014-10-30 10:58:04
發佈整個代碼。可能你在某處重寫了'$ _POST'。 – itachi 2014-10-30 10:58:50