У меня есть простая форма ввода с кнопкой отправки на моем сайте
<form action="signup.php" method="post" name="form">
<div class="input">
<input type="text" class="button" id="email" name="email" placeholder="[email protected]">
<input type="submit" name="submit" class="button" id="submit" value="submit">
</div>
</form>
Введенный текст записывается в текстовый документ с помощью скрипта signup.php.
<?php
if(isset($_POST['submit']))
{
$email = $_POST['email'];
$file = fopen("signup.txt","a+");
fwrite($file,$email);
fclose($file);
print_r(error_get_last());
}
?>
Все работает нормально. Но всякий раз, когда нажимается кнопка «Отправить», в php-скрипте открывается пустая вкладка. Как я могу избавиться от этого и заменить форму ввода какой-то обратной связи?
Как я вижу, вы указываете на пустую страницу php со скриптом, поэтому вы получаете пустую страницу после нажатия кнопки Отправить.
Во-вторых, ваше утверждение if неверно.
Лучше всего было бы поместить все на одну страницу с именем signup.php
Я бы сделал это так:
<form action="signup.php" method="post" name="submit">
<div class="input">
<input type="text" class="button" id="email" name="email" placeholder="[email protected]">
<input type="submit" name="submit" class="button" id="submit" value="submit">
</div>
</form>
<?php
if(isset($_POST['email']))
{
$email = $_POST['email'];
$file = fopen("signup.txt","a+");
fwrite($file,$email);
fclose($file);
if(error_get_last() == null) echo "<p>Your signup was recorded</p>";
else print_r(error_get_last());
}
?>
и вы можете добавить любой класс к этому абзацу, чтобы он выглядел так, как вы хотите, и располагался там, где вы хотите.
Я надеюсь, что это поможет вам.
Вы можете просто использовать html в своем .php файле под?>, И он будет отображать его. Пытаться:
<p>Thank you for subscribing</p>
Вы должны обновить это, чтобы соответствовать красивому дизайну, который вы имеете на первой странице.
РЕДАКТИРОВАТЬ:
Вы также можете сделать что-то вроде
if(error_get_last() == null) echo "<p>Thanks for subscribing</p>";
else print_r(error_get_last());