Показать сообщение отдельно
  #1 (permalink)  
Старый 27.10.2013, 21:57
Аватар для wmag
Аспирант
Отправить личное сообщение для wmag Посмотреть профиль Найти все сообщения от wmag
 
Регистрация: 06.02.2012
Сообщений: 50

Имитация POST формы с данными пользователя (КАК?)
Есть форма, в которой некоторое кол-во строк с различной информацией о юзере.
Можно конечно ждать когда он все заполнит и нажмет кнопку "отправить", но хочется сразу, как только он переходит к следующей строке отправлять всю форму обрабатывающему PHP скрипту.

ЗАЧЕМ?

ну на случай, когда пользователь что-то ввел, а потом решил полазить по другим страницам, не закончив заполнять форму. Или просто закрыл страницу, а потом открыл. А так же в этой форме передается код заказа для магазина.

Вообщем то идея проста. Думаю уже подобное делали.

Я решил идти по такому пути: при загрузке страницы налету проверяем есть ли информация в сессии, если есть пишем значения, если нет - пустые поля.

Вопрос у меня такой: Как передать данные из формы в PHP файл методом POST так же как они передаются при нажатии кнопки "Submit"


кому интересно, так выглядит форма:

Код:
<form name="cardbox" action="index.php" method="post">
                        <input type="hidden" id="orderlist" name="orderlist" placeholder="Here is your order - don't change it" value="<?php if (isset($_SESSION['orderlist'])) {print ($_SESSION['orderlist']);}?>"></td></tr>
            <tr><td>Enter your name:</td><td><input type="textarea" name="name" placeholder="Enter your or receiver name" value="<?php print ($_SESSION['name'])?>"></td></tr>
            <tr><td>State:</td><td><input type="textarea" name="state" placeholder="Enter state" value="<?php print ($_SESSION['state'])?>"></td></tr>
            <tr><td>City:</td><td><input type="textarea" name="city" placeholder="City or village" value="<?php print ($_SESSION['city'])?>"></td></tr>
            <tr><td>Street:</td><td><input contenteditable="false" type="textarea" name="street" placeholder="Name of your street" value="<?php print ($_SESSION['street'])?>"></td></tr>
            <tr><td>Address:</td><td><input type="textarea" name="adress" placeholder="Type some additional details: house N, apartaments, etc..." value="<?php print ($_SESSION['adress'])?>"></td></tr>
            <tr><td>Zip code / Post code:</td><td><input type="zip" pattern="[0-9]{3,9}" placeholder="Only numbers '0-9'" name="zip" value="<?php print ($_SESSION['zip'])?>"></td></tr>
            <tr><td>Mobile:</td><td><input type="textarea" name="mobile" placeholder="Your mobile #" value="<?php print ($_SESSION['mobile'])?>"></td></tr>
            <tr><td colspan="2" text-align="center">	<input type="submit" name="submit" class="submit" value="Click to Order"></td></tr>
            </form>
а так выглядит PHP файл: (ну его первая версия, потом поменяю, главное что в сессию данные пишутся)

Код:
    if (isset($_POST["name"]))
    {
        $_SESSION['name'] = $_POST["name"];
    }

    if (isset($_POST["mobile"]))
    {
        $_SESSION['mobile'] = $_POST["mobile"];
    }
    if (isset($_POST["orderlist"]))
    {
        $_SESSION['orderlist'] = $_POST["orderlist"];

    }

    if (isset($_POST["city"]))
    {
        $_SESSION['city'] = $_POST["city"];
    }

    if (isset($_POST["street"]))
    {
        $_SESSION['street'] = $_POST["street"];
    }

    if (isset($_POST["adress"]))
    {
        $_SESSION['adress'] = $_POST["adress"];
    }

    if (isset($_POST["zip"]))
    {
        $_SESSION['zip'] = $_POST["zip"];

    }
    if (isset($_POST["state"]))
    {
        $_SESSION['state'] = $_POST["state"];

    }
Ответить с цитированием