簡體   English   中英

PHP頁面未將數據發送到.csv

[英]PHP page not sending data to .csv

我創建了一個PHP頁面(請參見下面的代碼),該頁面用於在提交表單之前驗證輸入到Web表單中的信息,以確保所有字段均已完成。 如果將任何字段留空,則應該顯示一條錯誤消息; 如果所有字段均已填寫,則應將數據發送到.csv文件。 問題在於它沒有驗證字段,也沒有將數據發送到.csv。 我嘗試刪除.csv,然后提交網絡表單; 它創建一個.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頁面的“操作”,以便它可以有效地提交給自己,但是現在我需要在成功提交該webform或顯示感謝消息........ 不要以為有人知道我該怎么做? 如果您可以提供說明如何做到這兩者的最佳選擇,那么我可以選擇最適合我的需求的一種。

再次感謝!

我已經檢查了您的代碼,它工作正常,並且還將數據存儲在csv文件中。

可能您應該將這些變量設為全局變量:

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

...可能在兩個<?php塊中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM