Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Проблема с register global on работает при off нет (http://www.flasher.ru/forum/showthread.php?t=84413)

Americanets 30.08.2006 21:09

Проблема с register global on работает при off нет
 
Вложений: 1
Проблема с register global on работает при off нет, может подскажете что нужно поменять, понятно что при off данные не поступают скрипту, но как их туда вбить?
PHP код:

<?php 
include "cookie.php";
?>
<?php
if ($login) {
   if ((
$password_cypt == $set_pass) && ($username == $set_user)) {
    print 
"<META http-equiv=\"refresh\" content=\"0;URL=index.php\">\n";
   }
   else {
      print 
"<p>Incorrect Username or Password, please <a href=\"index.php\">go back</a> and try again.</p>\n";
   }
}
elseif ((
$PassMaster[1] == "$set_pass") && ($PassMaster[2] == "$set_user")) {

   print 
"<p><strong><a href=\"logout.php\" onclick=\"NewWindow(this.href,'logout','300','200','no');return false\" title=\"logout\">Logged In</a>:</strong> $PassMaster[2]</p>\n";
?>
<!-- BEGIN YOUR TEXT HERE -->

Пробовал
$login=$_POST['login'];
$password=$_POST['password'];
$username=$_POST['username'];
Стало определять что я ввожу но данные не проходят, плз хелп:umnik2:

x2com 30.08.2006 22:06

Попробуй так:
PHP код:

<?php
include "cookie.php";
?>
<?php
if (isset($_POST['login']) {
   if ((
$password_cypt == $_POST['set_pass']) && ($username == $_POST['set_user'])) {
    print 
"<META http-equiv=\"refresh\" content=\"0;URL=index.php\">\n";
   }
   else {
      print 
"<p>Incorrect Username or Password, please <a href=\"index.php\">go back</a> and try again.</p>\n";
   }
}
elseif ((
$PassMaster[1] == "$set_pass") && ($PassMaster[2] == "$set_user")) {

   print 
"<p><strong><a href=\"logout.php\" onclick=\"NewWindow(this.href,'logout','300','200','no');return false\" title=\"logout\">Logged In</a>:</strong> $PassMaster[2]</p>\n";

И вообще пользуйся лучше вместо глобальных переменных, переменные типа $_GET[] $_POST[] $_REQUEST[] и тд. Так надёжнее.
PS- и незабудь поправить coockie.php
PHP код:

<?php

$password_cypt 
md5($_POST['password']);

if ((
$password_cypt == $set_pass) && ($username == $set_user)) {
   
setcookie("PassMaster[1]""$password_cypt"time() + 3600'/');
   
setcookie("PassMaster[2]""$username"time() + 3600'/');
}

?>

И далее в таком духе... смотри где отслеживаются глобальные переменные и меняй их с глобальных к нормальным...

Americanets 31.08.2006 00:21

спасибо, буду пробовать, насамом деле уже не раз столкнулся с проблемой register global, так что еще раз спасибо

Americanets 31.08.2006 00:38

что-то ничего не получилось, есть еще строка
PHP код:

elseif (($PassMaster[1] == "$set_pass") && ($PassMaster[2] == "$set_user")) { 

, но если вместо $set_user ставить $_POST['set_user'] и с pass тоже самое, то вообще пароль не спрашивает, просто пропускает, что то не могу понять что еще необходимо заменить ?

Skubent 31.08.2006 12:33

Общее правило простое - если знаешь, откуда переменные берутся в скрипте, то проблемы нет, если не знаешь, бери все неинициализированные явно переменные из массива $_REQUEST. Ну это так, костыль на "починить чтоб хоть как-то быстренько завелось"

etc 31.08.2006 13:53

А зачем писать в кавычках имя переменной?

DEM90 02.09.2006 21:00

Регистер глобал позволяет пересылать перменые с одной страницы на другую (к примеру), но поскольку через него часто ломают сайты, лучше воспользоваться регистер_глобал=офф... а переменые пересылать через массивы

etc 02.09.2006 21:14

Цитата:

Сообщение от DEM90
Регистер глобал позволяет пересылать перменые с одной страницы на другую (к примеру)

Да? Я почему-то думал, что просто все переменные, переданные скрипту, являются глобальными…
А то, что их, оказывается, пересылать можно, хм…

Americanets 28.09.2006 23:52

вобщем разобрался переписал все по проще и под off всем спасибо когда разбрешся все проще кажется :)


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.