Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
(PHP) потеря переменных при отправке формы
|
|||
|---|---|---|---|
|
#18+
Привет, помогите новичку в PHP. есть две формы - форма авторизации (index.php) <?php if (isset($_POST['enter']) && !empty($_POST['enter'])) { $err = ''; if (!$_POST['username']) { $err .= "Неверное имя пользователя"; } else { $db_username .= $_POST['username']; $db_password .= $_POST['password']; $db_base .= 'ssd'; $db_charset .= 'AL32UTF8'; $conn = oci_connect($db_username, $db_password, $db_base, $db_charset); if (!$conn) { $e = oci_error(); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } include ("search.php"); exit; } } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link href="index.css" rel="stylesheet" /> <title>Авторизация</title> </head> <body> <form name="loginform" action="index.php" method="post"> <div id="login"> <p id="caption">Укажите имя пользователя и пароль</p> <?php if ($err) echo '<p id="user-error">' . $err . '</p>'; ?> <p>Пользователь:<input name="username" type="text" /></p> <p>Пароль:<input name="password" type="password" /></p> <input type="submit" name="enter" value="Войти" /> <input type="reset" value="Очистить" /> </div> </form> </body> </html> и форма поиска (search.php) <?php if (isset($_POST['search']) && !empty($_POST['search'])) { $err = ''; if (!$_POST['nomer']) { $err .= "Укажите данные для поиска!"; } else { include ("result.php"); exit; } } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link href="egrp.css" rel="stylesheet" /> <title>Поиск</title> </head> <body> <?php $stid = oci_parse($conn, "select name from table"); oci_execute($stid, OCI_DEFAULT); } ?> <form name="searchform" action="search.php" method="post"> <div> <p>Данные для поиска</p> <p>Вид: <select name="rtype"> <?php while (OCIFetch($stid)) { echo "<option>" . oci_result($stid, "NAME") . "</option>"; } ?> <option selected></option> </select> </p> <p>Номер:<input name="nomer" type="text" /></p> <?php if ($err) echo '<p id="user-error">' . $err . '</p>'; ?> <input type="submit" name="search" value="Искать" /> <input type="reset" value="Очистить" /> </div> </form> </body> </html> Формы ссылаются сами на себя и проверка проходит в них же. У меня проблема со второй формой... При первом открытии все хорошо, есть коннект к базе и в переменных из первой формы есть значения. При нажатии на кнопку Искать, неважно указаны значения в полях или нет, происходит потеря соединения с БД и потеря всех переменных. Повторю, я новичок в PHP... перерыл форум, перечитал мануал к PHP, но так и не понял, почему переменные из 1 формы теряются (register_globals = On). Более того, даже если переменные потерялись, при незаполнении поля ввода NOMER должно выдаваться сообщение $err .= "Укажите данные для поиска!"; Но его нет.... Ткните носом, пож-ста, что делаю не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 11:30 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=112&tid=1463786]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 317ms |

| 0 / 0 |
