[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: логическое выражение для get
юрьич
Здравствуйте. Подскажите, как прописать такое выражение:
Если GET запрос не отправлен, то показываем форму
<form class="get" method="GET" action="/components/videos/upload_video.php">
<
input type="text" name="url" autocomplete="on" style="width:405px; height:30px;" value="">
<
input style="height:35px;" type="submit" value="Добавить">
</
form>

И потом нужно из обработчика, после выполнения скрипта, снова вернуться на страницу с формой, но что бы её уже не было видно. Для POST использую inRequest(), а как для get?
AllesKlar
upload_video.php
session_start();
if( ! empy($_GET['url']) ) // в обработчик пришли данные, параметр $_GET['url'] существует и он не пуст
{
...... // обработка значений формы
}
else
{
$_SESSION['error'] = "текст ошибки о том, что что-то должно быть в $_GET['url']...";
header('location: form.php'); // form.php - адрес скрипта, который выводит форму
}


form.php

<?php
session_start();
if(! empty( $_SESSION['error']))
{
echo $_SESSION['error']; // если пришла сессия с ошибкой, то выводим ошибку
unset( $_SESSION['error']); // и уничтожаем сессию с ошибkoй.
}
?>
<form class="get" method="GET" action="/components/videos/upload_video.php">
<
input type="text" name="url" autocomplete="on" style="width:405px; height:30px;" value="">
<
input style="height:35px;" type="submit" value="Добавить">
</
form>


_____________
[продано копирайтерам]
юрьич
Спасибо,AllesKlar, но нужно всё наоборот. Проверять не в обработчике, а где форма. Что бы после возращение форму уже не показывало.
AllesKlar
юрьич
Ну так, напильник в руки и вперед...
session_start();
if( ! empy($_GET['url']) ) // в обработчик пришли данные, параметр $_GET['url'] существует и он не пуст
{
...... // обработка значений формы
$_SESSION['ok'] = 1;
}


if(  empty($_SESSION['ok'] )):
?>
<form class="get" method="GET" action="/components/videos/upload_video.php">
<
input type="text" name="url" autocomplete="on" style="width:405px; height:30px;" value="">
<
input style="height:35px;" type="submit" value="Добавить">
</
form>
<?php
else:
unset($_SESSION['ok']);
endif;


_____________
[продано копирайтерам]
юрьич
Спасибо, вроде пока всё идёт в верном направлении, только вот такой нюанс. После того как я вернулся на стр. с формой, её нет. Отлично. Но после перезагрузки она естественно снова нарисовывается. А этого как бы не хотелось бы. Возможно ли это поправить?
AllesKlar
юрьич
Ты уверен, что ты именно этого хочешь?
ведь форма не появится до тех пор, пока пользователь не закроет и потом снова откроет браузер.

Вот это удали, и она перестанет тебя беспокоить.
else:
unset($_SESSION['ok']);


_____________
[продано копирайтерам]
юрьич
Нет, не уверен. smile.gif , если так, то буду думать. Может это и не надо. Возможно сделаю другую страницу и перенаправлю туда. Ладно, спасибо, удачи. Если, что напишу.
Быстрый ответ:

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