在多个页面上使用相同的PHP代码不起作用?

时间:2013-12-03 11:53:32

标签: php html forms email

我正在使用一些PHP从textarea中提取信息,并将其用作电子邮件中的内容。它在一个页面上完美地工作,但是当我尝试在第二页上重复该功能时,它就不再起作用了。知道为什么会这样吗?

代码段: story1a1a1a1_final.php

<form action="index.html" method="post">
            <input type="submit" value="start over" />
            <input type="hidden" id="button_pressed" value="1" />
        </form>

        <?php

        if(isset($_POST['button_pressed']))
        {
            $to      = 'email@gmail.com';
            $subject = '1a1a1a1';
            $message = $_POST['limitedtextarea'];
            $headers = 'From: email@gmail.com' . "\r\n" .
                'Reply-To: email@gmail.com' . "\r\n" .
                'X-Mailer: PHP/' . phpversion();

            mail($to, $subject, $message, $headers);
        }

        ?>

story1a1a1a2_final.php

<form action="index.html" method="post">
            <input type="submit" value="start over" />
            <input type="hidden" id="button_pressed" value="1" />
        </form>

        <?php

        if(isset($_POST['button_pressed']))
        {
            $to      = 'email@gmail.com';
            $subject = '1a1a1a2';
            $message = $_POST['limitedtextarea'];
            $headers = 'From: email@gmail.com' . "\r\n" .
                'Reply-To: email@gmail.com' . "\r\n" .
                'X-Mailer: PHP/' . phpversion();

            mail($to, $subject, $message, $headers);
        }

        ?>

“limitedtextarea”是textarea的标题,位于此页面之前的页面上。这个页面回显了之前显示的输入,然后(理论上)将textarea中文本的副本发送给我。

我也尝试将它指向一个php页面而不是索引页面(这是我希望它在将textarea的内容发送到我的电子邮件时去的地方),但无济于事。它仍然没有做任何事情。

为什么代码可能无法在第二个(1a1a1a2)页面上工作的任何想法?

谢谢!

2 个答案:

答案 0 :(得分:1)

您忘记了输入字段中的“name”属性。 $ _POST ['button_pressed']变量为您提供从表单中发布的内容,其中输入文件的“name”属性为“button_pressed”。

也许有更多问题,但这是我最初看到的。

应该是:

<input type="hidden" name="button_pressed" id="button_pressed" value="1" />

答案 1 :(得分:0)

如果您希望代码由php文件执行,请停止将表单操作指向html页面。

而是这样做:

     <form action="story1a1a1a2_final.php" method="post">
        <input type="submit" value="start over" />
        <input type="hidden" id="button_pressed" value="1" />
    </form>

    <?php
    if(isset($_POST['button_pressed']))
    {
        $to      = 'email@gmail.com';
        $subject = '1a1a1a2';
        $message = $_POST['limitedtextarea'];
        $headers = 'From: email@gmail.com' . "\r\n" .
            'Reply-To: email@gmail.com' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();

        mail($to, $subject, $message, $headers);
    }
    ?>

请使用友好的名字。 story1a1a1a2_final.php不是一个友好的名字。 同样,您引用limitedtextarea的ID在哪里?