php post表单传值问题

<formaction="login.php"method="post"><p>账户登录</p><divclass="user"><inputtype="text"nam... <form action="login.php" method="post">
<p>账户登录</p>
<div class="user"><input type="text" name="id" placeholder="学号/教师账号"></div>
<div class="pwd"><input type="password" name="pwd" placeholder="密码不得少于6位"></div>
<div class="lianjie"><a href="#" class="fpwd">忘记密码?</a><a href="#" class="insert"> 免费注册</a></div>
<br>
<input type="submit" value="登录" class="load">
</form>

login.php:
$id=($_POST["id"]);
$pwd=($_POST["pwd"]);
$sqlcon=mysql_connect('localhost','root','');
if($sqlcon)
{
mysql_select_db("lianxi",$sqlcon);
$sel=mysql_query("SELECT COUNT(*) FROM login WHERE id=$id and pwd=$pwd");
$res= mysql_fetch_array($sel);
if($res[0]<=0)
{
echo 'false';
}
else{
header("location:selectuser.html");
}
}
else{
echo 'false';
}

为何结果是 Undefined index: id
Undefined index: pwd
展开
 我来答
匿名用户
2016-07-16
展开全部
  1. 出现上面这些是 PHP 的提示而非报错,PHP 本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示。

  2. 解决方法:

    方法1:服务器配置修改
    修改 php.ini 中的 error配置下错误显示方式:将error_reporting = E_ALL 修改为
    error_reporting = E_ALL & ~E_NOTICE
    修改后重启下APCHE服务器,方可生效。


    方法2:在出现notice代码之前加上@,@表示这行有错误或是警告不要输出,@$id=$_post['id'];


    方法3:【推荐方法】

    在接受数据前进行判断处理

    $id = isset($_POST['id'])?trim($_POST['id']):0;

    是否有值,有的话就用传过来的id,没有的话给它一个默认值,上面给的是0,你可以随便给,看你需求;

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式