2012-05-14 32 views
0
function checkInputs() 
{ 
    $fname = $_POST["fname"]; 
    $lname = $_POST['lname']; 
    $email = $_POST['email']; 
     ... 
} 
<form method = 'POST' action = 'index.php'> 
    First Name:<input type = 'text' name = 'fname'> 
    Last Name:<input type = 'text'name = 'lname'> 
    Email:<input type = 'text' name = 'email'> 
</form> 

直到单击按钮才会调用该函数。

不管我试图把在页面加载后的PHP标签且不论它仍然产生错误“未定义指数:......在

回答

1

您需要检查,如果该值存在第一个尝试使用它

如果有人离开FNAME领域的空白,并提交表格那就不是在$彦博VAR设置之前

$fname = isset($_POST["fname"]) ? $_POST["fname"] : NULL; 

if ($fname == NULL) { 
    echo "First name is required"; 
} 
0

如果您还没有包裹在适当的方法检查代码行,它会在每次加载页面时运行,无论表单是否已提交,例如当时,它的提交表单被加载

<? 
function checkInputs() { blah blah blah } 

checkInputs(); 
?> 

<form ...> 
... 
</form> 

将执行你的checkInput功能。当表单首先通过get加载时,$ _POST将是空的(因为该页面是通过GET调用请求的),并且会得到这些错误。

但是,如果您有:

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    checkInputs(); 
} 

那么当该脚本已通过POST请求调用您的检查功能才会运行。

+0

这应该是我的网页加载之前或之后? – SemicolonExpected