我遇到的问题涉及使用PHP echo语句生成的HTML输入。这是我输出表格的函数:
function confirm_recipients()
{
echo "<form action = ' ' name ='email_options' method='post'>";
echo "<input type='submit' name='sendRecipients' value='Yes, I want to send the emails' >";
echo "</form>";
}
function confirm_recipients()
{
echo "<form action = ' ' name ='email_options' method='post'>";
echo "<input type='submit' name='sendRecipients' value='Yes, I want to send the emails' >";
echo "</form>";
}
稍后在同一个PHP页面中,我调用该函数,然后检查是否设置了提交按钮。
confirm_recipients();
if (isset($_POST['sendRecipients']))
{
//perform actions
}
但是,即使设置了提交按钮(由用户点击),此代码也不起作用,if语句块永远不会执行。从我想要“读入”的同一文件中发帖可能存在问题?谢谢你的任何建议。
更新
感谢您的即时回应。遗憾的是,没有任何建议有效(删除了动作值中的空格或user623952提出的建议)。没有报告任何错误,按钮只是无法设置。我正在寻找文件中可能有错误的其他地方,也许按我调用函数的顺序。
答案 0 :(得分:0)
这对我来说很好用:
<?php
print "<pre>".print_r($_POST,true)."</pre>";
confirm_recipients();
function confirm_recipients() {
echo "<form action = ' ' name ='email_options' method='post'>";
echo "<input type='submit' name='sendRecipients' value='Yes, I want to send the emails' >";
echo "</form>";
}
if (isset($_POST['sendRecipients']))
{
print "<br/>sendRecipients is set!<br/>";
}
?>
我认为您的问题可能在代码中的其他位置。
答案 1 :(得分:-1)
将表单数据发布到包含表单的同一脚本是可以的。将action属性更改为脚本的URL,不要将其设置为空格,这就是您所做的。
我不认为提交输入的值是作为POST的一部分发送的。尝试使用名为“sendRecipients”的输入类型=“hidden”。