【发布时间】:2015-09-11 21:48:52
【问题描述】:
我查看了您的页面并修复了用户名和密码上的未定义索引,但现在我得到了未定义的变量。我有更多代码,但为了测试而决定对其进行简化,然后只是回显它以查看是否有任何变化而没有变化。
<?php
if (isset($_POST['submit'])){
$uname = isset($_POST['username']);
$pass = isset($_POST['password']);
}
echo $uname;
echo $password;
?>
我明白了:
注意:未定义变量:第 7 行 C:\xampp\htdocs\8\login.php 中的 uname
注意:未定义变量:传入 C:\xampp\htdocs\8\login.php on 第 8 行
我真的不明白这里有什么问题。如果需要,这里是我的表单页面 html。
<form id="login" method="post" action="login.php">
<div id="loginon">
<label for="username" style="color:#0F0; font-family:Arial, Helvetica, sans-serif;" >Username: </label>
<input type="text" id="username" name="username" />
<br />
<br />
<label for="password" style="color:#0F0; size:auto; font-family:Arial, Helvetica, sans-serif;">Password: </label>
<input type="password" id="password" name="password" />
<br />
<br />
<input type="image" src="http://www.clker.com/cliparts/2/G/4/v/K/E/submit-hi.png" border="0" width="180px" height="80px" alt="Submit" />
</div>
</form>
</body>
编辑: 进一步的问题与此有关,所以我想我可以在这里发布。
if($username == "pikachu" || "cloud") {
$ucheck = "dobar";
} else {
$ucheck = "los";
}
if ($password == "123123" || "132132") {
$pcheck = "topar";
} else {
$pcheck = "losh";
}
if($ucheck == "dobar" && $pcheck == "topar") {
echo "Najjaci si!";
}
elseif ($ucheck == "dobar" && $pcheck == "losh") {
echo "Wimp.";
} elseif ($ucheck == "los" && $pcheck == "topar") {
echo "Fish.";
}
问题在于,无论我在以前的表单中输入什么,它总是回显“Najjaci si”。有什么想法吗?
【问题讨论】:
-
在条件前声明
$uname = $pass =""; -
没有名称为
submit的input。 -
如果我这样做,我会得到“注意:未定义的变量:第 9 行 C:\xampp\htdocs\8\login.php 中的密码”
-
@victiMusPrime 检查变量
$pass和$password...您使用的是两个不同的变量 -
我现在得到一个空白页面,这意味着表单数据没有到达页面。 Jonas m 有解决方案,但感谢大家的努力。
标签: php variables post indexing undefined