2017-02-21 11 views
-1

Я пытаюсь добавить переменную в сеанс и прочитать эту переменную в функции.Невозможно добавить переменную в php-сеанс

так вот index.php:

<?php 
include("include/config.php"); 

if(!empty($txt_user) && !empty($txt_pass)) 
{ 
    $result=login_func($txt_user,$txt_pass); 

    if($result==1) 
    { 
     header("Location: homepage.php"); 
    }else{ 
     $alert_class="alert-danger"; 
    } 
} 
?> 
<form action="<?php echo("".$_SERVER['PHP_SELF']."");?>" method='post' class='form-validate' id="test"> 
       <div class="form-group"> 
        <div class="email controls"> 
         <input type="text" name='txt_user' placeholder="Kullanıcı Adınız" class='form-control' data-rule-required="true"> 
        </div> 
       </div> 
       <div class="form-group"> 
        <div class="pw controls"> 
         <input type="password" name="txt_pass" placeholder="Şifreniz" class='form-control' data-rule-required="true"> 
        </div> 
       </div> 
       <div class="submit"> 
        <input type="submit" value="Giriş Yap" class='btn btn-primary'> 
       </div> 
      </form> 

config.php:

<?php 

ini_set('session.gc_maxlifetime', 3600); 
session_start(); 
ob_start(); 

include("class.php"); 
include("functions.php"); 

**connections to db** 
?> 

functions.php:

function login_func($user,$pass) 
{ 
    $sql=mysql_query("SELECT * FROM table WHERE user_name='$user' AND pass='$pass' LIMIT 1"); 

    $control_number=mysql_num_rows($sql); 
    if(($control_number==1)) 
    { 
    $_SESSION['login_id'][email protected]_result($sql,0,'id'); 
    $_SESSION['login_name'][email protected]_result($sql,0,'name'); 
    $_SESSION['login_email'][email protected]_result($sql,0,'email'); 

    return 1; // true 
    }else{ 
    return 2; //false 
    } 
} 

Так что если я добавить следующие команды homepage.php я получаю пустой результат для каждого эха:

echo $_SESSION['login_id']; 
    echo $_SESSION['login_name']; 
    echo $_SESSION['login_email']; 

даже и если я сделать то же самое действие эха только в функции оно не дает никакого выхода тоже.

also here are my php session configurations:

Так я застрял здесь и не можете найти то, что причина этой проблемы. спасибо за помощь.

пожалуйста, не беспокойтесь о синтаксических ошибках. Я думаю, что только проблема заключается в использовании неправильных сеансов и сеансов conf.

+0

НЕ ИСПОЛЬЗОВАТЬ '' mysql_ * ФУНКЦИИ. Они только сделают вас уязвимыми для SQL-инъекций. Используйте 'mysqli_ *' или подготовленные запросы. –

ответ

0

Вы пытаетесь получить доступ к $txt_user и $txt_pass переменным registered globals.

Если вы не используете php 5.3, а ниже register_globals удаляется из PHP.

Регистрация глобальных переменных Огромный риск для безопасности и его следует избегать в любом случае.

Попробуйте использовать $_POST['txt_user'] и $_POST['txt_pass'] вместо

+0

Благодарим за комментарий, я использую php 5.3 и весь код, работающий локально на сервере, а также старый код, поэтому он работает над обновлением. – kazata

Смежные вопросы