За последние 24 часа нас посетили 38024 программиста и 1811 роботов. Сейчас ищут 889 программистов ...

форма и 2 Post запроса как быть?

Тема в разделе "PHP для новичков", создана пользователем wolf777, 5 дек 2014.

  1. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    имеется форма html которая перенаправляется на ads?page=zapros, на странице zapros работает форма цветов
    в форме html выделил важные участки красным
    Код (Text):
    1.  
    2. <form id="contactform" name="contact" action="ads?page=zapros" method="post">
    3. <div class="row">
    4. <label for="name">выделить ссылку<br>цветом?<span class="req">*</span></label>
    5. <select name="[color=#FF0000]yes_s[/color]" class="styled-select" id="counts" onChange="show_country();">
    6. <option value="0" selected disable>Нет</option>
    7. <option value="1">Да</option>
    8. </select>
    9. </div>
    10. <div class="row">
    11. <label for="name">выделить описание<br>цветом?<span class="req">*</span></label>
    12. <select name="[color=#FF0000]yes_op[/color]"  class="styled-select" id="counts_mix" onChange="show_mix();">
    13. <option value="0" selected disable>Нет</option>
    14. <option value="2">Да</option>
    15. </select>
    16. </div>
    написал на php 2 $_GET запроса
    Код (Text):
    1. if ($_GET['page'] == 'ok') {
    2. // тело такое
    3.  
    4. if ($_POST['yes_s'] == '1') {
    5. $colors_s="20 {CONFIG=PRICE_SIGN}";
    6. } else {
    7. $colors_s="(0 руб)";
    8. }
    9.  
    10. if ($_POST['yes_op'] == '2') {
    11. $colors_ops="20 {CONFIG=PRICE_SIGN}";
    12. } else {
    13. $colors_ops="(0 руб)";
    14. }
    и суммируется

    Код (Text):
    1. $cena=$tarif*$rowcg['ads_100x100']+$colors_s+$colors_ops;
    и в теле zapros тоже самое что и в теле ok

    Код (Text):
    1. if ($_GET["page"]=="zapros") {
    суть вопроса в том, что мы из action посылаем запрос на ads?page=zapros получается что в запросе if ($_GET["page"]=="zapros") работает тело, а в теле if ($_GET['page'] == 'ok') не определяется yes_s и yes_op,как быть в этом случае?

    // тело запроса if ($_GET["page"]=="zapros")
    Код (Text):
    1. if ($_POST['yes_s'] == '1') {
    2. $colors_s="20 {CONFIG=PRICE_SIGN}";
    3. } else {
    4. $colors_s="(0 руб)";
    5. }
    6.  
    7. if ($_POST['yes_op'] == '2') {
    8. $colors_ops="20 {CONFIG=PRICE_SIGN}";
    9. } else {
    10. $colors_ops="(0 руб)";
    11. }
     
  2. Rentony

    Rentony Активный пользователь

    С нами с:
    14 фев 2012
    Сообщения:
    20
    Симпатии:
    0
    То ли я туплю, то ли что, но ничего не понятно ) давай по проще вопрос задавай, и код упрости для примера, что бы лишнего не было
     
  3. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    Rentony код и так сокращен очень сильно, объяснил более чем понятно, лучше вы объясните что в вопросе не понятно?)

    Добавлено спустя 6 минут 3 секунды:
    я ж написал у меня есть select в котором выбираются цвета, для условия цветов создал yes_s и по yes_op, потом эти переменные я посылаю через POST запрос, чтобы создать условие, в итоге получается условие если yes_s=1 то выводится 20 руб, если yes_s=0 т.е мы его не выбрали значит выводится 0 руб

    Код (Text):
    1. if ($_POST['yes_s'] == '1') {
    2. $colors_s="20 {CONFIG=PRICE_SIGN}";
    3. } else {
    4. $colors_s="(0 руб)";
    5. }
    6.  
    7. if ($_POST['yes_op'] == '2') {
    8. $colors_ops="20 {CONFIG=PRICE_SIGN}";
    9. } else {
    10. $colors_ops="(0 руб)";
    11. }
    суть вопроса в том что у нас форма 1 html для заполнения и соответственно 1 action который передает форму в ads?page=zapros, в итоге мои переменные (из формы html) yes_s и yes_op определяются только в запросе if ($_GET["page"]=="zapros") {
    надо как то передать эти значения (yes_s и yes_op) в запрос if ($_GET['page'] == 'ok') {

    Добавлено спустя 4 минуты 30 секунд:
    например если мы введем в (теле) запроса
    Код (Text):
    1.  ($_GET["page"]=="zapros") {
    пропишу вывод
    Код (Text):
    1. echo "yes_s = ".$_POST['yes_s']."<br>";echo "yes_op = ".$_POST['yes_op'];
    то выдает
    yes_s = 1
    yes_op = 2

    а если тоже самое пропишу в запросе
    if ($_GET['page'] == 'ok') {
    Код (Text):
    1. echo "yes_s = ".$_POST['yes_s']."<br>";echo "yes_op = ".$_POST['yes_op'];
    то выдает
    yes_s =
    yes_op =

    это все потому что мы в action записали ads?page=zapros (потому что мне форму надо передать именно в zapros) а переменные (yes_s и yes_op) надо передать и в ($_GET["page"]=="zapros") { и в if ($_GET['page'] == 'ok') {

    надеюсь объяснил понятным языком)
     
  4. metadon

    metadon Активный пользователь

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    php.net/manual/ru/reserved.variables.request.php