IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Как передавать переменные в РНР? (http://www.imho.ws/showthread.php?t=57192)

Drualex 24.04.2004 01:56

Как передавать переменные в РНР?
 
Привет всем, у меня такая проблемма. Значит создал я 1 страницу на которой проходит самая простая авторитизация, после введения правильного пароля и имени, эти данные(переменные) переходят на другую страницу. Тут если все правильно, то появляется форма для смены курса валют. Мне надо сделать так что бы после ввода данных в форму проиходила проверка на допустимые символы. Я это реализовал ниже этого логического условия(до этого проверялся пароль). Эта страница открывает себя же(в action).
Но после того как по задумке должна быть проверка на допустимые знаки, переменные с паролем(которые были на 1 странице) просто не передаются. Как сделать так что бы они были глобальными я не знаю, хотя может быть это и не глобальные:)
Помогите плиз разобраться.

RaZEr 24.04.2004 02:02

http://www.imho.ws/showthread.php?t=9875

Drualex 24.04.2004 02:16

Ксожелению, не то...:(

Hubbitus 24.04.2004 15:10

Если нужно проверить допустимость данных в форме то это наверное лучше сделать прямо на стороне клиента, например на JavaScript, ДО передачи на сервер (там, если нужно, можно еще раз проверить навсякий случай).
Если это не устраивает, то просто уже известные данные забиваешь в <input type=hidden....> и передаешь сколько нужно раз...
Также можно методом GET их дописывать..
Можно Сессии использовать...

Вариантов куча, все зависит от конкретной задачи и твоего выбора!

NoKawaii 26.04.2004 14:33

Ну так тогда используй глобалями и проверяй все в одном файле....
используй $_SERVER['PHP_SELF']
т.е.
Код:

<?
check()
{
global $login, $password;
//тут проверяй что хочешь
//Если все ок то перенаправляй куда надо
echo "<script language=javascript>location = 'admin.php'</script>";
}
if ($action==login) check();
echo"
<form action='". $_SERVER['PHP_SELF'] ."?action=login' method=post>
<input type=text name=login>
<input type=password name=password>
<input type=submit value=OK>
</form>
";
?>


Hubbitus 26.04.2004 15:20

Ну проверять можно конечно и в одном файле, только задача-то стоит именно в разных, т.к. там потом еще что-то будет (как в примере смена и пересчет валют).

P.S. А про глобали совсем ерунда написана gigi
Если советуешь глобальными переменными пользоваться то $PHP_SELF по умолчанию глобальная (тоесть не обязательно писать $_SERVER['PHP_SELF']).
И потом вообще не понятно почему просто в функцию не передать аргументы?
Например так check($login, $password) соответственно описав ее должным образом -
check($login, $pass){
//тут проверяй что хочешь
}
Я ни в коем случае не настаиваю что делать нужно именно так (хотя почему бы и нет), я просто хочу сказать что для решения поставленной проблемы пофигу глобальные переменные использовать или нет для данной функции.

NoKawaii 26.04.2004 17:47

To Hubbitus
Если у него на сервере выключены глобали, то да тогда только так.
Встречал кстати уже пару раз такое на бесплатных серверах +)

Hubbitus 26.04.2004 18:25

Если выключены - да, но ведь речь вообще не об этом изначально была!


Часовой пояс GMT +4, время: 11:04.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.