<?php
$name=$_POST['name'];
$password=$_POST['password'];
if ((!isset($name)) || (!isset($password))) {
?>
<h1>Please Log In</h1>
<p>This page is secret.</p>
<form method="post" action="logindb.php">
<p>Username: <input type="text" name="name"></p>
<p>Password: <input type="password" name="password"></p>
<p><input type="submit" name="submit" value="Log In"></p>
</form>
<?php
} else {
$mysql = mysqli_connect("localhost", "webauth", "123456");
if(!$mysql) {
echo "Cannot connect to database.";
exit;
}
$selected = mysqli_select_db($mysql, "auth");
if(!$selected) {
echo "Cannot select database.";
exit;
}
$query = "select count(*) from authorised_users where
name = '".$name."' and
password = '".$password."'"; $result = mysqli_query($mysql, $query);
if(!$result) {
echo "Cannot run query.";
exit;
}
$row = mysqli_fetch_row($result);
$count = $row[0];
if ($count > 0) {
echo "<h1>Here it is!</h1>
<p>I bet you are glad you can see this secret page.</p>";
} else {
echo "<h1>Go Away!</h1>
<p>You are not authorized to use this resource.</p>";
}
}
?>报错如下:Notice: Undefined index: name in C:\wamp\www\logindb.php on line 2
Notice: Undefined index: password in C:\wamp\www\logindb.php on line 3
以前貌似没这个问题,重新装了个版本的WAMP,出现了这个问题,奇怪
$name=$_POST['name'];
$password=$_POST['password'];
if ((!isset($name)) || (!isset($password))) {
?>
<h1>Please Log In</h1>
<p>This page is secret.</p>
<form method="post" action="logindb.php">
<p>Username: <input type="text" name="name"></p>
<p>Password: <input type="password" name="password"></p>
<p><input type="submit" name="submit" value="Log In"></p>
</form>
<?php
} else {
$mysql = mysqli_connect("localhost", "webauth", "123456");
if(!$mysql) {
echo "Cannot connect to database.";
exit;
}
$selected = mysqli_select_db($mysql, "auth");
if(!$selected) {
echo "Cannot select database.";
exit;
}
$query = "select count(*) from authorised_users where
name = '".$name."' and
password = '".$password."'"; $result = mysqli_query($mysql, $query);
if(!$result) {
echo "Cannot run query.";
exit;
}
$row = mysqli_fetch_row($result);
$count = $row[0];
if ($count > 0) {
echo "<h1>Here it is!</h1>
<p>I bet you are glad you can see this secret page.</p>";
} else {
echo "<h1>Go Away!</h1>
<p>You are not authorized to use this resource.</p>";
}
}
?>报错如下:Notice: Undefined index: name in C:\wamp\www\logindb.php on line 2
Notice: Undefined index: password in C:\wamp\www\logindb.php on line 3
以前貌似没这个问题,重新装了个版本的WAMP,出现了这个问题,奇怪
解决方案 »
- stdClass Object 输出问题
- 求教下一个字符串或数组取值的函数
- 我晕死,才发现CSDN是按年来分类未结帖子的,想累死我啊!!!
- linux下php开发问题,急急急!!!
- 求助!php连接数据库显示"?/214?/211..."
- 有个局域网考试系统,客户要求考完后可以直接按某个键直接关机,要什么写.
- 不能运行php文件,100分求助
- 我用的htmleditor编辑器在IE5下正常,在IE6下不能正常为文字加上超级连接,是怎么回事啊?
- 为什么在win2k server下无法安装mysql
- 为什么加载筛选器php4isapi.dll,为什么始终加载不了?
- 新手求解include_path问题?
- 求一个修改图片文件名参数
修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE
$name=“”;
$password=“”;
就不报了
应该是你要加个判断,
if(!empty($_POST['submit']))
{
$name=$_POST['name'];
$password=$_POST['password'];
}
if(!empty($_POST['submit']))
{
$name=$_POST['name'];
$password=$_POST['password'];
}
{
$name=$_POST['name'];
$password=$_POST['password'];
}这才是正确的方法,在使用POST数据之前,事先就要对数据的正确性进行判断,连input是否存在都不知道,就贸然使用,在生产环境是不可接受的。