Het updaten vanuit de form die ik heb gemaakt lukt niet. Ik bouw de applicatie n.a.v. een tutorial.
Het aanmaken van een nieuwe record gaat wel goed.
Waar zit de fout? In de form óf in de verwerkende code? Voor de duidelijkheid, het pad van de dbcon.php klopt, table-naam klopt ook. Ik krijg dus steeds het bericht: "Fout: Gebruiker is niet geüpdatet".
Form
<?php
if(isset($_GET['id']))
{
$gebruiker_id = mysqli_real_escape_string($conn, $_GET['id']); //$x_id
$query = "SELECT * FROM users WHERE id='$gebruiker_id' ";
$query_run = mysqli_query($conn, $query);
if(mysqli_num_rows($query_run) > 0)
{
$gebruiker = mysqli_fetch_array($query_run);//$x uit basis php
?>
<form action="test.php" method="POST">
<input type="hidden" name="gebruiker_id" value="<?= $gebruiker['id']; ?>" >
<div class="mb-3">
<label>Voornaam</label>
<input type="text" name="name" value="<?=$gebruiker['voornaam'];?>" class="form-control">
</div>
<div class="mb-3">
<label>Achternaam</label>
<input type="text" name="aname" value="<?=$gebruiker['achternaam'];?>" class="form-control">
</div>
<div class="mb-3">
<label>E-mail</label>
<input type="email" name="email" value="<?=$gebruiker['email'];?>" class="form-control">
</div>
<div class="mb-3">
<label>Rol</label>
<select name="role" class="form-control">
<?php echo "<option value='" . $gebruiker['rol'] . "'>" . $gebruiker['rol'] . "</option>"; ?>
<option>gebruiker</option>
<option>admin</option>
</select>
</div>
<div class="mb-3">
<button type="submit" name="gebruiker_update" class="btn btn-primary">Update gebruiker</button>
</div>
</form>Verwerkende code
<?php
session_start();
require '../dbcon.php';
if(isset($_POST['gebruiker_update']))
{
$gebruiker_id = mysqli_real_escape_string($conn, $_POST['gebruiker_id']);
$name = mysqli_real_escape_string($conn, $_POST['name']);
$aname = mysqli_real_escape_string($conn, $_POST['aname']);
$email = mysqli_real_escape_string($conn, $_POST['email']);
$role = mysqli_real_escape_string($conn, $_POST['role']);
}
$query = "UPDATE users SET voornaam='$name,' achternaam='$aname', email='$email', rol='$role' WHERE id='$gebruiker_id' ";
$query_run = mysqli_query($conn, $query);
if($query_run)
{
$_SESSION['message'] = "Gebruiker is geüpdatet";
header("Location: user.php");
exit(0);
}
else
{
$_SESSION['message'] = "Fout: Gebruiker is niet geüpdatet";
header("Location: user.php");
exit(0);
}
?>