Я выполняю задание PHP и собираю информацию о пользователе и сохраняю ее в файле в зависимости от того, подписан пользователь или нет. Отказ от ответственности: Я знаю, что лучше делать это в базе данных и использовать mySQL, но мы этого еще не узнали, и нам сказали использовать PHP. У меня есть переключатели, которые определяют, подписываться или отписываться. Вот те
<input type="radio" name="sub" value="subscribe" checked="checked" />
<input type="radio" name="sub" value="unsubscribe" />
У меня есть подписка, которая будет проверена по умолчанию. Я получаю результат переключателя в переменной $Action
перечислено ниже. По какой-то причине, однако, каждый раз, когда я пытаюсь «подписаться», я всегда получаю die
сообщение «Невозможно создать файл!» и я не уверен, почему я получаю это. Вот мой код ниже.
$Name = htmlspecialchars($_POST['name']);
$EmailAddress = htmlspecialchars($_POST['emailaddress']);
$Action = $_POST['sub'];
if($EmailAddress == "") {
print "<p>Error. No email address. Please try again.</p>";
$move = 0;
} else {
$move = 1;
}
if($move) {
// If the user subscribes, make a file for them.
if($Action == "subscribe") {
// Create a file for each user saved as their email address.
$myfile = fopen($_POST['emailaddress'] . ".txt", "w") or die("Unable to create file!");
$txt = "Name: " . $_POST['name'] . "\n"; // Add the name to the file
fwrite($myfile, $txt);
$txt = "Email Address: " . $_POST['emailaddress'] . "\n"; // Add the email address to the file
fwrite($myfile, $txt);
// Check which preferences are set. Add to file if they are checked.
if(isset($_POST['compositions'])) {
$txt = "Preference: " . $_POST['compositions'] . "\n"; // Add the first preference to the file if checked
fwrite($myfile, $txt);
}
if(isset($_POST['marchingband'])) {
$txt = "Preference: " . $_POST['marchingband'] . "\n"; // Add the second preference to the file if checked
}
if(isset($_POST['projects'])) {
$txt = "Preference: " . $_POST['projects'] . "\n"; // Add the third preference to the file if checked
}
if(isset($_POST['events'])) {
$txt = "Preference: " . $_POST['events'] . "\n"; // Add the fourth preference to the file is checked
}
fclose($myfile);
print "<p>Thank you for subscribing!</p>";
} else {
// If a user unsubscribes, delete their file.
unlink($_POST['emailaddress'] . ".txt");
print "<p>You have successfully unsubscribed.</p>";
}
}
Может кто-нибудь помочь мне понять, почему я получаю сообщение об ошибке каждый раз, когда я заполняю все необходимые поля, как я должен? Благодарю.
Задача ещё не решена.
Других решений пока нет …