我在哪里运行这个validateForm方法?我是一个非常新手的PHP开发人员,正在开发Web开发

时间:2010-02-19 15:40:51

标签: php methods

这就是我所拥有的:

<html>
<head>
    <?php
    $validForm = false;

    function getValue($field){
        if(isset($_GET[$field])){
            return $_GET[$field];
        }
        else{
            return "";
        }
    }

    function validateForm(){
     //magic goes here.   
    }        
    ?>
</head>

<body>
    <?php if($validForm == false){ ?>
    <form action="class2.php" method="get">
        <dl>
            <dt>First Name:</dt>
            <dd><input type="text" value="<?php echo htmlspecialchars(getValue('name')) ?>" name="name" />                    
            </dd>                

            <dt>Last Name:</dt>
            <dd><input type="text" value="<?php echo htmlspecialchars(getValue('lastname')) ?>" name="lastname" />                    
            </dd>

            <br />                
            <dt>
                <input type="submit" value="enviar" />
            </dt>                
        </dl>
    </form>
    <?php
    } else {
    ?>

    <h1>Congratulations, you succesfully filled out the form!</h1>

    <?php }
    ?>
</body>

我在哪里调用validateForm()?我不确定。 我想要的是继续显示表单,直到$ validForm变量为true。 :)

谢谢你,所以你总是帮助我。

4 个答案:

答案 0 :(得分:0)

您必须在提交按钮中添加名称:

  <input type="submit" value="enviar" name="validate" />

在声明validateForm之后

你把

if(getValue("validate") != "")
validateForm();

答案 1 :(得分:0)

function validateForm(){
 if ( ) // Your form conditions go here
 {
    return true;
 } else {
    return false;
 }
} 
if ( $_GET ) // Only validate the form if it was submitted
{
   $validForm = validateForm();
} else {
   $validForm = false;
}

某些条件的例子:

if ( !empty ( $_GET[ 'name' ] ) and !empty ( $_GET[ 'lastname' ] ) ) // Check if the user entered something in both fields

我只建议您更改getValue功能。

改变

是个好主意
return $_GET[$field];

类似

return htmlspecialchars ( trim ( $_GET[$field] ) );

这将删除不必要的空格并立即转义输出。

您应采取的下一步或可能的第一步是将表单从GET更改为POST,在大多数情况下,通过{{1}发送表单数据是一个坏主意}。

答案 2 :(得分:0)

  1. 当您尝试验证表单数据(检查$ _GET变量,即通过URL提交的数据)时,我会检查getValue函数中的$ _POST变量,您也可能想要添加“微调”
  2. 给提交按钮一个id并检查表单是否以这样的方式提交
  3. e.g。 <input type="submit" value="enviar" id="submitButton" />

    设置$ validForm会看到这个:$validForm = validateForm();(而不是“$ validForm = false;”)

    你的validateForm函数应检查“$ _POST [”submitButton“]”是否已设置,如果你的数据有效(设置,正确类型等等),如果所有这些都没问题,则返回“true” “,否则”假“

答案 3 :(得分:0)

<html>
  <head>
  <?php
    $validForm = validateForm();

下进行。