Email рассылка php не работает

Я использую шаблон, и моя новостная рассылка не работает. У меня уже есть веб-сайт онлайн.

if($_POST){

$fileName = 'newsletter.txt'; //set 777 permision for this file.
$error = false;

$email = $_POST['email'];

if (!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email))
$error = true;//If all ok, save emali adress in file
if($error == false){
$file = fopen($fileName, a);
fwrite($file, "$email,");
fclose($file);
echo 'OK';
}
}

Это HTML и часть PHP.

<div class="span7">
<form class="inline-form">
<input type="email" name="email" id="nlmail" class="span8" placeholder="Ingresá tu email" required />
<button id="subscribe" class="button button-sp">Suscribite!</button>
</form>
<div id="err-subscribe" class="error centered">Por favor dejá un mail valido </div>
</div>

-1

Решение

Вам нужно будет явно установить POST внутри вашего <form> чтобы это работало:

<form class="inline-form" method="POST">

Обратите внимание, что по умолчанию GET когда опущено.

Sidenote: Если это опечатка, вы должны исправить эту строку:

$file = fopen($fileName, a); // missing quotes on "a"

Эти режимы должны быть переданы в виде строки:

$file = fopen($fileName, 'a');
1

Другие решения

Здесь HTML-форма отправляет данные в виде GET, а php ожидает POST.

Измените форму HTML, чтобы отправлять данные как POST.

 <form class="inline-form">

должно быть

 <form class="inline-form" method="POST">

Кроме того, попробуйте отладку, если переменная электронной почты пуста или нет. Вот как вы находите, что не так.

Кроме того, режим fopen должен быть в кавычках, если только он не является переменной.

$file = fopen($fileName, "a");

Ура!

0

По вопросам рекламы [email protected]