我一直试图让PHP代码向mysqlDB提交电子邮件,但由于某种原因它无法正常工作:
这是HTML
中的表单代码 <form class="header-signup" action="registration.php" method="post">
<input name="email" class="input-side" type="email" placeholder="Sign up now">
<input type="submit" value="Go" class="btn-side">
<p class="hs-disclaimer">No spam, ever. That's a pinky promise.</p>
</form>
对于PHP,我做了以下(数据库连接信息设置为xxxxx):
<?php //start php tag
//include connect.php page for database connection
$hostname="xxxxxx";
$username="xxxxxx";
$password="xxxxxx";
$dbname="xxxxxx";
mysql_connect($hostname,$username, $password) or die ("<html><script language='JavaScript'>alert('Unable to connect to database! Please try again later.'),history.go(-1)</script></html>");
mysql_select_db($dbname);
//Include('connect.php');
//if submit is not blanked i.e. it is clicked.
If(isset($_POST['submit'])!='')
{
If($_POST['email']=='')
{
Echo "please fill the empty field.";
}
Else
{
$sql="INSERT INTO MailingList (MAIL) VALUES('".$_POST['email']."')";
$res=mysql_query($sql);
If($res)
{
Echo "Record successfully inserted";
}
Else
{
Echo "There is some problem in inserting record";
}
}
}
?>
你知道可能是什么问题吗? php文件与网页位于同一文件夹中。
感谢您的时间
此致
答案 0 :(得分:2)
$_POST['submit']
不存在,您必须指定提交按钮的名称
<input type="submit" name="submit"........>
请试试这个
答案 1 :(得分:0)
您也可以将此条件用于POST请求
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
使用var_dump($_POST);
检查输入,以查看数组中是否存在该值。
只有在你期待一个表格时才会这样。如果您想在页面上使用多个表单,则可以使用在HTML代码中命名提交按钮
<form class="header-signup" action="registration.php" method="post">
<input type="submit" name="action1" value="Go" class="btn-side">
</form>
如果您在提交按钮
上设置名称,也可以使用此功能if(isset($_POST['action1']))
{
var_dump("hit");
}