[英]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.