我的服务器上有一个名为“pform.php”的文件,这就是它的样子:
<form action="password.php" method="get">
<input type="text" name="password13"/>
<input type="submit" value="Submit!"/>
</form>
我将它转移到另一个名为“password.php”的文件中,这就是它的样子:
<?php
$text=$_GET["password13"];
$right="You entered the right password!";
$wrong="You entered the wrong password!";
if($password13=="test")
{
echo $right;
}
else
{
echo $wrong;
}
?>
当我输入正确的密码时,它会返回false。
我可以更改它,以便在插入正确的密码时返回true?
答案 0 :(得分:4)
您需要通过$text
访问它,因为这是您定义的变量:
$text=$_GET["password13"];
// use $text, not $password13
if($text=="test")
{
echo $right;
}
else
{
echo $wrong;
}
答案 1 :(得分:3)
if ($text == "test")
echo $right;
else
echo $wrong;
将您的代码更改为此。您的$ password13变量未定义
答案 2 :(得分:1)
检查$ test,因为$ password13不存在: - )
答案 3 :(得分:1)
我会更改您的表单,使其至少提交为POST
,并通过输入“密码”来掩盖密码
<form action="password.php" method="post">
<input type="password" name="password13"/>
<input type="submit" value="Submit!"/>
</form>
然后像这样引用变量:
<?php
$text=$_POST["password13"];
$right="You entered the right password!";
$wrong="You entered the wrong password!";
...
请记住在比较密码值时引用$text
。
答案 4 :(得分:1)
永远不要对密码等敏感数据使用$ _GET参数,它们存储在浏览器缓存,服务器日志中,存在巨大的安全风险。
使用$ _POST,就像Jakub为你写的那样。