我在这里挣扎。第一次用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" );
}
答案 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好运!