формы — добавить электронную почту в базу данных, отправить подтверждение по электронной почте и перенаправить

Я полный новичок в PHP и у меня есть несколько сложностей в том, что, вероятно, очень просто. Часть моего сайта потребует быстрой регистрации по электронной почте для доступа.

Для начала у меня есть очень простая форма, вот HTML:

<form>
<div class="row uniform half collapse-at-2">
<div class="8u">
<input type="text" name="emailaddress" id="email" placeholder="Email Address" />
</div>
<div class="4u">
<input name="Submit" type="submit" form value="Submit" action="postemail.php" method="post">
</div>
</div>
</form>

Так что это просто простая форма, где пользователь может указать свой адрес электронной почты и кнопку отправки. Я пытаюсь подключить это к postmail.php (я думаю, что я испортил эту часть: <input name="Submit" type="submit" form value="Submit" action="postemail.php" method="post">

В настоящее время он не подключен к postemail.php, когда вы нажимаете «Отправить», ничего не происходит.

Вот postmail.php

<?php $connection = mysql_connect("localhost","user","pass"); if (!$connection) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("my_database", $connection);
$sql="INSERT INTO Subscribers (EmailAddress) VALUES ('$_POST[emailaddress]')";
if (!mysql_query($sql,$connection)) { die('Error: ' . mysql_error()); }
mysql_close($connection);
header('Location: http://www.example.com/STEP1/');?>

Так что, надеюсь, когда это сработает, после нажатия кнопки отправки адрес электронной почты будет сохранен в базе данных, и пользователь будет перенаправлен на example.com/step1.

Наконец, что я не знаю, как сделать, я хотел бы, чтобы скрипт также отправлял электронное письмо с подтверждением / приветствием на этот адрес. Могу ли я использовать что-то вроде mail("$_POST[emailaddress]",$subject,$message,"From: $from\n"); для достижения этой цели?

Большое спасибо за уделенное время.

(просто для справки: база данных с именем my_database, таблица — это подписчики, а столбец — это адрес электронной почты).

1

Решение

первое изменение в вашем HTML-коде

   <form action="postemail.php" method="post">
<div class="row uniform half collapse-at-2">
<div class="8u">
<input type="text" name="emailaddress" id="email" placeholder="Email Address" />
</div>
<div class="4u">
<input name="Submit" type="submit" value="Submit" >
</div>
</div>
</form>

затем измените в вашем postemail.php

<?php

$connection = mysql_connect("localhost","user","pass");
if (!$connection) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("my_database");
$sql="INSERT INTO Subscribers (EmailAddress) VALUES ('$_POST[emailaddress]')";
mysql_query($sql);
if(mysql_affected_rows()>0)
{
header('Location: http://www.example.com/STEP1/');
}
else{
echo "fail";
}

?>
0

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

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector