PHP提交无法使用$ _POST或$ _REQUEST

时间:2014-07-17 11:14:22

标签: php submit

我一直试图让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文件与网页位于同一文件夹中。

感谢您的时间

此致

2 个答案:

答案 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");
}