2011-08-18 32 views
0

我有一個表單,我想提交兩個條目。它的entry_id和電子郵件。我有一個PHP函數開頭是這樣的:提交表單,然後在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); 

有誰知道我該怎麼辦?

+0

我真的不明白這個問題,但它聽起來像你想包括filename.php。 http://stackoverflow.com/questions/5942224/how-to-call-a-function-in-php-in-another-form – Matt

+1

你可能想要再次檢查該功能。有條件的'if(false && ...)'將總是返回'false',並且SQL永遠不會被執行。 –

回答

2

這看上去很好除了這個:

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

這不會是真的假的,因爲。

+0

我覺得很蠢。感謝您的幫助和時間! – Paparappa

+0

@Paparappa沒問題。沒有理由感到愚蠢,發生在我們身上:) – Jim

1

(?笨只是好奇,但對這樣的問題有很大的影響)

更改此:

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

這樣:

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

不要開始邏輯& &與false相比較,PHP首先退出它會發現並且不執行y額外的測試。你的代碼被切斷了,是整個函數體?它會返回任何東西嗎? $ sql會發生什麼?如果你的函數沒有返回任何東西,那麼echo沒有任何輸出,所以你不會看到任何東西。 > _>例如,將

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

後,如果趕上失敗會提醒你的比較問題。

最後一件事,也許嘗試改變這個:

echo theFunction($data); 

這樣:

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

的var_dump()離開沒有懷疑的餘地。祝你好運,hth;)