我刚刚开始使用PHP和HTML,需要帮助将表单输入写入文本文件。
<!DOCTYPE html>
<html>
<body>
Create Address Book Record
</br></br>
<form id="CreateAddress" action="CreateAddr.php" method="post">
User ID: <input type="text" name="User ID" /></br></br>
Name: <input type="text" name="Name" /></br></br>
Phone No.: <input type="text" name="Phone No." /></br></br>
Address: <input type="text" name="Address" /></br></br>
<input name="Create" type="submit" value="Create"/></br></br>
</form>
<a href='addrbook.txt'>Address Book</a></br>
</body>
</html>
CreateAddr.php:
<?php
include 'CreateAddrForm.html';
$file = fopen("addrbook.txt", "a+");
$status = false;
$data = '';
if (isset($_POST['User ID']) && isset($_POST['Name'])
&& isset($_POST['Phone No.']) && isset($_POST['Address']))
{
echo "hi";
$data = $_POST['User ID'] . "\n" . $_POST['Name'] .
"\n" . $_POST['Phone No.'] . "\n" . $_POST['Address'] . "\n";
echo $data;
$status = fwrite($file, $data);
if($status === false)
die('There was an error writing this file');
else
echo $status . "bytes written to file";
}
else
die('no post data to process');
?>
永远不会输入外部if语句,输出总是&#34;没有要处理的数据。&#34;非常感谢任何帮助。
答案 0 :(得分:0)
请在您的代码中非常仔细地选择您的电话号码,因为$_Post
数组中的电话号码为Phone_No_
在名字中避免使用空格,这样可以轻松实现。我建议改为使用Camel Case。
HTML:
**<!DOCTYPE html>
<html>
<body>
Create Address Book Record
</br></br>
<form id="CreateAddress" action="CreateAddr.php" method="post">
User ID: <input type="text" name="User ID" /></br></br>
Name: <input type="text" name="Name" /></br></br>
Phone No.: <input type="text" name="Phone No." /></br></br>
Address: <input type="text" name="Address" /></br></br>
<input name="Create" type="submit" value="Create"/></br></br>
</form>
<a href='addrbook.txt'>Address Book</a></br>
</body>
</html>**
PHP:
<?php
include 'CreateAddrForm.html';
$file = fopen("addrbook.txt", "a+");
$status = false;
$data = '';
if (isset($_POST['User_ID']) && isset($_POST['Name'])&& isset($_POST['Phone_No_']) && isset($_POST['Address'])) {
echo "hi";
$data = $_POST['User_ID'] . "\n" . $_POST['Name'] .
"\n" . $_POST['Phone_No'] . "\n" . $_POST['Address'] . "\n";
echo $data;
$status = fwrite($file, $data);
if($status === false)
die('There was an error writing this file');
else
echo $status . "bytes written to file";
}
else
die('no post data to process');
?>