когда я вхожу в сеанс читает только один символ в php - PullRequest
0 голосов
/ 10 мая 2019

присвоение переменной $ _SESSion. когда я повторяю этот сеанс, он показывает пример из одного символа

$ имя = "ABCD"; этот результат эха является abcd. $ _SESSION ['abcd'] = $ name; этот результат эха - только символ "a"

 <?php
include("dbConnect.php");
if (isset($_POST['username'])) {
    $name = $_POST['username'];
    $_SESSION = $name;
}
if (isset($_POST['password'])) {
    $password = $_POST['password'];
    $_SESSION = $password;
}

try { 

    $conn = connect(); 

    $sql="SELECT id,employee_name,email,phone,password,image,created_on FROM handel WHERE employee_name = '$name' AND password = '$password' ";
    $result=mysqli_query($conn,$sql);

    close($conn);

} catch (Exception $e) { 
    //echo $e->errorMessage(); 
    close($conn);
    errorPage();
}
    // Associative array
    $data = mysqli_fetch_array($result,MYSQLI_ASSOC);
    print_r($data);
    echo $operatorId = $data['id'];
    echo $_SESSION['employee_name'] = $data['employee_name'];
    $_SESSION['email'] = $data['email'];
    $_SESSION['phone'] = $data['phone'];
    $_SESSION['password']=$data['password'];
    $_SESSION['image']=$data['image'];
    $_SESSION['created_on']=$data['created_on'];
 ?>

$ имя = "ABCD"; этот результат эха является abcd. $ _SESSION ['abcd'] = $ name; этот результат эха также показывает 'abcd'

1 Ответ

2 голосов
/ 10 мая 2019

У вас есть несколько серьезных проблем с написанным кодом и ожидаемым результатом.

$_SESSION = $name;

Это полная новичок. $_SESSION должен быть массивом. Всегда назначайте ключ сеанса для любого значения при установке сеанса в любом месте. Вы присваиваете ему непосредственно строку $name. Следовательно, это становится строкой. Опять вы печатаете $_SESSION, поэтому, очевидно, он вернет a, так как теперь это строка. Вы должны предоставить ключ для вашего имени и пароль, например:

$_SESSION['any_key1'] = $data['name'];
$_SESSION['any_key2'] = $data['password'];

Вы также уязвимы для нескольких эксплойтов SQL. Пожалуйста, изучите PHP, прежде чем использовать этот код практически где угодно. Кроме того, как отметил @Magnus, использование пароля в качестве сеанса не рекомендуется. Вы должны пересмотреть свой код.

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