2015-06-19 3 views
0

Это единственный раз, когда в файле отображается «Выбор». , , ,Получить текущую информацию о сеансе, используя отдельный связанный файл php

function GetUserFromEmail($email,&$user_rec) 
{ 
    if(!$this->DBLogin()) 
    { 
     $this->HandleError("Database login failed!"); 
     return false; 
    } 
    $email = $this->SanitizeForSQL($email); 

    $result = mysql_query("Select * from $this->tablename where email='$email'",$this->connection); 

    if(!$result || mysql_num_rows($result) <= 0) 
    { 
     $this->HandleError("There is no user with email: $email"); 
     return false; 
    } 
    $user_rec = mysql_fetch_assoc($result); 


    return true; 
} 

и. , ,

function CheckLoginInDB($username,$password) 
{ 
    if(!$this->DBLogin()) 
    { 
     $this->HandleError("Database login failed!"); 
     return false; 
    }   
    $username = $this->SanitizeForSQL($username); 

$nresult = mysql_query("SELECT * FROM $this->tablename WHERE username = '$username'", $this->connection) or die(mysql_error()); 
    // check for result 
    $no_of_rows = mysql_num_rows($nresult); 
    if ($no_of_rows > 0) { 
     $nresult = mysql_fetch_array($nresult); 
     $salt = $nresult['salt']; 
     $encrypted_password = $nresult['password']; 
     $hash = $this->checkhashSSHA($salt, $password); 


    } 


    $qry = "Select name, email from $this->tablename where username='$username' and password='$hash' and confirmcode='y'"; 

    $result = mysql_query($qry,$this->connection); 

    if(!$result || mysql_num_rows($result) <= 0) 
    { 
     $this->HandleError("Error logging in. The username or password does not match"); 
     return false; 
    } 

    $row = mysql_fetch_assoc($result); 


    $_SESSION['name_of_user'] = $row['name']; 
    $_SESSION['email_of_user'] = $row['email']; 
    $_SESSION['phone_of_user'] = isset($row['phone'])?$row['phone']:'phone not set'; 


    return true; 
} 

Кроме того, это единственный раз, когда появляется строка $. Функции, вызываемые из другого php-файла, следующие. , , ,

<p id="mobilecheck" align="center"> Willkommen z&uuml;ruck <? echo $fgmembersite->UserFullName(); ?>! </br> 

Willkommen UserPhone(); ?>! Willkommen z ü ruck UserEmail(); ?>!

+0

Вы уверены, что $ строки [ 'телефон'] установлен? Если вы получите сообщение Undefined index для $ row ['phone'], ваша переменная $ _SESSION не будет установлена ​​и всегда будет писать пустую строку. Вы можете сделать это: $ _SESSION ['phone_of_user'] = isset ($ row ['phone'])? $ Row ['phone']: 'phone not set'; и посмотреть, действительно ли это работает. – besciualex

+0

Вы использовали функцию session_start() в верхней части страницы? Если вы не использовали это, вы не сможете получить доступ к значениям сеанса через страницу и через веб-сайт. Пожалуйста, проверьте сеанс в w3cshool. –

+0

@PHPWeblineindia Я уверен, что он это использовал. Он жалуется, что только номер телефона не работает, остальные переменные $ _SESSION работают. – besciualex

ответ

0

Rick, Я буду здесь, чтобы вы поняли лучше. Для отладки цели сделать следующую вещь:

  1. вместо $_SESSION['phone_of_user'] = $row['phone']; поставить это: $_SESSION['phone_of_user'] = $row; //This will put an entire array in your variable

  2. вместо:

<p id="mobilechiiieckby" align="center"> Willkommen <? echo $fgmembersite->UserPhone(); ?>! </br>

записи этого:

<p id="mobilechiiieckby" align="center"><pre><?php print_r($_SESSION['phone_of_user']); ?>!</pre></p> 

Эти две простые модификации помогут вам увидеть, что находится внутри переменной $ row. После того, как вы увидите, что это контент, вы можете играть с ним. Давайте продолжим обсуждение здесь, и я обновлю этот ответ на новую информацию.

Позже изменения: Update эта строка:

$qry = "Select name, email from $this->tablename where username='$username' and password='$hash' and confirmcode='y'"; 

с этим:

$qry = "Select name, email, phone from $this->tablename where username='$username' and password='$hash' and confirmcode='y'"; 
+0

Я заменил две строки, которые вы предложили. Прогресс. Теперь вместо простого пустого его возвращения «Массив!» – Rick

+0

@Rick Я обновил последнюю строку кода. Замените его снова. Какой результат сейчас? – besciualex

+0

Это результат обновленной строки ........ Array [name] => testname [email => [email protected]])! ...... Я вижу, что телефон не включен в массив. Что я могу сделать, чтобы включить его? – Rick

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