PHP页面不向.csv发送数据

时间:2013-01-30 10:33:00

标签: php

我创建了一个PHP页面(参见下面的代码),该页面应该在提交之前验证输入到webform中的信息,以确保所有字段都已完成。如果任何字段留空,则应显示错误消息;如果所有字段都已填写,则应将数据发送到.csv文件。问题是它没有验证字段,也没有将数据发送到.csv。我试过删除.csv然后提交webform;它创建一个.csv,用逗号分隔条目,但没有条目(即没有文字,只有逗号)。

有人知道为什么会这样吗?

任何帮助都将不胜感激。

提前致谢!

以下是代码:

<form action="form_mailer.php" method="post">

<table>
<tr><td>Which is your name?</td>
<td><input type="text" name="formName" maxlength="50" value="<?=$varName;?>"></td></tr>     

<tr><td>What is your occupation?</td>              
<td><input type="text" name="formOccupation" maxlength="50" value="<?=$varOccupation;?>"></td></tr>  
</table>
<input type="submit" name="formSubmit" value="Submit">
</form> 

<?php
if($_POST['formSubmit'] == "Submit") 
{  
$errorMessage = "";   

if(empty($_POST['formName']))   
{    
$errorMessage .= "<li>You forgot to enter your name!</li>";  
}  
if(empty($_POST['formOccupation']))   
{    
$errorMessage .= "<li>You forgot to enter your occupation!</li>";  
}   

$varName = $_POST['formName'];  
$varOccupation = $_POST['formOccupation'];   

if(!empty($errorMessage))   
{    
echo("<p>There was an error with your form:</p>\n");    
echo("<ul>" . $errorMessage . "</ul>\n");  
}  

}    
?>

<?php
if($errorMessage != "") 
{  
echo("<p>There was an error:</p>\n");  
echo("<ul>" . $errorMessage . "</ul>\n");
} 
else
{  
$fs = fopen("data.csv","a");  
fwrite($fs,$varName . ", " . $varOccupation . "\n");  
fclose($fs);   
}
?>

更新

您好,

非常感谢您的回复。

我已经意识到我现在哪里出错了........我的表单操作为'form_mailer.php',它不是表单页面本身,而是另一个页面,它对数据执行进一步的操作在网络表格上提供。

我现在已将'form_mailer'编码带入webform .php并更改了webform页面的'action',以便它有效地提交给自己,但现在我需要在成功提交之后重定向到form_mailer页面webform或显示一条感谢消息........ 不要假设有人知道我该怎么做?如果你能提供如何做到这两点的说明那么棒然后,我可以选择最适合我需要的那个。

再次感谢!

2 个答案:

答案 0 :(得分:0)

我检查了你的代码,它运行正常,并且还将数据存储在csv文件中。

答案 1 :(得分:0)

可能你应该让这些变量全球化:

<?php
global $varName, $varOccupation
...

......可能在两个<?php块中。