[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Объединить 2 кнопки в одну
mike_pmk
Есть код:
<?php
/* создаем сессию */
session_start();
/* проверяем отправлена ли форма методом POST */
if($_SERVER['REQUEST_METHOD'] == POST){
/* если форма отправлена, получаем данные */
$firstName = $_POST['firstName'];
/* записываем полученные данные в сессию */
$_SESSION['firstName'] = $firstName;

}else{
/* когда возвращаемся на эту страницу методом GET, записываем данные из сессии в переменные */
$firstName = $_SESSION['firstName'];

}
?>

<!-- обычная форма отправки данных -->

<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Введите ответственного менеджера:<br>
<input type="text" name = "firstName"><br>
<input type="submit">
</form>
<a href='http://oliva.x7p.ru/session_2.php'><img id='event' src="http://oliva.x7p.ru/next.png" /></a>
По первой кнопке происходит запись в сессии, по второй переход на следующую страницу
Требуется объединить 2 кнокпи в одну, то есть записать и перейти.
Мучаюсь третий день. Знаний не хватает. Просьба помочь
inpost
mike_pmk
/* если форма отправлена, получаем данные */
$firstName = $_POST['firstName'];
/* записываем полученные данные в сессию */
$_SESSION['firstName'] = $firstName;

Ты будешь крайне удивлён, то первая строчка не получает данные, а данные УЖЕ есть, просто ты создаёшь ещё одну переменную с таким же значением, как и первая переменная.

А дальше, что значит перейти на другую страницу? Ты имеешь ввиду кнопку NEXT нажатЬ? Ну её нажимать не надо, сделай переадресацию через функцию
header();

Об этом есть в документации на php.net

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
mike_pmk
Спасибо за ответ, но:
насколько я понимаю, тут есть проверка есть ли данные или нет, и если их нет их надо ввести в форме, либо заменить в той же форме.
В любом случае пользователь сначала отправляет данные в сессию по кнопке отправить, далее я искусственно сделал кнопку next для перехода
По хорошему надо сделать сразу по кнопке "отправить" и перезапись(запись) и переход.
header(); не подходит, он сразу перенаправляет в любом случае, а надо, если что-то введено вновь и нажато "отправить".
inpost
mike_pmk
На этом сайте при написании сообщения используется header.
if(сообщение отправлено) {
сообщение добавляется в БД;
header();
}

Делай так же.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
mike_pmk
написал следующее:
<?php
if(isset($firstName))
{
echo "Переменная сущeствует";
header('Refresh: 10; URL=http://newcoder.ru/cat/web/');
echo 'Данная страница переехала на новое место, через 10 сек. вы автоматически будете перенаправленны на нее.';
exit;
}

else
{
echo "Переменная не существует";
}
?>

не работает ошибка
Warning: Cannot modify header information - headers already sent by
Снова нужна помощь!
Игорь_Vasinsky
Цитата
echo "Переменная сущeствует";
header('Refresh: 10; URL=http://newcoder.ru/cat/web/');


убери нафиг вывод перед отправкой заголовка. там даже пустой строки не должно быть.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.