PHP:“您必须遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他有关法律法规。”;提交;箱

PHP:“您必须遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他有关法律法规。”;提交;箱,php,html,Php,Html,我对PHP相当陌生,在分配任务时遇到了麻烦。任务是用PHP创建一个简单的地址簿,我希望我的地址簿显示其中的所有地址,并在底部显示一个提交框,以添加更多地址。目前,我可以获得要显示的地址,但提交框给我一个错误“)注意:未定义变量:addres\u add in C:\wamp64\www\address\u tmp\address.php,第18行” 这是到目前为止我的代码,我从StackOverflow的另一个答案中获取了提交框代码,但我不知道如何修改它以满足我的需要 <?php //Op

我对PHP相当陌生,在分配任务时遇到了麻烦。任务是用PHP创建一个简单的地址簿,我希望我的地址簿显示其中的所有地址,并在底部显示一个提交框,以添加更多地址。目前,我可以获得要显示的地址,但提交框给我一个错误“)注意:未定义变量:addres\u add in C:\wamp64\www\address\u tmp\address.php,第18行”

这是到目前为止我的代码,我从StackOverflow的另一个答案中获取了提交框代码,但我不知道如何修改它以满足我的需要

<?php
//Open address book file and print to user
$fh = fopen("address_book.txt", "r+");
echo file_get_contents("address_book.txt");

//Perfom submit function
if(isset($_POST['Submit']))
    fseek($fh, 0, SEEK_END);
    fwrite($fh, "$addres_add") or die("Could not write to file");
    fclose($fh);
    print("Address added successfully. Updated book:<br /><br />");
    echo file_get_contents("address_book.txt");
{
$var = $_POST['any_name'];
}
?>
<?php
//HTML for submission box?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="text" name="any_name">
<input type="submit" name="submit">
</form> 

<p>


您从未从表单输入中分配变量。你需要:

$addres_add = $_POST['any_name'];
fwrite($fh, "$addres_add") or die("Could not write to file");
此外,如果只是添加到文件中,则应在
“a”
模式下打开它,而不是在
“r+”
模式下打开它。那么你就不需要寻找到底,那是自动发生的

您可能应该在文件的每条记录之间放置一条换行符,因此它应该是:

fwrite($fh, "$addres_add\n") or die("Could not write to file");

否则,所有地址将在同一行。

这是一个更简单的程序版本

<?php

$file_path ="address_book.txt";

// Extract the file contents as a string
$file_contents = file_get_contents($file_path);
if ($file_contents) // Check if the file opened correctly
    echo($file_contents . " \n"); // Echo contents (added newline for readability)
else
    echo("Error opening file. \n");

// Make sure both form fields are set
if(isset($_POST['submit']) && isset($_POST['any_name']))
{
    // Append the new name (used the newline character to make it more readable)
    $file_contents .= $_POST["any_name"] ."\n";
    // Write the new content string to the file
    file_put_contents($file_path, $file_contents);
    print("Address added successfully. Updated book:<br /><br />");
    echo($file_contents);
}
else
{
    echo("Both form elements must be set. \n");
}

?>
    //HTML for submission box?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <input type="text" name="any_name">
    <input type="submit" name="submit">
    </form>

//提交框的HTML?>

我看不到
$addres\u add
在给你布置作业之前,他们不教你这些基本的东西吗?@alex\u HG非常感谢你的帮助,关于这一点,我还有一个问题,在提交框中输入姓名和地址时,我如何在文件中将其格式化为与其他地址相同的格式?例如:First-Last
Street Address
Town,State,zipcode

目前,我只能将整个地址显示在一行上,后面加一个分隔符。您必须添加更多输入,并以处理any_name变量的相同方式处理数据,然后只需使用转义字符将其附加到字符串中,以使其更具可读性。例如“\t”将向字符串添加选项卡。