php菜鸟级的提问。。求帮忙解答- -

<!DOCTYPEhtml><html><head><style>.error{color:#FF0000;}</style></head><body><?php$mai... <!DOCTYPE html>
<html>
<head>
<style>
.error {color : #FF0000;}
</style>
</head>
<body>
<?php
$mailNameErr = $mailPwdErr = "";
$mailName = $mailPwd = "";
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if(empty($_POST["mailName"]))
{
$mailNameErr = "邮箱账号必须填写!";
}
else
{
$mailName = test_input($_POST["mailName"]);
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$mailName))
{
$mailNameErr = "邮箱格式错误!";
}
}
if(empty($_POST["mailPwd"]))
{
$mailPwdErr = "邮箱密码必须填写!";
}
else
{
$mailPwd = test_input($_POST["mailPwd"]);
}
}
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>

<p><span class="error">带有*的必须填写</span></P>
<form method="post" action="car.php">
<table>
<tr>
<td>邮箱账号:</td>
<td><input type="text" name="mailName"></td>
<td class="error">*<?php echo $mailNameErr;?></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="mailPwd"></td>
<td class = "error">*</td>
</tr>
<tr>
<td><input type="submit" value="登陆"></td>
<td><input type="button" value="注册" onclick = "window.location.href='zc.php'"></td>
</tr>
</table>
</form>
</body>
</html>

为什么我做的这个不会先验证,点击登录会直接跳转到day.php页面。。为嘛啊!!到底是为嘛啊!!
展开
 我来答
蝉时沐雨
2014-08-04
知道答主
回答量:38
采纳率:0%
帮助的人:11万
展开全部
哥们 ,正常的表单正则验证都是JS正则验证
你现在用的是php正则验证,并且你的按钮 做JS跳转 仅仅只是相当于触发一个超链接,根本不是表单提交,
换句话说你的条件 if ($_SERVER["REQUEST_METHOD"] == "POST") 根本就不成立

所以 里面的代码根本不会执行

解决------
1、最好的方式是换JS验证
2、非要这样写的话 ,把你的提交按钮换成普通的提交按钮,不要触发JS跳转,然后 action写成本页面,JS处理完成之后 ,再想办法跳转CAR页面 (不现实的方法。。。)

提醒你一下,排错方法中 ,像这种PHP脚本不触发的话,直接把你的触发条件输出看看怎么回事
影翼视觉lyl
2014-08-04 · TA获得超过630个赞
知道小有建树答主
回答量:1279
采纳率:50%
帮助的人:676万
展开全部
哎,你这是一段php代码,当然不会先验证啊,你要是想验证账号密码不能为空可以用js来啊
<form method="post" action="car.php" id="checkname">
<table>
<tr>
<td>邮箱账号:</td>
<td><input type="text" name="mailName"></td>
<td class="error">*<?php echo $mailNameErr;?></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="mailPwd"></td>
<td class = "error">*</td>
</tr>
<tr>
<td><input type="submit" value="登陆" onClick="return check()"></td>
<td><input type="button" value="注册" onclick = "window.location.href='zc.php'"></td>
</tr>
</table>
</form>
<script>
function check(){
if(checkname.mailName.value==""){
alert("账号不能为空");
return false;
}
if(checkname.mailPwd.value==""){
alert("密码不能为空");
return false;
}
return true;
}
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzs1949
2014-08-04 · TA获得超过1600个赞
知道小有建树答主
回答量:1250
采纳率:80%
帮助的人:1122万
展开全部
因为,你需要把那些验证,写到day.php才可以
如果你希望在本页验证,那就不能用PHP代码,而需要用JS代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式