2013-04-29 79 views
2

我需要一個簡單的php函數來模仿Ajax表單提交 - 基本上在表單中有一個單選按鈕「ajax」,它被設置爲yes或no。我只需要模仿成功/失敗的Ajax調用...問題w/PHP語法

HTML

<label for="">Ajax Success*<input type="radio" name="ajax" id="yes" value="yes" checked>Yes<input type="radio" name="ajax" id="no" value="no">No</label> 

PHP

<?php 
    $ajax = $_POST["ajax"]; 
    if(isset($_POST['ajax'] == "yes")) { 
     echo "success"; 
    } else { 
     echo "failure"; 
    } 
?> 

如果刪除isset,我得到一個 '未定義指數' 的錯誤,如果我把它在我得到一個語法錯誤,但它看起來對我來說是正確的...

我只需要發回一個回聲,這取決於爲輸入'ajax'選擇了什麼選項

thx

+0

此外,請確保您的包裹窗體控件在'<形式method =「post」action =「YOURURL」>'。如果你實際上並沒有發佈任何數據,PHP會返回你有未定義的索引。 – 2013-04-29 16:59:36

+0

@ChrisB當然,我只是爲了簡潔 – 2013-04-29 17:02:18

+0

只是把一個片段,只是確保:) – 2013-04-29 17:03:02

回答

8

isset($_POST['ajax'] == "yes")沒有意義。你要檢查它的設置,並然後檢查其值等於"yes「:

if(isset($_POST['ajax']) && $_POST['ajax'] == "yes") { 
    echo "success"; 
} else { 
    echo "failure"; 
} 
+0

收音機框的值必須是「是」 – rekire 2013-04-29 17:03:14

+0

太好了,謝謝!完美的作品 – 2013-04-29 17:03:22

+0

接受答案!先生,榮譽和噶瑪! – 2013-04-30 17:25:57

2

當你的代碼做,我會說你在這個例子中使用您定義的變量,如:

<?php 
    $ajax = $_POST["ajax"]; 
    if($ajax == "yes") { 
     echo "success"; 
    } else { 
     echo "failure"; 
    } 
?> 

因爲如果變量的值是「是」,這將是確定和不確定的或其他值都將在「失敗」告終。