PHP Email Subscription,无法发布php文件

时间:2015-08-13 16:51:32

标签: php html

嘿,我的电子邮件订阅遇到了一些问题,我正在尝试登录文本文件。

<!-- Signup Form -->
        <form id="signup-form" action="form.php" method="post">
            <input type="email" name="email" id="email" placeholder="Email Address" />
            <input type="submit" value="Sign Up" />
        </form>

这是我的PHP代码:

<?php
if(empty($_POST['submit']) === false) {
    $email = htmlentities(strip_tags($_POST['email']));

    $logname = 'email.txt';
    $logcontents = file_get_contents($logname);

    if(strpos($logcontents,$email)) {
        die('You are already subscribed.');
    } else {
        $filecontents = $email.',';
        $fileopen = fopen($logname,'a+');
        $filewrite = fwrite($fopen,$filecontents);
        $fileclose = fclose($fileopen);
        if(!$fileopen or !$filewrite or !$fileclose) {
        die('Error occured');
        } else {
            echo 'Your email has been added.';
        }
    }
}
?>

我一直得到不能发布/ form.php eventho php文件在那条路上,有人知道我可能做错了什么?我在这退出菜鸟:(

1 个答案:

答案 0 :(得分:2)

首先在提交按钮中添加name属性,因为在POST中,您将无法获得“提交”的表单值,并且您的代码将永远不会更进一步

protected abstractMethod() {
    throw new Error("abstractMethod not implemented");
}

现在在你的php代码中,你只需要在if条件下检查$ _POST ['submit']并且你也做了一个拼写错误,你使用了一个未定义的变量$ fopen,改变它。

  <form id="signup-form" action="form.php" method="post">
    <input type="email" name="email" id="email" placeholder="Email Address" />
    <input type="submit" name="submit" value="Sign Up" />
</form>