重定向页面是用户提交空字段

时间:2015-11-06 19:21:18

标签: php

我在这里挣扎。第一次用PHP玩弄。我有一个表单,其中包含几个必填字段。如果用户尝试发送空字段,则需要捕获它。如果我输入一个空格,表格就会通过。任何帮助都将得到真正的赞赏。

这是一个字段的代码

if( isset($_POST['first_name']) and !empty($_POST['first_name']) and trim($_POST['first_name']) != '' ) $first_name = filter_var($_POST['first_name'], FILTER_SANITIZE_MAGIC_QUOTES);
else {
  $redirect = SITE_URL . substr($section, -4) . '/' . substr($section, 0, -4) . '/' . $referPage . 'first_name=' . $first_name . '&last_name=' . $last_name . '&email=' . $email . '&phone' . $phone . '&country=' . $country . '#mailingList' and header ( "Location: $redirect" );
}

2 个答案:

答案 0 :(得分:1)

您正在将$redirect设置为表达式

$redirect = SITE_URL . substr($section, -4) . '/' . substr($section, 0, -4) . '/' . $referPage . 'first_name=' . $first_name . '&last_name=' . $last_name . '&email=' . $email . '&phone' . $phone . '&country=' . $country . '#mailingList' and header ( "Location: $redirect" );

评估为。当你这样做

header ( "Location: $redirect" );

$redirect尚未确定。

例如:

php > $x = 'a' && 'a' . $x;
PHP Notice:  Undefined variable: x in php shell code on line 1
PHP Stack trace:
PHP   1. {main}() php shell code:0

你需要分手:

$redirect = SITE_URL . substr($section, -4) . '/' . substr($section, 0, -4) . '/' . $referPage . 'first_name=' . $first_name . '&last_name=' . $last_name . '&email=' . $email . '&phone' . $phone . '&country=' . $country . '#mailingList';
header("Location: $redirect");

或首先评估and之前的表达式:

($redirect = SITE_URL . substr($section, -4) . '/' . substr($section, 0, -4) . '/' . $referPage . 'first_name=' . $first_name . '&last_name=' . $last_name . '&email=' . $email . '&phone' . $phone . '&country=' . $country . '#mailingList') and header ( "Location: $redirect" );

答案 1 :(得分:0)

只是一个建议,因为你是PHP robb的初学者,看一下使用PHP的一些框架,比如Codeigniter,他们会有一些可以帮助你的功能,比如表单验证。另一个建议是,在将表单发送到服务器之前,还必须使用Javascript(jQuery会帮你一把)进行此验证。

关心并祝PHP好运!