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

时间:2011-08-18 12:10:00

标签: php function

我有一个表单,我想提交两个条目。它的entry_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);

有谁知道我应该怎么做?

2 个答案:

答案 0 :(得分:2)

除此之外,这看起来很好:

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

因为错误而永远不会成真。

答案 1 :(得分:1)

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

改变这个:

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

到此:

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

永远不要开始逻辑&&与false比较,PHP退出它找到的第一个错误答案,并且不执行任何其他测试。你的代码是切断的,是整个功能体吗?它会返回什么吗? $ sql会发生什么?如果你的函数没有返回任何东西,echo就没有任何输出,所以你不会看到任何方式。 > _>例如,放置

} else { return $result = 'test failed'; } 

在if to catch失败之后会提醒你比较问题。

最后一件事,也许可以尝试改变这个:

echo theFunction($data);

到此:

$test = theFunction($data);
var_dump($test);

var_dump()不容置疑。祝你好运,hth;)