PHP生成表单的输入未被记录

时间:2013-11-18 05:03:53

标签: php html post isset

我遇到的问题涉及使用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提出的建议)。没有报告任何错误,按钮只是无法设置。我正在寻找文件中可能有错误的其他地方,也许按我调用函数的顺序。

2 个答案:

答案 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)

  1. 将表单数据发布到包含表单的同一脚本是可以的。将action属性更改为脚本的URL,不要将其设置为空格,这就是您所做的。

  2. 我不认为提交输入的值是作为POST的一部分发送的。尝试使用名为“sendRecipients”的输入类型=“hidden”。