в php mysql_fetch_array () и mysql_fetch_row () не работают с той же переменной - PullRequest
1 голос
/ 23 ноября 2011

Когда я выбираю строку, а не массив, я хочу знать, хочу ли я отображать имя пользователя в сеансе, что мне нужно делать. Это код, который я проверяю для имени пользователя, и если имя пользователя найдено, возвращающее имя пользователя, но оно не может отображаться.

Пожалуйста, помогите мне или предложите мне лучший способ. Благодарю. код ошибки: функция

public function Check_login($uname,$pass)
{
    //echo $uname;

    $check=mysql_query("select name from user where name='$uname' and   password='$pass'");
    $log=mysql_fetch_row($check);
    $abc=mysql_fetch_array($check);
    echo $abc['name'];
    if($log>0)
    {
        $_SESSION['login']=1;
        echo $_SESSION['name']=$abc['name'];
        return $_SESSION['name'];
    }
    else
    {
        return false;
    }

домашняя страница:

   <?php
   session_start();
 include('function.php');
 $user=new user();
 if(!$user->get_session())
 {
header("location:index.php");
  }

 if($_GET['q']=='logout')
 {
$user->logout();
header("location:index.php");
 }
 ?>

вот HTML-код:

<h1>All Information</h1>
Welcome<?php echo $_SESSION['name']; ?></br>

<a href="?q=logout">Logout</a>`enter code here`

Ответы [ 2 ]

0 голосов
/ 23 ноября 2011

Для начала я настоятельно рекомендую использовать подготовленные операторы, а не просто добавлять имя пользователя / пароль в запрос.Вы можете привязать имя пользователя и пароль в качестве параметров к запросу и предотвратить любой тип внедрения SQL.Вы также можете привязать имя, возвращаемое к результату, что сделает его легко доступным.

0 голосов
/ 23 ноября 2011
$check=mysql_query("select name from user where name='$uname' and   password='$pass'");
session_start();
$abc = array();
if(mysql_num_rows($check) > 0){
    $abc=mysql_fetch_array($check); 
    if(count($abc)>0)
    {
        $_SESSION['login']=1;
        echo $_SESSION['name']=$abc['name'];
        return $_SESSION['name'];
    }
}
else
{
    return false;
}

я думаю, что это решит вашу проблему .. измените код с этим ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...