Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
提交表单,然后在php函数中插入值_Php_Function - Fatal编程技术网

提交表单,然后在php函数中插入值

提交表单,然后在php函数中插入值,php,function,Php,Function,我有一个表格,我想提交两个条目。它是条目id和电子邮件。我有一个php函数,它的开头是这样的: public function theFunction($data) { if (false && !empty($data['email']) && !empty($data['entry_id']) ) { $sql = $this->db->select() ->from('votes')

我有一个表格,我想提交两个条目。它是条目id和电子邮件。我有一个php函数,它的开头是这样的:

    public function theFunction($data) {
    if (false && !empty($data['email']) && !empty($data['entry_id']) ) {
        $sql = $this->db->select()
            ->from('votes')
            ->where('entry_id = ?', $data['entry_id'])
            ->where('email = ?', $data['email'])
            ->order('created DESC');
但是,我应该如何从php文件调用此函数,并将表单中的值带到我身边,这是我所了解的,但它似乎不起作用:

$fields = array("email","entry_id");
$data = array();
foreach($fields as $field){
    $data[$field] = $_POST[$field];
}

echo theFunction($data);

有人知道我该怎么做吗?

除此之外,这看起来还不错:

if (false && !empty($data['email']) && !empty($data['entry_id']) ) {

这永远不会是真的,因为它是假的。

除了以下几点之外,这看起来还不错:

if (false && !empty($data['email']) && !empty($data['entry_id']) ) {
这永远不会是真的,因为它是假的。

(CodeIgniter?很奇怪,它对这样的问题有很大的影响。)

更改此项:

if (false && !empty($data['email']) && !empty($data['entry_id']) ) {
为此:

if (!empty($data['email']) && !empty($data['entry_id'])) {
$test = theFunction($data);
var_dump($test);
千万不要用false开始逻辑&&comparison,PHP会在它找到的第一个false答案上退出,并且不会执行任何额外的测试。你的代码被切断了,这是整个函数体吗?它还回什么吗?$sql会发生什么变化?如果您的函数没有返回任何内容,则echo没有任何输出,因此您不会看到任何内容例如,放置

} else { return $result = 'test failed'; } 
在if-to-catch失败之后,会提醒您比较问题

最后一件事,或许可以尝试改变这一点:

echo theFunction($data);
为此:

if (!empty($data['email']) && !empty($data['entry_id'])) {
$test = theFunction($data);
var_dump($test);
var_dump()没有任何怀疑的余地。祝你好运,嗯;)

(CodeIgniter?很奇怪,它对这样的问题有很大的影响。)

更改此项:

if (false && !empty($data['email']) && !empty($data['entry_id']) ) {
为此:

if (!empty($data['email']) && !empty($data['entry_id'])) {
$test = theFunction($data);
var_dump($test);
千万不要用false开始逻辑&&comparison,PHP会在它找到的第一个false答案上退出,并且不会执行任何额外的测试。你的代码被切断了,这是整个函数体吗?它还回什么吗?$sql会发生什么变化?如果您的函数没有返回任何内容,则echo没有任何输出,因此您不会看到任何内容例如,放置

} else { return $result = 'test failed'; } 
在if-to-catch失败之后,会提醒您比较问题

最后一件事,或许可以尝试改变这一点:

echo theFunction($data);
为此:

if (!empty($data['email']) && !empty($data['entry_id'])) {
$test = theFunction($data);
var_dump($test);

var_dump()没有任何怀疑的余地。祝你好运,嗯;)

我不太明白这个问题,但听起来好像你想要包含filename.php。您可能需要再次检查该函数。有条件的
if(false&&…
将始终返回
false
,sql将永远不会执行。我不太理解这个问题,但听起来您希望包含filename.php。您可能需要再次检查该函数。条件
if(false&&…
将始终返回
false
,sql将永远不会执行。@paparapa没问题。没有理由感到愚蠢,发生在我们身上:)@Paparappa没问题。没有理由感到愚蠢,这发生在我们所有人身上:)