我正在使用一些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)页面上工作的任何想法?
谢谢!
答案 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在哪里?