Привет, это расстраивало меня некоторое время, и я не могу понять, что не так с моим кодом

Таким образом, в настоящее время у меня есть база данных, которая называется artworks, и в ней есть две таблицы: таблица artwork и таблица members (для входа в систему, включая username и password )

У меня уже есть login.php , в котором имя пользователя и пароль хранятся в таблице members

Теперь я хочу получить это имя пользователя из таблицы участников и как-то сохранить его в таблице произведений. (Я не знаю, почему мой код не хранит мое username в нем)

<?php

session_start();

if(isset($_POST['title'])) $title = $_POST['title'];
if(isset($_POST['category'])) $category = $_POST['category'];
if(isset($_POST['description'])) $description = $_POST['description'];
if(isset($_POST['tags'])) $tags = $_POST['tags'];


$filename = $_FILES['image']['name'];   
$location = $_FILES['image']['tmp_name'];

//move the file
move_uploaded_file($location, "uploads/$filename");

//put data into database
$db = mysqli_connect("localhost", "root","", "artworks")  or die(mysqli_error($db));

$_SESSION['username'] = $username;

$q = "insert into artwork values(null, '$_SESSION[username]','$title', '$category', '$description', '$tags', '$filename')";
mysqli_query($db, $q) or die(mysqli_error($db));


//redirect
header("Location:gallery.php");
exit(0);

Я также пытался $ _ SESSION ['username'] = $ username; и $ _ SESSION ['username'] = '$ username'; , и он все еще не работает

Я также хочу отобразить имя текущего зарегистрированного пользователя в нижней части страницы, но echo $ username также не работает ..

Большое спасибо

0
Andrew Tran

1 ответ

Если вы сделаете это, подпишите $ _SESSION ['username'] в разделе входа в систему, то есть после успешного входа в систему вы создадите сеанс с именем => username и подпишете их из запросов, которые относятся к получению имени пользователя и пароля от члена таблицы.

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

например login.php

// u get data username and password from table member and asign it to $username
session_start();
$username = "foo";//you can sign this value from query tables
$_SESSION['username'] = $username;

помните, значение на сессии все еще сохраняется.

с другой стороны, на store.php => это мое предположение ^ _ ^

//after that $_SESSION[username] will be sign with name foo, for example
$q = "insert into artwork values(null, '$_SESSION[username]','$title', '$category', '$description', '$tags', '$filename')";
mysqli_query($db, $q) or die(mysqli_error($db));
58579433