2015-09-27 6 views
0

Привет У меня есть база данных, как это:MySQL получить идентификатор имени

ID Name Password 
1 Hans ***** 

Теперь, когда я войти в систему я получаю PHP сессии Имени.

Теперь я хочу получить идентификатор введенного имени в Login и сохранить его в NameSession и сохранить его на СЕССИИ.

Я искал в Интернете, потому что это выглядит не так сложно, но я ничего не нашел.

Это мой код до сих пор.

$sql = "SELECT * FROM login WHERE Login='".$loginname."' and Password = '".$loginpassword."'"; 
$result = mysql_query($sql); 
if (mysql_num_rows($result)>0) { //...wenn ein Datensatz mit diesem Nicknamen gefunden wurde: 
    echo "Willkommen ".$loginname; //Fehlermeldung 

    //Session registieren 
    $_SESSION['loginname'] = $loginname; 
    $_SESSION['UserID'] = $User_ID; 

    //Text ausgeben 
header('Location: home.php'); 
exit(); 
} 
+1

Пожалуйста, отформатируйте свой вопрос лучше. – ergonaut

+1

Пожалуйста, не используйте функции _deprecated_ mysql и переходите к 'mysqli' или' PDO'. – user5173426

+0

В вашей структуре таблицы отображается «ID Name Password», где в качестве запроса отображается имя столбца как «Логин и пароль». Что происходит? – user5173426

ответ

1

Чтобы получить соответствующий id конкретной записи. Предполагая, что ваша структура стола ID Name Password, как вы упомянули в своем вопросе. В соответствии с которой ваш SQL запрос должен скорее походить:

"SELECT * FROM login WHERE Name ='".$loginname."' and Password = '".$loginpassword."'"; 

Изменить это:

if (mysql_num_rows($result)>0) { //...wenn ein Datensatz mit diesem Nicknamen gefunden wurde: 
    echo "Willkommen ".$loginname; 

к этому:

if (mysql_num_rows($result)>0) { //...wenn ein Datensatz mit diesem Nicknamen gefunden wurde: 
    $row = mysql_fetch_array($result); 
    echo $row['ID']; 

    //saving the id and username in sessions 
    $_SESSION['loginname'] = $loginname; 
    $_SESSION['UserID'] = $row['ID']; 

Примечание: Это по-прежнему плохая практика, Любезно исследование mysqli или PDO.

PHP Manual: MySQL Improved Extension

PHP Manual: PHP Data Objects

+1

Спасибо вам большое, да, верно, я должен начать изучать PDO: D – Syrakus

0

изменение

$_SESSION['UserID'] = $User_ID; 

в

$_SESSION['UserID'] = $result['ID']; 

или если вы включили explode($result) после запроса SQL, будет доступна переменная $ID.

Это предположение, что из вашего запроса было возвращено только 1 строка, вы можете выполнить цикл $result (все возвращенные строки) в зависимости от того, как далеко вы хотите идти с рабочим процессом входа в систему.

+0

спасибо, его действительно приятно тоже:) – Syrakus

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