За последние 24 часа нас посетили 17547 программистов и 1674 робота. Сейчас ищут 1990 программистов ...

Передача данных из одной формы двум переменным. Как?

Тема в разделе "PHP для новичков", создана пользователем Felix, 27 сен 2009.

  1. Felix

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

    С нами с:
    27 сен 2009
    Сообщения:
    4
    Симпатии:
    0
    Привет!

    Столкнулся с такой проблемой, необходимо из одной формы передать данные сразу двум переменным.

    Код (Text):
    1.  
    2. <? if ($_POST[a]=="") {
    3.  ?>
    4. <form method="post">
    5.  
    6. <input type="Text" name="a">
    7. <input type="Submit">
    8.  
    9. </form>
    10. <? }
    11. else {
    12. echo $_POST[a];
    13. echo "<br>";
    14. echo $_POST[b];
    15. }
    16. ?>
    Надо каким-то образом заставить информацию, введённую в форме, быть значением не только переменной $_POST[a], но и, например, $_POST. Вариант с приравниванием этих переменных в части else недопустим.

    Как такое сделать?
     
  2. SDR

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

    С нами с:
    22 сен 2009
    Сообщения:
    244
    Симпатии:
    0
    Felix
    1. ты по какой книжке учишся? кто тебя учил так индексы у массивов указывать?
    2. а фантазию напрячь никак, ну хотя бы ради интереса? $_POST['b'] = $_POST['a'], хотя не знаю уж зачем тебе именно в $_POST'e это надо )))
     
  3. Felix

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

    С нами с:
    27 сен 2009
    Сообщения:
    4
    Симпатии:
    0
    1. На скорую руку. Вернее, конечно, с кавычками.
    2. Фантазию напряг, решение вижу пока только в незнакомом мне ява-скрипте, который вбивает в визуально скрытую форму с name="b" те же символы, что и в форму, отображаемую на страничке. Яваскрипт привередлив к браузерам, поэтому его использовать не хочу.
    $_POST['b'] = $_POST['a'] не пройдёт, потому что описываемая мной задача должна быть решена в рамках огромного скрипта инет-магазина. Можно, конечно, найти через кучу инклюдов то место, где скрипт забирает данные из массива $_POST, но далеко не факт, что при изменении настроек ссылка из формы будет отправлять на тот скрипт, в который я внёс изменения. Другими словами, этот способ реален, но неоправданно долгий.
     
  4. SDR

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

    С нами с:
    22 сен 2009
    Сообщения:
    244
    Симпатии:
    0
    Felix
    вноси изменения в том скрипте, который 100%но подключается всегда
    например коннект к БД
     
  5. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Ну, яваскрипт простейший. В двух простейших вариантах. Либо

    HTML:
    1. <input type="hidden" name="b" id="b" value="" />
    2. <input type="text" name="a" id="a" value="" onchange="focument.getElementById('b').value=this.value" />
    либо

    HTML:
    1. <form action="" method="post" onsubmit="this.b.value=this.a.value">
    2. <input type="hidden" name="b" id="b" value="" />
    3. <input type="text" name="a" id="a" value=""  />
    Но я так и не понял почему
    а) вообще надо лезть в массив $_POST для того чтобы дублировать там данные
    b) какая разница сколько там инклюдов, если делать это надо в том единственном месте, куда сабмитится форма - там где в $_POST попадает одно значение, там же и другое вписать и никуда оно оттуда потом не денется ни в каком инклюде.
     
  6. Felix

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

    С нами с:
    27 сен 2009
    Сообщения:
    4
    Симпатии:
    0
    karakh
    Благодарю! Ваш ответ мне помог!