powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Переменная теряется при повторном проходе фомы
3 сообщений из 3, страница 1 из 1
(PHP) Переменная теряется при повторном проходе фомы
    #33113802
CrH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CrH
Гость
Всем качественный привет!

Есть такой файл index.php:
---------------------------------------
<script language="JavaScript">
<!--
function openWin( tx ) {
myWin= open(" form.php?ob=" + tx , "displayWindow",
"width=600,height=482,scrollbars=yes,status=no,toolbar=no,menubar=no");
}
-->
</script>
</HEAD>
<BODY>
<form action="">
<input type=button value="Click" onClick="openWin(' Это значение ')">
</form>
</BODY>
---------------------------------------

Есть второй файл form.php:
---------------------------------------
<?
if ($_SERVER['REQUEST_METHOD']=='POST') {
foreach($_POST as $key => $value) {
$value=trim($value);
if (get_magic_quotes_gpc()) $value = stripslashes($value);
$value=htmlspecialchars($value,ENT_QUOTES);
$_POST[$key]=$value;
$value=str_replace("\r","",$value);
$value=str_replace("\n","<br>",$value);
$msg[$key]=$value;
}
$err='';
if (!$man) {
$err="Вы не указали количество!<br>";
$man_ = 'id="h6"';
}

//если ошибок нет, то пишем в файл
if (!$err) {
$s .="Количество ......... " .$msg['man']."\n";
$s .="--------------------------------------------\n";
$fp=fopen("gbook.txt","a");
fwrite($fp,$s);
fclose($fp);
//после записи перенаправляем браузер на страницу, которая отображает сообщения
Header("Location: ".$_SERVER['PHP_SELF']);
//и завершаем работу скрипта
exit;
}
//если у нас были ошибки при заполнении формы, то в файл ничего не запишется, скрипт не завершится, а выведется форма, с заполненными полями и сообщения об ошибках
} else {
//если это не пост, то присваиваем переменным, выводимым в форме пустую строку
$_POST['name'] = $_POST['email'] = $_POST['notes'] ='';
}
?>
<HTML>
<BODY>
<?
if ($err) echo '<font color=red><b>'.$err.'</b></font>';
?>
<form action="<? echo $_SERVER['PHP_SELF'] ?>" method="POST"><br>
<DIV id='h5'>Форма</DIV><BR>
<DIV id='h3'><? print $ob ?></DIV><BR>
<TABLE width='100%' border='1' cellspacing='0' cellpadding='3' bordercolor='#97C1DD'>
<TH width='35%'>Сколько
<INPUT type='text' name='man' size='2' <? print $man_ ?> value="<? echo $_POST['man'] ?>">
</TH>
</TR>
</TABLE> <br>
<input type="submit" name="Отправить" style="text-align: center;">
</FORM>
</BODY>
</HTML>
----------------------------------------------

А вопрос следующий:
При вызове form.php значение "Это значение" , посредством транзитной переменной tx , передается переменной $ob и при выводе формы на экран $ob имеет значение "Это значение" . Но ...
в случае, если мы не заполнили поле формы, после обработки, мы выводим форму по новой с указанием ошибки.
Но при этом переменная $ob исчезает.
Подскажите как ее сохранить при последующих выводах формы?

Заранее благодарен.
С Уважением. Игорь
...
Рейтинг: 0 / 0
(PHP) Переменная теряется при повторном проходе фомы
    #33113849
Фотография Извеков Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Судя по тому, как Ты работаешь с $ob включен режим register globals. В оригинале $ob Ты передаешь посредством Get параметра. Так почему же не поступить точно также со вторым случаем, т. е.
<form action="<? echo $_SERVER['PHP_SELF'] ?ob=$ob ?>" method="POST"><br>
...
Рейтинг: 0 / 0
(PHP) Переменная теряется при повторном проходе фомы
    #33113973
CrH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CrH
Гость
Спасибки огромные за помощь! :)

Однако победил другим способом:

<form action="" method="POST"><br>

т.е. исключив <? echo $_SERVER['PHP_SELF']?ob=$ob ?> насмерть

------------
Processor not found! Software emulation ...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Переменная теряется при повторном проходе фомы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]