基本的php问题

时间:2010-08-24 03:33:43

标签: php html

我真正的问题是为什么JSON会在页面加载时触发?我只希望在按下“提交”按钮时关闭它。

if (isset($_POST['submit'])) // if page is not submitted to itself echo the form
{ 
if(!$valid_zip){$error_str .= "The zip code you enter must be in the form of '99999'    or '99999-9999'\n";}
if(!$valid_phone){$error_str .= "Please enter a 10-digit phone number: '999-999-9999'\n";}
if(!$valid_mobile){$error_str .= "Please enter a 10-digit phone number: '999-999-9999'\n";}
if(!$valid_contrib){$error_str .= "Please enter a valid dollar amount: '0.00'\n";}
if(!$valid_email){$error_str .= "Please enter a valid email address: 'example@example.com'\n";}
if(!$valid_conf) {$error_str .= "Email fields do not match\n";}

?>
 <!-- <p><strong>Error: Please Select At Least One List to Sign Up For</strong></p> -->
          <script>var error = <?= json_encode($error_str);?>;
        alert(error);
      </script>
 <?}

5 个答案:

答案 0 :(得分:5)

IF
There is no element named 'submit' in the _POST array
OR
if $Email is not equal to $ConfirmEmail
OR
$info_str is empty
OR
$valid_email is zero

then do something...mostly split an error to the user.

实际上它会进行错误检查,确保请求通过表单提交,具有与确认电子邮件匹配的有效电子邮件,并且具有非空的$ info_str变量值。

答案 1 :(得分:1)

这是一堆检查,看看是否未设置某些变量/帖子字段,或者Email和ConfirmEmail变量是否不匹配。

分解成碎片:

if(                             < IF
    !isset($_POST['submit'])    < NOT (IS SET (POST FIELD 'submit'))
    ||                          < OR
    $Email!=$ConfirmEmail       < VARIABLE 'Email' IS NOT EQUAL TO VARIABLE 'ConfirmEmail'
    ||                          < OR
    !$info_str                  < NOT (VARIABLE 'info_str' IS A TRUE VALUE)
    ||                          < OR
    !$valid_email               < NOT (VARIABLE 'valid_email' IS A TRUE VALUE)
)

请注意,由于!“nots”,许多条件实际上与其他情况相反(即如果$valid_email实际上是 false则为正测试 value - 例如null)。

答案 2 :(得分:0)

是表单验证器。如果提交表单并且电子邮件等于预定义的电子邮件,则定义其他变量。

答案 3 :(得分:0)

if (                          // if
    !isset($_POST['submit'])  // 'submit' element in $_POST array is not set
    ||                        // or
    $Email != $ConfirmEmail   // $Email does not equal $ConfirmEmail
    ||                        // or
    !$info_str                // $info_str is false
    ||                        // or
    !$valid_email             // $valid_email is false
)

! 否定值。 'foo'通常被视为true,被否定的!'foo'false''(空字符串)通常被视为false,被否定的!''true。请参阅PHP type comparison tablesLogical Operators

答案 4 :(得分:0)

我只需要重新排列构造以解决我的问题。