3 / 3 / 3
Регистрация: 07.04.2012
Сообщений: 194
1

передача данных формы из одного файла в другие

12.11.2012, 15:39. Показов 3803. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! прошу помощи! у меня есть страница сайта, где пользователь заполняет форму. заполнив форму, он жмет кнопку submit и, в зависимости от того, какой промокод он ввел, он переходит на одну из двух страниц: cart_2.php или cart_1.php. Уже очень долго думаю как передать данные из первой формы в последующие, т.к. ведь передать надо в 2 формы, согласно условию. Подскажите пожалуйста, как это реализовать, т.к. метод get и post передают параметры только на ту страницу с формой, которая указана в <form action="cart_1.php" method="post">
читал очень много про этк проблему и на этом форуме, и на других, но были проблемы передачи только во вторую форму.

Добавлено через 23 минуты
я думаю через ajax, но как? подскажите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2012, 15:39
Ответы с готовыми решениями:

Передача данных из формы в другие классы
Товарищи ГУРУ, помогите пожалуйста. Речь идет о WinForm в C#. Необходимо чтобы при загрузке...

Передача данных из одного файла в другой
Помогите разобраться, как правильно(!) передавать переменные, массивы и т.д., объявленные в одном...

Неправильная передача данных из одного файла в другой
Здравствуйте! Возникли проблемы с записью информации в файл. Часть кода: unsigned char bady,...

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

8
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
12.11.2012, 16:24 2
Можно с помощью сессии передать.

Добавлено через 2 минуты
Примерно так можно:
PHP
1
2
3
4
5
6
7
8
9
10
# Это файл, который проверяет промокод и перенаправляет
session_start();
 
# Тут проверяем промокод
 
# А тут заносим POST данные в сессию
$_SESSION['POST_DATA'] = $_POST;
 
# Перенаправляем
header( 'Location: ...' );
Добавлено через 12 минут
Файл, куда идёт запрос из формы:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
    # Запуск сессии
    session_start();
    
    # Тут может быть проверка любых данных
    
    # Проверяем промо код
    switch( $_POST['promo_code'] ):
        case 'такой-то промокод': $location = 'cart_1.php'; break;
        case 'другой промокод': $location = 'cart_2.php'; break;
    endswitch;
    
    # Заносим POST данные в сессию
    $_SESSION['POST_DATA'] = $_POST;
    
    # Перенаправляем
    header( 'Location: ' . $location );
?>
Файл cart_1.php и cart_2.php (пример):
PHP
1
2
3
4
5
<?php
    session_start();
    
    var_dump( $_SESSION['POST_DATA'] );
?>
Всё очевидно: проверяем код, перенаправляем на нужный файл, а в файле также, как бы вы получали данные из $_POST получаете из $_SESSION['POST_DATA']
1
3 / 3 / 3
Регистрация: 07.04.2012
Сообщений: 194
12.11.2012, 16:24  [ТС] 3
PHP
1
2
3
4
5
6
7
8
9
10
11
12
session_start();
if(!empty($mail) || !empty($phone))
{  
mysql_select_db($dbname);
$result=mysql_query('SELECT `code` FROM `code`');
while($row=mysql_fetch_array($result))// берем результаты из каждой строки
{ 
if ($pcode == $row['code']) {
$_SESSION['POST_DATA'] = $pcode;
header( 'Location: cart_1.php' );
}
}
так получается?

здесь как я понял мы сохраняем промокод $pcode в сессию $_SESSION['POST_DATA'] ,
PHP
1
$_SESSION['POST_DATA'] = $_POST;
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
12.11.2012, 16:27 4
АлексейП418, какие данные вы хотите получить из файла, куда делает запрос форма в файлах cart_1.php и cart_2.php?
1
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
12.11.2012, 16:30 5
можно во второй форме сделать поле hidden и подставить в него промокод переданный из предыдущей формы
HTML5
1
<input type='hidden' name ='promocode' value='<?=$_REQUEST['promocode']?>' />
1
3 / 3 / 3
Регистрация: 07.04.2012
Сообщений: 194
12.11.2012, 16:32  [ТС] 6
Lyodik,
вот форма cart_new.php , которую заполняет пользователь. Собственно все эти данные должны вызываться в cart_1 и cart_2.php(извиняюсь за излишество кода):
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
 echo '<h1>Заказ<h1>';
    echo '<h2>'.$pid_name[$pid].'</h2>';
 
    echo '<form action="'.$form_path.'&finish=1" method="post" enctype="multipart/form-data" name="send_form">'."\n";
    echo '<label for="x">Ваше имя</label><br />';
 
    echo '<input name="name" type="text" value="'.$name.'" /><br /><br />';
    if($is_tv)
     { 
    
        $bl_array = array('мелованная матовая 170 г/м2');
        if (!isset($_POST['block']))
            $block=$bl_array[0];
        echo '<label for="x">Бумага блока</label><br />';
        echo '<select name="block">'; 
        foreach ($bl_array as $i)
        {
            echo("<option value='$i'");
            if ($i==$block)
                echo(" selected>$i");
            else
                echo(">$i");
        }
        echo '</select>';
        echo '<div class="modal" id="test-modal" style="display: none">
            <a href="#" class="close">&times;</a><p>A</p></div>
            <a href="#" class="trigger" id="kk" title="просмотреть больше информации о сайте" style="position:absolute; background-color: #F1F1F1; color:black; text-decoration:none; margin-left:2px;">читать-></a><br><br>';
 
        $fep_array = array('prado clac 160 г/м2');
        if (!isset($_POST['fep']))
            $fep=$fep_array[0];
        echo '<label for="x">Бумага форзаца</label><br />';
        echo '<select name="fep">';
        foreach ($fep_array as $i)
        {
            echo("<option value='$i'");
            if ($i==$fep)
                echo(" selected>$i");
            else
                echo(">$i");
        }
        echo '</select>';
        echo '<div class="modal2" id="test-modal2" style="display: none">
            <a href="#" class="close2">&times;</a><p>B</p><br><a href="#" class="rollover"> <a href="#" class="rollover2"><a href="#" class="rollover3"></a></div>
            <a href="#" class="trigger2" id="kk" title="просмотреть больше информации о сайте" style="position:absolute; background-color: #F1F1F1; color:black; text-decoration:none; margin-left:2px;">читать-></a><br><br>';
 
        $cover_array = array('savanna ярко-синяя');
        if (!isset($_POST['cover']))
            $cover=$cover_array[0];
        echo '<label for="x">Бумага обложки</label><br />';
        echo '<select name="cover">';
        foreach ($cover_array as $i)
        {
            echo("<option value='$i'");
            if ($i==$cover)
                echo(" selected>$i");
            else
                echo(">$i");
        }
        echo '</select>';
        echo '<div class="modal3" id="test-modal3" style="display: none">
            <a href="#" class="close3">&times;</a><p>C</p></div>
            <a href="#" class="trigger3" id="kk" title="просмотреть больше информации о сайте" style="position:absolute; background-color: #F1F1F1; color:black; text-decoration:none; margin-left:2px;">читать-></a><br><br>';
}
        $z_status = "unchecked";
        $z_style = "visibility:hidden;";
        $f_status = "unchecked";
        $f_style = "visibility:hidden;";
    
 
    echo '<label for="x">E-mail</label><br>';
    echo '<input name="mail" type="text" value="'.$mail.'" />';
    echo '<input type="text" style="display:none" name="pathh" value="'.$path.'" />';
    echo '<input type="text" style="display:none" name="izdelie" value="'.$pid_name[$pid].'" />';
    echo '<input type="text" style="display:none" name="pgx2" value="'.$pgx.'" />';
    if ($mis_data == 1 && empty($mail) && empty($phone))
        echo '<span style="color:red">  Введите e-mail или номер телефона!</span>';
    echo '<br /><br />';
 
    echo '<label for="x">Телефон</label><br />';
 
    echo '<input name="phone" type="text" value="'.$phone.'" />';
    if ($mis_data == 1 && empty($mail) && empty($phone))
        echo '<span style="color:red">  Введите номер телефона или e-mail!</span>';
    echo '<br /><br />';
 
 
echo '<input type="radio" name="host" value="2" '.$z_status.
        ' onclick=" show(\'sel_samm\'); show(\'pap\')"/> промокод';
    echo '<input type="text" name="pcode" value="'.$pcode.'" id="sel_samm" style='.$z_style.'>';
    echo '<br><br>';
    echo '<label for="x">Комментарий</label><br />';
 
    echo '<textarea name="comment" cols="72" rows="3">'.$comment.'</textarea><br /><br />';
    
    echo '<input type="text" style="display:none" name="cena" value="'.$haker.'" />';
    
    echo '<input type="submit" name="submit" value="Отправить" class="submit" />';
 
 
 
    echo '</form'."\n";
и имя, и мэйл, и телефон, и комментарий

Добавлено через 1 минуту
alpex, в том то и дело что нужно же сначала их передать ,
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
12.11.2012, 16:36 7
Цитата Сообщение от АлексейП418 Посмотреть сообщение
обственно все эти данные должны вызываться в cart_1 и cart_2.php
Я же дал код выше. Вы его запускали? Там я в сессиб заношу весь массив $_POST, а из сессии потом можно брать как будто берёте из $_POST
1
3 / 3 / 3
Регистрация: 07.04.2012
Сообщений: 194
12.11.2012, 16:47  [ТС] 8
как я понял просто надо написать в начале php
PHP
1
2
 session_start();
    $_SESSION['POST_DATA'] = $_POST;
и в cart1 и 2
PHP
1
2
session_start();
var_dump( $_SESSION['POST_DATA'] );
и в cart_1 cart_2 пользоваться $_session['name'], $_session['mail'] да?
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
12.11.2012, 16:50 9
Это
PHP
1
var_dump( $_SESSION['POST_DATA'] );
не обязательно (я написал, чтобы вы могли увидеть, что содержится в переменной сессии).
Цитата Сообщение от АлексейП418 Посмотреть сообщение
и в cart_1 cart_2 пользоваться $_session['name'], $_session['mail'] да?
Да, всё верно.
1
12.11.2012, 16:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2012, 16:50
Помогаю со студенческими работами здесь

Передача нажатой клавиши в другие формы
Здравствуйте. У меня есть приложение с главной формой (Main), на ней лежит N разных контролов. В...

Передача изменений в CodeDom через другие формы
У меня есть класс для компиляции исходного кода из ресурсов, на выходе получаю полноценный файл...

Разнести таблицу из одного файла в другие
Помогите плиз :help: Есть файл эксель. колонка 1 колонка 2 колонка 3 колонка 4 колонка 5 колонка...

Скопировать слова из одного файла в два другие
Здравствуйте. Не подскажите как можно в bat сделать так что бы он из первой строки брал 3 и 4 слово...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru