ФорумПрограммированиеPHP для идиотов → обработчик формы одним фалом. Проблемы с Пост переменными

обработчик формы одним фалом. Проблемы с Пост переменными

  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 19 августа 2009 г. 13:04

    Народ, я три часа бился над задачей, как же можно организовать обработчик, получилась такая логика:

    Есть файл с формой :

    <form name='form1'>

    <form>


    И есть обработчик этой формы, который вынесен в отдельный файл (в нем то все и происходит):

    // Если не существует скрытой переменной ($_POST['insert']), которая передается после нажатия на submit2  
    if(!isset($_POST['insert']))
    {
           // то проверяем нажата ли кнопка формы (form1)
    if(isset($_POST['submit']))
    {
                   // если кнопка нажата проверяем, к примеру переменную $_POST['name'] на пустоту, если та не пустая …
    if(!empty($_POST['name']))
    {
                       // выводим форму, в которой выводим таблицу. В таблице мы размещаем Имя и переменную
                       $name = $_POST['name'];
                       echo "<form action='$PHP_SELF' method='post' name='form2'>";
                       printf("<table>
                                <tr>
                                <td>Имя</td>
                                <td>%s</td>
                                </tr>
                                </table>
                                // Я пробовал такой метод, чтобы передать name дальше, но он не работает
                                <input type='hidden' name='name' value'%s'>
                                // в скрытое поле поместил %s и установил для нее значение $name
                                <input type='hidden' name='insert' />
        <input type='submit' name='submit2' value='Отправить'></form>", $name, $name);
    // тут вроде все ок, форма закрылась, переменные в ней.
    //По логике, по идее они должны при нажатии на кн. ОТПРАВИТЬ,
    // полететь заново в этот файл, начиная с верху и до конца скрипта,
    // и мы их по идее можем поймать заново, что я и делаю ниже
                   }
                   else
    {
    echo "<p>Вернитесь и заполните все поля!<input type='button' name='back' value='Исправить' onclick='history.back();return(false);'></p>";
    }
           else
    {
                   // закрываем if(isset($_POST['submit']))
    exit("Вы зашли на страницу не корректным образом!!!");
    }
    else // ну а если переменная $_POST['insert'] существует, то …
    {
    if(isset($_POST['submit2'])) // проверяем, нажата ли кнопка формы со скрытыми полями
    {
    $name = $_POST['name']; // опять ловим нашу $_POST['name'] уже из формы 2
    $insert_name = mysql_query("INSERT INTO md_advertise  (name) VALUES ('$name')"); // заносим в бд
    if($insert_name)
    echo "У меня все добавилось!!!!";
    else
    echo "У меня не добавилось!!!!";
    }
    }



    И Вот когда прилетают переменные в мою базу, они все равны 0, т.е. в них нет ни чего, почему так может я их ловлю не так? Или не так логика работает? Помогите разораться… Проще будет понять, если код страницы глянуть…

    Вот тут начало (тут заполняется форма):
    http://rusdes.ru/advertise_site/form.php

    Вот тут Инфа о заказе (она еще ни куда не ушла, хранится в ГЛОБ переменных. На неё заходить с первой страницы):
    post_form_adv.php

    И она же отправляет все в базу… С результатом 0

    HELP!!!


  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz 19 августа 2009 г. 13:06, спустя 2 минуты 27 секунд

    I don't want to read this topic, it's fucking suck! ;)
  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 19 августа 2009 г. 13:08, спустя 1 минуту 39 секунд


    I don't want to read this topic, it's fucking suck! ;)


    Почему? Я так старался понятно написать …
  • Roller

    Сообщения: 143 Репутация: N Группа: Кто попало

    Spritz 19 августа 2009 г. 13:13, спустя 4 минуты 50 секунд

    мне у тя на сайте написало

    "У меня все добавилось!!!!" )

  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 19 августа 2009 г. 13:17, спустя 4 минуты 26 секунд


    мне у тя на сайте написало

    "У меня все добавилось!!!!" )




    Да, но добавляется почему то все пустое, т.е. переменные все пустые, хотя в таблице все отображается норм… а после, хз, куда изчезают…
    Спустя 79 сек.
    Логика работает, но переменные не сохраняют первичных значений перенесенных из первой формы. Переносясь из второй формы они становятся пустыми…
  • Roller

    Сообщения: 143 Репутация: N Группа: Кто попало

    Spritz 19 августа 2009 г. 13:20, спустя 3 минуты 3 секунды



    мне у тя на сайте написало

    "У меня все добавилось!!!!" )




    Да, но добавляется почему то все пустое, т.е. переменные все пустые, хотя в таблице все отображается норм… а после, хз, куда изчезают…
    Спустя 79 сек.
    Логика работает, но переменные не сохраняют первичных значений перенесенных из первой формы. Переносясь из второй формы они становятся пустыми…


    хехе, а ты к базе то подключился?
    вижу только запрос к базе
    $insert_name = mysql_query("INSERT INTO md_advertise  (name) VALUES ('$name')"); // заносим в бд


    а где типа токого
    $db = $classdb->dbconect("localhost", "login", "pass", "db_name");

  • Mr.Pihto

    Сообщения: 1386 Репутация: N Группа: Адекваты

    Spritz 19 августа 2009 г. 13:23, спустя 2 минуты 50 секунд

    ыыы

    if($insert_name)
    echo "У меня все добавилось!!!!";
    else
    echo "У меня не добавилось!!!!";
    }
    Спустя 73 сек.
    класно =) это ты сам себе так кричиш?)
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 19 августа 2009 г. 13:25, спустя 1 минуту 55 секунд

    Что вы на него взъелись? Нормально он объяснил вроде, как протрезвею - отпишу
    adw/0
  • Mr.Pihto

    Сообщения: 1386 Репутация: N Группа: Адекваты

    Spritz 19 августа 2009 г. 13:26, спустя 40 секунд

    все нормально
  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 19 августа 2009 г. 13:34, спустя 8 минут 39 секунд

    $insert_name = mysql_query("INSERT INTO md_advertise  (name) VALUES ('$name')", $con);


    В переменной $con соединение

    Я через include('config.php');
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 19 августа 2009 г. 13:28, спустя 23 часа 53 минуты 49 секунд


    Что вы на него взъелись? Нормально он объяснил вроде, как протрезвею - отпишу
    ыы
    Сапожник без сапог
  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 19 августа 2009 г. 13:29, спустя 1 минуту 6 секунд

    На данный момент я добавляю одно поле, это можно увидеть, когда добавите заявку на рекламу, в самом конце вывел стату по кол-ву дней…
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 19 августа 2009 г. 13:56, спустя 26 минут 29 секунд

    value'%s' измени на value='%s'
    action='$PHP_SELF' убери нах. если не поможет, читай ман по пхп сначала
    Спустя 172 сек.
    Или не так логика работает?

    xD логика
    Спустя 240 сек.
    exit("Вы зашли на страницу не корректным образом!!!");

    xDDDDDD
  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 19 августа 2009 г. 14:39, спустя 43 минуты 20 секунд

    Заработало )))) Всем пасиб !!!!!!
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 19 августа 2009 г. 23:17, спустя 8 часов 38 минут

    Ну вот, меня не дождались ))
    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!