2012-09-05 153 views
1

我想將兩個變量從視圖傳遞到控制器。一個是我想要從數據庫中刪除的行的$ id。這是行得通的。另一個是我想同時從上傳文件夾中刪除的圖像的$文件名。我得到一個服務器錯誤,我不知道如何去做這件事。我相信這很簡單。有任何想法嗎?謝謝。CodeIgniter - 從視圖傳遞兩個變量到控制器功能

//視圖

<input type="button" onClick="location.href = '<?php echo site_url("myfunction/delete/{$row['id']}/{$row['file_name']}"); ?>'" value="Delete" /> 

//控制器

public function delete($id, $file_name) { 

    $table_name = $this->table_name; 
    delete_files('../uploads/$file_name'); 

    $this->load->model('delete', 'delete_model'); 
    $this->delete_model->delete_row($id, $table_name); 

    redirect(site_url('site')); 
} 

回答

3

變化

delete_files('../uploads/$file_name'); 

delete_files("../uploads/$file_name"); 

delete_files('../uploads/'.$file_name); 

使用單引號不展開變量它們的值:

$x = "onetwo"; 
$y1 = '$x'; 
$y2 = "$x"; 
$y3 = $x; 

echo $y1; // $x 
echo $y2; // onetwo 
echo $y3; // onetwo 
+0

感謝您的答覆。這擺脫了服務器錯誤!但是我的文件仍然沒有被刪除。它位於根目錄中的「上傳」文件夾以及「應用程序」和「系統」文件夾中。我打電話給它是錯誤的../?謝謝。 – Staysee

+0

不能肯定地說,但我認爲它是相對於你的模型/控制器,所以如果你的代碼在'application/models/model.php'中,那麼它應該是'../../../uploads/...' –

+0

該代碼位於application/controllers/mycontroller.php中。我嘗試了一堆路徑變化../../ ../../../但仍然沒有刪除。無論如何,感謝您的幫助。 – Staysee

相關問題