我怀疑这个问题之前有问题,但是我用一句话写错了所以如果它是重复的话我很抱歉但是我确实向谷歌询问了很多,但得到的答案与我想要找到的完全无关。 / p>
一点背景 我有一堆处理身份验证的html和php文件。 我有一个调用home.php的login.html表单,其中(1)根据用户名和密码验证用户,然后(2)显示主屏幕。因此home.php具有以下变量赋值:
$username = $_POST[“username”];
$password = $_POST[“password”];
问题是当我使用从“change_password.html”中的表单调用的另一个文件“change_password.php”时。在php文件中,只有三个变量:$ oldpword,$ newpword和$ newconfirmationpword这就是我需要更改密码的全部内容。一旦密码成功更改,我希望用户按“主页”按钮(home.php)。
但是,当选择主页按钮并运行home.php文件时,我收到一条错误消息,指出变量$ username和$ password未定义。我怀疑是因为调用change_password.php文件的表单在<input>
元素中没有$ username和$ password变量。因此,当运行两个赋值代码时,$ _POST []变量为空(或未定义)。
有解决方法吗?我的最终目标是摆脱未定义的错误。
答案 0 :(得分:0)
$ _POST数组随处可用,因为它是一个超级全局数组。 您可以随意访问这些值。只需确保您使用了session_start();
$username = $_POST[“username”];
$password = $_POST[“password”];
在使用之前设置变量。
答案 1 :(得分:0)
我认为首先定义变量会更好。你可以试试
$ username = $ _POST [“username”]? $ _POST [“用户名”]:&#39;&#39;;
$ password = $ _POST [“password”]? $ _POST [“密码”]:&#39;&#39;;