У меня есть проект, где пользователи могут редактировать свой профиль.
В настоящее время у меня есть страница входа / регистрации. Теперь пришло время для страницы редактирования пользователем.
Сайт работает с сессий поэтому, когда они возвращаются, они видят мой профиль в навигационной панели.
Я проверил все на PHP, чтобы обновить учетную запись.
В настоящее время у меня есть 2 файла, с которыми работают скрипты профиля обновления.
1 is the profile.php, the other in includes/update.inc.php
В includes/login.inc.php
Я уже назначил сессию.
if ($pwdCheck == false) {
header("Location: ../index.php?error=wrongpassword");
exit();
}
else if ($pwdCheck == true) {
session_start();
$_SESSION['userId'] = $row['idUsers'];
$_SESSION['userUid'] = $row['uidUsers'];
header("Location: ../index.php?logging=succes");
exit();
Так что да, это было от включает / login.inc.php.
Теперь, когда вы идете в свой профиль, он проверяет if $_SESSION['userId'] == true.
Теперь следующее:
Это мой profile.php
<?php
require "header.php";
require "includes/dbh.inc.php";
$sessionkk = $_SESSION['userId'];
error_reporting(E_ALL); ini_set('display_errors', 1);
$query = "SELECT idUsers, uidUsers, emailUsers,pwdUsers,Voornaam,Tussenvoegsel,Achternaam,Schooljaar,School,Opleiding,Niveau,Recht,Taal
,
printerA,printerB,printerC FROM users WHERE idUsers = '$sessionkk'";
$result = $conn->query($query) or die($conn->error);
if(mysqli_num_rows($result) > 0){
while ($row = mysqli_fetch_assoc($result)){
$id = $row['idUsers'];
$username = $row['uidUsers'];
$email = $row['emailUsers'];
$password = $row['pwdUsers'];
$voornaam = $row['Voornaam'];
$tussenvoegsel = $row['Tussenvoegsel'];
$achternaam = $row['Achternaam'];
$Schooljaar = $row['Schooljaar'];
$School = $row['School'];
$Opleiding = $row['Opleiding'];
$niveau = $row['Niveau'];
$Taal = $row['Taal'];
$printera = $row['printerA'];
$printerb = $row['printerB'];
$printerc = $row['printerC'];
}
}
?>
<div class="adminform">
<h2>gegevens aanpassen</h2><br/>
<form action="includes/update.inc.php" method="POST">
<input type="text" name="username" placeholder="Username"value="<?php if(isset($_GET['username'])){echo $_GET['username'];}?>"><br/><br/>
<input type="text" name="email" placeholder="E-mail" value="<?php
if(isset($_GET['email'])){echo $_GET['email'];}?>"><br/><br/>
<input type="text" name="" placeholder="Schooljaar" value="<?php
if(isset($_GET['Schooljaar'])){echo $_GET['Schooljaar'];}?>"><br/><br/>
<input type="text" name="email" placeholder="E-mail" value="<?php
if(isset($_GET['School'])){echo $_GET['School'];}?>"><br/><br/>
<button type="submit" name="adminupdate">Aanpassen</button>
</form>
<?php
echo "" . $id;
?>
</div>
<?php
?>
Здесь я заключаю все. Имя формы и т. Д.
Вы также можете увидеть, как я делаю $sessionkk = $_SESSION['userId'];
$ Sessionkk работает с
Вот файл include / update.inc.php
<?php
session_start();
require "dbh.inc.php";
if(isset($_POST['adminupdate'])){
$sql = "UPDATE users SET uidUsers= '?', emailUsers = '?', Schooljaar =
'?',
School = '?' WHERE idUsers = '.$sessionkk.'";
$stmt = mysqli_stmt_init($conn);
if(!mysqli_stmt_prepare($stmt, $sql)){
header("Location: ../profile.php?error=sqlerror");
exit();
} else{
mysqli_stmt_bind_param($stmt, "ssss", $username, $email,
$Schooljaar, $School);
mysqli_stmt_execute($stmt);
header("Location: ../profile.php?update=succes");
exit();
}
}
?>
Я пробовал запрос $ sql только с идентификатором из базы данных, поэтому он будет выглядеть так:
$sql = "UPDATE users SET uidUsers= '?', emailUsers = '?', Schooljaar = '?',
School = '?' WHERE idUsers = '4'";
и это будет работать.
Но я хочу получить идентификатор пользователя, который вошел в систему.
Извините, что код такой грязный, я не знаю, как правильно загрузить код здесь.
Спасибо
Задача ещё не решена.
Других решений пока нет …