2013-12-20 24 views
-1

我有一個ajax調用將變量傳遞到GET,這可以正常工作,因爲評論中的回聲顯示正常,但addProduct函數中的回聲不會被回顯,即使我已經通過了變量作爲參數。使用switch case調用php函數

$func = $_GET ['func']; 

    $name = $_GET ['name']; 
    $desc = $_GET ['desc']; 
    $photo = $_GET ['photo']; 
    $price = $_GET ['price']; 
    $cat = $_GET ['cat']; 

//These work fine 
    //echo "add"; 
    //echo $name; 
    //echo $desc; 
    //echo $photo; 
    //echo $price; 
    //echo $cat; 

    switch ($func) { 
     case "add"  : addProduct($name, $desc, $photo, $price, $cat); 
     break; 
     case "edit" : editProduct(); 
     break; 
     case "remove" : editProduct(); 
     break; 
    }; 

    function addProduct($name, $desc, $photo, $price, $cat) { 
     echo "add"; 
     echo $name; 
     echo $desc; 
     echo $photo; 
     echo $price; 
     echo $cat; 

    } 
+1

'var_dump($ func)' – AlexP

+3

的結果是什麼?你至少得到'add'回顯嗎?如果沒有,那麼你的函數根本就沒有被調用,你需要看看'$ func'真正包含了什麼,例如, 'var_dump($ func)' –

+0

「字符串(7)」addname「」 – user3105607

回答

0

switch聲明不正確輸入正確的case,所以因此你addProduct方法不會被調用。

您需要確保$func == 'add'因此它進入add的情況並調用該方法。

1

這是我的AJAX調用中的一個愚蠢的錯誤。我已經寫了一個變量兩次。使用var_dump()幫助! 感謝您的幫助。

2

從閱讀評論,我想你忘了在你的網址&

相反的是什麼,你可能有:

myurl.com?func=addname=name&desc=desc&photo=photo 

您需要使用:

myurl.com?func=add&name=name&desc=desc&photo=photo 
0

我已經測試你的代碼。如果$ func ='add',它按預期打印。檢查$ _GET ['func']。