оператор if — если флажок установлен, переполнение стека

Если флажок установлен, я хочу сохранить значение в переменной php, а для непроверенного — другое значение.

        <script>
$('input[type="checkbox"][name="change"]').change(function() {
if(this.checked) {
<?php $sql="SELECT * FROM `order` ORDER BY sl_no ASC"?>
} else {
<?php $sql="SELECT * FROM `order` ORDER BY sl_no DESC"?>
}
});
</script>

<input type="checkbox" name="change">

-4

Решение

Вы не можете смешивать PHP с JavaScript. Чтобы отправить что-то обратно на сервер, вы должны использовать форму или AJAX.
Поскольку Ajax не сложнее в освоении, и я не знаю, сколько вы уже знаете, вы должны использовать формы

<form method="POST">
<input type="checkbox" name="change">
<input type="submit" />
<?php
if (isset($_POST['change'])) {
echo "checkbox checked";
}
?>
</form>

Чтобы сделать это с ajax, вы должны определить скрипт-обработчик ajax с некоторой логикой

<?php
if (isset($_POST['checked']) && $_POST['checked'] == '1') {
echo 'checked';
} else {
echo 'not checked';
}
?>

и добавьте еще немного кода на стороне клиента (используя jQuery)

    <script>
$('input[type="checkbox"][name="change"]').change(function() {
$.post('ajax.php',
{ checked: this.checked ? '1' : '0' },
function(data) {
$('.result').html(data);
});
});
</script>
1

Другие решения

Если вы хотите сохранить некоторую безопасность на своем веб-сайте, вы должны использовать http-запросы для отправки данных на сервер (сторона php). Вы даже можете вернуть что-то с сервера обратно в javascript. Это гораздо безопаснее, чем играть с вашими запросами на стороне клиента …

[любимая ссылка с хорошими примерами]

http://wiki.selfhtml.org/wiki/JavaScript/API/XMLHttpRequest

[вторая любимая ссылка]

http://www.w3.org/TR/XMLHttpRequest/

<input id="checkbox" type="checkbox" name="change">

document.getElementById("checkbox").addEventListener("click", function(){
if (document.getElementById("checkbox").checked){
alert("checked");
ajax(url, "isChecked=true", function(e){
console.log(e); //callback
}
}
else{
alert("You didn't check it! Let me check it for you.");
}
}

function ajax(url, parameter, func){
var x = new XMLHttpRequest();
x.addEventListener("load", function(){
func(x.responseText);
});
x.open("GET", url + "?" + parameter, true);
x.send(parameter);
}

jQuery, jQuery везде …

-2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector