Получение имени пользователя из таблицы при входе по электронной почте - PullRequest
0 голосов
/ 01 октября 2011

Таблица пользователей настроена как: ID |Имя |Email |Пароль

и они авторизируются с помощью:

Email |Пароль

Мне интересно, как я могу отобразить их «Имя», когда они входят в систему со своей электронной почтой.Пока что у меня работает с электронной почтой:

session_start();

if (!isset($_SESSION['email'])) {
    header('location: ');
}

include_once('config.php');

$email = $_SESSION['email'];

<!doctype html>
<body> 
    <p><?php echo $email; ?>

, и это работает, но когда я пытаюсь что-то вроде

$sql = "SELECT name FROM $table WHERE email='$_SESSION["email"]'";
$result = mysql_query($sql);

<!doctype html> 
<body>
    <p><?php echo $result; ?></p>

, это не работаетЛюбая помощь приветствуется

Ответы [ 4 ]

1 голос
/ 01 октября 2011

Сделай так:

$sql = "SELECT name FROM $table WHERE email=".$_SESSION['email'];
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$name = $row['name'];

<!doctype html> 
<body>
    <p><?php echo $name; ?></p>

С уважением,

Akke

1 голос
/ 01 октября 2011

Вы действительно должны включить больше информации, например, с какой ошибкой вы столкнулись при попытке ввести код, который вы включили.Однако,

Выглядит так, как будто вы неправильно экранировали строку $ sql.Попробуйте что-то вроде:

$sql = "SELECT name FROM $table WHERE email='" . $_SESSION["email"] . "'";

Обратите внимание на точку (.), Которая объединяет строки вместо оценки внутри строки, как вы пытались это сделать.

Если вы действительно хотите ввести индекс массива встроку, вы можете заключить переменную, используя {}

$sql = "SELECT name FROM $table WHERE email='{$_SESSION["email"]}'";
1 голос
/ 01 октября 2011

mysql_query() возвращает только ресурс , его необходимо передать в mysql_fetch_array() для обработки возвращенных записей;http://php.net/manual/en/function.mysql-query.php имеет несколько примеров

1 голос
/ 01 октября 2011

Вы не получили результат из базы данных, используйте следующую строку

mysql_result($result ,0);

Вы можете использовать вышеуказанную функцию. См. Руководство php для получения результата из базы данных

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