Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: не пашут сесии или я чтото путаю

Сообщения:  [1-5] 

 
 автор: JIEXA   (20.10.2007 в 15:04)   письмо автору
 
   для: Drago   (20.10.2007 в 04:11)
 

О я тоже неуглядел, у меня в коде там тоже надо исправить на _GET

   
 
 автор: ReZiStOr   (20.10.2007 в 11:58)   письмо автору
 
   для: JIEXA   (20.10.2007 в 04:05)
 

спасибо большое разобрался

   
 
 автор: Drago   (20.10.2007 в 04:11)   письмо автору
 
   для: ReZiStOr   (20.10.2007 в 03:56)
 

Все переменные в функции, кроме суперглобальных массивов и специально обозначенных, с помощью оператора glоbal, являются локальными.
В вашей функции

<?php
function test() 

$a=check_user($_GET[name],$_GET[pass]); 

print 
$user
print 
$password
}
?>

Локальные переменные $user и $password, неопределены. Т.е, не имеют значения.
Попробуйте обратиться непосредственно к суперглобальному массиву SESSION.

<?php
function test() 

$a=check_user($_GET[name],$_GET[pass]); 

print 
$_SESSION['user']; 
print 
$_SESSION['password']; 
}
?>

   
 
 автор: JIEXA   (20.10.2007 в 04:05)   письмо автору
 
   для: ReZiStOr   (20.10.2007 в 03:56)
 

По вашему коду трудно понять, что вы хотели сделать, но наверное:

<?php 
session_start
(); 
function 
check_user($user,$password

   
$query mysql_query("SELECT * FROM 'users' WHERE name='".mysql_escape_string($user)."' LIMIT 1");
    
        
$data=mysql_fetch_assoc($query);

        if(
$user==$data['name'] and $password==$data['pass']) 
        { 
            
$_SESSION['user'] = $data['name'];
            
$_SESSION['password'] = $data['pass'];
            return 
true;     
        }
        else return 
false;
}

function 
test() 

   if(
check_user($_GET[name],$_GET[pass]))
   {
      print 
$_SESSION['user']; 
      print 
$_SESSION['password'];
   }
   else print 
"вы не авторизированы";
}

if(
$_GET['option']=="check"

   
test();     

?>

   
 
 автор: ReZiStOr   (20.10.2007 в 03:56)   письмо автору
 
 

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

<?php
session_start
();
function 
check_user($user,$password)
{
    
$zapros="SELECT * FROM `users`";
      
$result=impulse($zapros);
    while(
$row=mysql_fetch_array($result)) 
    {
        if(
$user==$row['name'] && $password==$row['pass'])
        {
            
session_register("user") ;
            
session_register("password");
            return
"true";
            die();        
            
            
        }else{return
"false";};
    }
    
};
function 
test()
{
$a=check_user($_GET[name],$_GET[pass]);

print 
$user;
print 
$password;
};







if(
$_GET[option]=="check")
{

print 
test();
    
};
?>

   

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования