Php 这种简单的联系方式赢得了';不能正常工作

Php 这种简单的联系方式赢得了';不能正常工作,php,forms,submit,Php,Forms,Submit,我创建了一个简单的提交表单,用户输入他们的电子邮件地址并单击提交,他们的电子邮件地址通过电子邮件发送给我,以便在邮件列表中使用 出于某种原因,它一直给我相同的错误,实际上不会发送电子邮件: 抱歉,这似乎不是一个有效的电子邮件地址 这是我的密码: <?php define('access', true); ?> <?php // Configuration $emailTo = 'myemail@mydomain.com'; // The e-mail addre

我创建了一个简单的提交表单,用户输入他们的电子邮件地址并单击提交,他们的电子邮件地址通过电子邮件发送给我,以便在邮件列表中使用

出于某种原因,它一直给我相同的错误,实际上不会发送电子邮件:

抱歉,这似乎不是一个有效的电子邮件地址

这是我的密码:

<?php define('access', true); ?>
<?php
    // Configuration
    $emailTo = 'myemail@mydomain.com'; // The e-mail address
    $mySite = 'test Mailing List'; // The name of the website
    $subject = 'test | New Mailing Lister!';
    $msg = '';

    // If the form is submitted
    if(isset($_POST['submit'])) {
        // Check that the email entered is valid and not empty
        if(trim($_POST['email']) == '') {
            $hasError = true;
            $msg = '<p class="error">Sorry but that doesn\'t seem to be a valid e-mail address.</p>';
        } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
            $hasError = true;
            $msg = '<p class="error">Sorry but that doesn\'t seem to be a valid e-mail address.</p>';
        } else {
            $email = trim($_POST['email']);
        }

        // Are we error free? If so send away
        if(!isset($hasError)) {
            $body = "Someone has signed up for the test mailing list, the e-mail address they used is:\n\n<strong>$email</strong>";
            $headers = 'From: ' . $mySite . ' <' . $emailTo . '>' . "\r\n" . 'Reply-To: ' . $email;
            $msg = '<p class="thanks">Thanks for subscribing to test\'s services mailing list. We\'ll keep you posted on service updates!</p>';

            mail($emailTo, $subject, $body, $headers);
            $emailSent = true;
        }
    }
?>
<?php include('includes/html_header.php'); ?>
    <?php include('includes/header.php'); ?>

    <div id="container">
        <?php if(!isset($_GET['id'])) { ?>
        <div id="container_column-1">
            <h1>test</h1>
            <p>Li Europan lingues es membres del sam familie. Lor separat existentie es un myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules. Omnicos directe al desirabilite de un nov lingua franca: On refusa continuar payar custosi traductores. At solmen va esser necessi far uniform grammatica, pronunciation e plu sommun paroles. Ma quande lingues coalesce, li grammatica del resultant lingue es plu simplic e regulari quam ti del coalescent lingues. Li nov lingua franca va esser plu simplic e regulari quam li existent Europan lingues. It va esser tam simplic quam Occidental in fact, it va esser Occidental. A un Angleso it va semblar un simplificat Angles, quam un skeptic Cambridge amico dit me que Occidental es. Li Europan lingues es membres del sam familie.</p>
        </div>

        <div id="container_column-2">
            <h1>Coming <span>soon</span>!</h1>
            <p>We have an exciting new service to offer to our customers. We're not able to announce anything right now, but watch this space for updates in the very near future!</p>
            <p>Alternatively, you can enter your e-mail address below to be informed of any new services and offers we have. Don't worry, we won't sell on your e-mail address and you won't receive any junk mail!</p>

            <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
                <label>Be the first to hear about new services!</label>
                <input type="text" size="35" name="mailinglist" id="mailinglist" title="Enter your e-mail address" />
                <button type="submit" name="submit">&raquo;</button>
            </form>
            <?php if(isset($_POST['submit'])) { echo $msg; } ?>
        </div>
        <?php
            } else {
                include($_GET['id'] . ".php");
            }
        ?>
    </div>

    <?php include('includes/footer.php'); ?>
<?php include('includes/html_footer.php'); ?>


如果你想打开错误报告

<?php
error_reporting(E_ALL);
ini_set('display_errors','on');
这是因为你的表格中没有任何电子邮件存档。相反,您称之为
mailinglist


因此,将字段名称更改为电子邮件或更改代码以请求
邮件列表
字段。

如果您要打开错误报告

<?php
error_reporting(E_ALL);
ini_set('display_errors','on');
这是因为你的表格中没有任何电子邮件存档。相反,您称之为
mailinglist

因此,将字段名称更改为电子邮件或更改代码以请求
mailinglist
字段。

这很容易看到。 您的错误如下:

<input type="text" size="35" name="mailinglist" id="mailinglist" title="Enter your e-mail address" />

应该是这样的:

<input type="text" size="35" name="email" id="mailinglist" title="Enter your e-mail address" />

很容易看到。 您的错误如下:

<input type="text" size="35" name="mailinglist" id="mailinglist" title="Enter your e-mail address" />

应该是这样的:

<input type="text" size="35" name="email" id="mailinglist" title="Enter your e-mail address" />


更改
trim($\u POST['email'])
trim($\u POST['mailinglist'])
更改
trim($\u POST['email'])
trim($\u POST['mailinglist'])
检查页面发送到服务器的内容。POST键“email”显然是空的。不清楚if语句中的哪一步被捕获。出于测试目的,请更改其中一个的错误消息,并查看它不喜欢哪一个。检查页面正在发送到服务器的内容。POST键“email”显然是空的。不清楚if语句中的哪一步被捕获。出于测试目的,更改其中一个的错误消息,看看它不喜欢哪一个。该死,我为什么忽略了这一点。除了那个,我什么都试过了!谢谢我在构建我的表单时遇到了一些类似的问题,总是让表单填充来自我的db和post输入的输入,但过一段时间你就会习惯了,也许你甚至会决定使用codeigniter,它有一些专门用于创建FormsAdmin的功能,为什么我忽略了这一点。除了那个,我什么都试过了!谢谢我在构建我的表单时遇到了一些类似的问题,总是让表单填充来自我的db和post输入的输入,但过一段时间你就会习惯了,也许你甚至会决定使用codeigniter,它有一些专门用于创建表单的功能