2013-04-29 3 views
2

Мне нужна простая функция php для имитации представления формы Ajax - в основном в форме есть радиокнопка «ajax», и она либо настроена на «да», либо «нет». Мне просто нужно, чтобы имитировать успешные/провала попытки Ajax звонки ...Проблема с синтаксисом 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 вернет, что у вас есть неопределенный индекс. –

+0

@ChrisB, конечно, я просто поставил сниппет для краткости –

+0

просто убедился :) –

ответ

8

isset($_POST['ajax'] == "yes") не имеет смысла. Вы хотите, чтобы проверить, если он установлен, и затем проверить, если его значение равно "yes «:

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

Значение радиокамера должно быть «да» – rekire

+0

Отлично, спасибо! отлично работает –

+0

Ответ принят! Престижность и карма вам, сэр! –

2

Как делает ваш код, я скажу, что вы использовать определенную переменную, как в этом примере:

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

Потому что, если переменная имеет значение «да», это будет нормально, и не определено или другое значение закончится «провал».

Смежные вопросы