我是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的数据库,表为Subscribers,列为EmailAddress)
答案 0 :(得分:0)
首次更改您的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";
}
?>