Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отправка переменной в php 
V
    Опции темы
namra
Дата 14.6.2013, 07:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



 Здравствуйте, нашел в примерах такой скрипт, на странице radiobutton'ы , при нажатии я получаю  переменную value radiobutton'а, как мне эту переменную передать в php?
Код


<script>
$( "input" ).on( "click", function() {
    var $rbtn=$("input:checked").val();
});
</script>


Это сообщение отредактировал(а) namra - 14.6.2013, 13:23
PM MAIL   Вверх
Arantir
Дата 14.6.2013, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 5
Всего: 55



Сделать запрос. Любым удобным способом.
Можно даже так:
Код

document.body.innerHTML += '<img src="/script.php?var=blablabla">';
для одной переменной не суть...

А вообще: http://api.jquery.com/jQuery.ajax/


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
namra
Дата 14.6.2013, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



Arantir, если честно не понял пример ваш,  я нашел по вашей ссылке код так понимаю данные хранятся в name и location, а как выводят их в php пробывал так ничего не
Код

$.ajax({
  type: "POST",
  url: "script.php",
  data: { name: "John" }
})


Код

echo $_POST['name'];
 smile 

Это сообщение отредактировал(а) namra - 14.6.2013, 13:46
PM MAIL   Вверх
namra
Дата 14.6.2013, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



Весь код находится в одном файле, c помощью jquery обрабатываю radiobutton мне нужно именно без кнопки обработать, я получил переменную $rbtn как мне ее значение передать php-скрипту
Код

 <?  
//вывод кол-ва кнопок    
  echo '<form method="post">';
     $num=1;
    
     while($voprid=mysql_fetch_array($data_result)) 
     {          
       echo '<button type="submit" name="btn" class="vop" value="'.$voprid['id'].'">'.$num++.'</button>';
     }


    // если нажата кнопка
    if (isset($_POST['btn'])) 
    {
    

       
       $vop_result = mysql_query("select * from test_qbank where id='".$_POST['btn']."'") or die(mysql_error());
       $vopdata = mysql_fetch_array($vop_result);
       //$_SESSION['predvopr']=$_POST['btn']; // сохраняем предыдущий id вопроса

       echo '<br/>';
       echo $vopdata['vopr'];
   

       echo '<p class="variant">A) <input type="Radio" name="rbutton" value="A"></p> 
             <p class="variant">   B) <input type="Radio" name="rbutton" value="B"> </p> 
             <p class="variant">  C) <input type="Radio" name="rbutton" value="C"> </p>  
             <p class="variant">D) <input type="Radio" name="rbutton" value="D"></p>   
             <p class="variant">E) <input type="Radio" name="rbutton" value="E"></p>';
   echo '</form>';
 // теперь кнопки и радио в одной форме!
    }
   
 
     
?>
<script>
$( "input" ).on( "click", function() {
    var $rbtn=$("input:checked").val();

});

</script>



</body>
</html>




Это сообщение отредактировал(а) namra - 14.6.2013, 17:42
PM MAIL   Вверх
namra
Дата 14.6.2013, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



дайте хоть примерчик очень нужно!
PM MAIL   Вверх
Arantir
Дата 14.6.2013, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 5
Всего: 55



Можно вопрос? Вы это все делаете на один раз (по обстоятельствам жизненным) или собираетесь и дальше заниматься веб-разработкой?


Цитата(namra @  14.6.2013,  12:32 Найти цитируемый пост)
если честно не понял пример ваш

Все очень просто. Браузер умеет делать 2 вида запросов: GET и POST. 
GET - это, по сути, обычный переход по ссылке. В нем данные передаются после адреса после вопросительного знака в виде ?var1=value1&var2=value2  и т.д.
POST - отправка формы. В нем данные передаются в заголовках.

При открытии картинки браузер делает запрос на src картинки. Если указать в ссылке данные, то они так и передадутся серверу, как и в любом GET-запросе. Серверу не обязательно выдавать картинку, браузер просто ничего не сделает. Зато таким образом можно легко и быстро сделать запрос на сервер и передать туда нужные данные.


Цитата(namra @  14.6.2013,  12:32 Найти цитируемый пост)
я нашел по вашей ссылке код так понимаю данные хранятся в name и location, а как выводят их в php пробывал так ничего не

Это обычный POST запрос. В data указываются имена и значения полей, как если бы вы отправили обычную форму.
Сделав такой запрос:
Код
$.ajax({
  type: "POST",
  url: "script.php",
  data: { btn: 0, rbutton: 1 }
})
Вы на сервере получите следующее:
Код
$_POST['btn']; // 0
$_POST['rbutton']; // 1



Цитата(namra @  14.6.2013,  15:35 Найти цитируемый пост)
Весь код находится в одном файле
Надеюсь Вы понимаете, что весь этот код отрабатывает заново при каждом-каждом на него запросе (каждой отправке на него формы, каждом ajax-запросе и т.п.).


Цитата(namra @  14.6.2013,  17:59 Найти цитируемый пост)
дайте хоть примерчик очень нужно! 

Как-то так:
Код

$('[name="rbutton"]').on('click', function() {
    $.ajax({
        type: 'POST',
        url: 'script.php',
        data: { rbtn: $(this).val() }
    });
});


Это сообщение отредактировал(а) Arantir - 14.6.2013, 19:22


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
ksnk
Дата 15.6.2013, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



namra, Про что вообще эти вопросы?
http://forum.vingrad.ru/forum/topic-369357.html
http://forum.vingrad.ru/forum/topic-369425.html
http://forum.vingrad.ru/forum/topic-369461.html
?
Про одну и ту же задачу? Простой опросник с готовыми ответами? Не нужно припутывать сюда Javascript. Нужно решать задачу чистым html+php.

Проблема, насколько я понял, в непонимании того, как можно показать скрипту, какие ответы на какие вопросы дал пользователь. 

Каждый котрол, который определяет ответ на вопрос, должен иметь такое имя answer[ID_вопроса][ID_ответа].
Тогда в обработчике формы просто foreach пробегаем по массиву $_POST['answer'] и получаем все ответы.
Код

  foreach($_POST['answer'] as $question_id =>$answers)
      foreach($answers as $answer_id=>$answer){
    // на вопрос $question_id получен ответ $answer_id с содержанием $answer
     }

В такую схему именования вписываются все возможные контролы, что радиобатоны, что чекбоксы, что простые батоны с сабмитами и даже текстовые поля.

Это сообщение отредактировал(а) ksnk - 15.6.2013, 08:05


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Arantir
Дата 15.6.2013, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 5
Всего: 55



ksnk, зато человек узнает много нового и интересного  smile 
Ну я уже спросил о том, на один раз ли это. Я просто люблю тех, кто желает учится. А иначе зря писать лишние посты мне не охота - буду толкать сразу примеры.

В текущем состоянии, думаю, и на вариант с массивами ТС что-то в контраргумент придумает =)
Это Вам все так очевидно, а кому-то просто недостает опыта.


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
namra
Дата 16.6.2013, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



нет делаю не на один раз просто хочу понять технологию передачи из ajax в php,  так как стандартные примеры у меня не получаются вот и обратился за советом на форум, если просто ввиде текста вывести нет проблем, а именно передать переменную из js в php  ни как. ВОт все сделал по примерам но ни как неполучаются
Данный код находится в script.php
Код

<form>
  <div>
    <input type="radio" name="rbutton" value="A">
    <label>A</label>
  </div>
  <div>
    <input type="radio" name="rbutton" value="B">
    <label>B</label>
  </div>
  <div>
    <input type="radio" name="rbutton" value="C">
    <label>C</label>
  </div>
</form>
 
<script>
$('[name="rbutton"]').on('click', function() {
    $.ajax({
        type: 'POST',
        url: 'script.php',
        data: { rbtn: $(this).val() }
    });
});
</script>

<?
if (isset($_POST['rbutton']))
  {
    echo $_POST['rbutton'];
  }
else
 {
   echo 'Error';
  }
?>




Это сообщение отредактировал(а) namra - 16.6.2013, 12:19
PM MAIL   Вверх
ksnk
Дата 16.6.2013, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Все, в общем- то правильно, за исключеньем пустяка. Передается на сервер параметр rbtn, а проверяется rbutton.

Код

<?
if($_SERVER['REQUEST_METHOD']=='POST')
   print_r($_POST);
?>


Это сообщение отредактировал(а) ksnk - 16.6.2013, 15:17


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
namra
Дата 16.6.2013, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



ksnk, мне так не подходит так как я получать буду значение radiobutton'а  после нажатия кнопки иначе говоря после перезагрузки страницы, а мне надо получить значение до нажатия следующей кнопки
PM MAIL   Вверх
Arantir
Дата 16.6.2013, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 5
Всего: 55



Цитата(namra @  16.6.2013,  11:19 Найти цитируемый пост)
нет делаю не на один раз просто хочу понять технологию передачи из ajax в php,  так как стандартные примеры у меня не получаются
Цитата(namra @  16.6.2013,  19:53 Найти цитируемый пост)
мне так не подходит так как я получать буду значение radiobutton'а  после нажатия кнопки иначе говоря после перезагрузки страницы, а мне надо получить значение до нажатия следующей кнопки 


Я все никак не могу понять, чего именно не можете понять Вы. Почему Вы не можете понять простые примеры и осознать банальные ошибки.
Вы не понимаете чего-то очень просто, но очень важного. И это мешает Вам уже на протяжении трех тем.

Поклацайте этот пример и скажите, чем он Вам не угодил:
Код
<form>
  <div>
    <input type="radio" name="rbutton" value="A">
    <label>A</label>
  </div>
  <div>
    <input type="radio" name="rbutton" value="B">
    <label>B</label>
  </div>
  <div>
    <input type="radio" name="rbutton" value="C">
    <label>C</label>
  </div>
</form>

<script>
$('[name="rbutton"]').on('click', function() {
    $.ajax({
        type: 'POST',
        url: '/',
        data: { rbtn: $(this).val() },
        success: function (data) { alert(data); }
    });
});
</script>

<?php
if ($_SERVER['REQUEST_METHOD']=='POST')
    if (isset($_POST['rbtn'])) {
        echo $_POST['rbtn'];
    }
?>



--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
namra
Дата 16.6.2013, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



Arantir, ну вообще-то тем что после выбора ответа т.е. нажатия radiobutton вывалиется в сообщении весь код странички браузера


Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  отв.jpg 71,22 Kb
PM MAIL   Вверх
Arantir
Дата 16.6.2013, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 5
Всего: 55



Вы хотите понять, но не пытаетесь сделать этого =)

Давайте сначала.
Вам надо передать некое значение от пользователя на сервер. Вы инициируете AJAX-запрос. В него Вы засовываете данные в виде объекта с полями и значениями, например с полем "my_button" и значением "1". Указываете, что метод запроса POST.
Запрос отправляется на сервер. Сервер принимает полученные данные и помещает их в массив $_POST. Соответственно, в скрипте, на который отправлен AJAX-запрос, Ваше некое значение, которое Вы хотели передать, будет находится в массиве $_POST по индексу с именем поля, указанного при AJAX-запросе, например, $_POST["my_button"]. И в этой переменной будет содержаться переданное Вами значение, например, "1".

Что из всего этого не удовлетворяет Вашему вопросу о передаче данных в php через ajax?

Это сообщение отредактировал(а) Arantir - 16.6.2013, 22:34


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
namra
Дата 16.6.2013, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



я понял что " Ваше некое значение, которое Вы хотели передать, будет находится в массиве $_POST по индексу с именем поля", просто я получу это значения только после как нажму на следующую кнопку или позже а мне надо до повторного нажатия или нажатия следующей кнопки я уже не знаю как объяснить это является ключевой проблемой, что не могу получить значение до нажатия следующей кнопки
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1353 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.