Моя цель - создать панель пользователя, где пользователь может обновлять свои данные, такие как имя пользователя, пароль и адрес электронной почты.
Код ниже взят из файла reset-password.php (который на самом деле работает).Я пытался изменить его, чтобы изменить имя пользователя и адрес электронной почты.Но сначала я должен заставить его работать должным образом.
Я не получаю ошибок при нажатии на кнопку отправки, но он переименовывает исходное имя пользователя в пустое.Я не могу найти проблему.Я новичок в этом типе PHP (я выучил очень простой процедурный тип).Пожалуйста, помогите.
<?php
*// Initialize the session*
session_start();
*// Check if the user is logged in, otherwise redirect to login page*
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
*// Include config file*
require_once "config.php";
*// Define variables and initialize with empty values*
$new_username = "";
$new_username_err = "";
*// Processing form data when form is submitted*
if($_SERVER["REQUEST_METHOD"] == "POST"){
*// Validate new Username*
if(empty(trim($_POST["new_username"]))){
$new_username_err = "Please enter a new username.";
}
*// Check input errors before updating the database*
if(empty($new_username_err)){
*// Prepare an update statement*
$sql = "UPDATE users SET username = ? WHERE id = ?";
if($stmt = mysqli_prepare($link, $sql)){
*// Bind variables to the prepared statement as parameters*
mysqli_stmt_bind_param($stmt, "si", $param_username, $param_id);
*// Set parameters*
$param_username = $new_username;
$param_id = $_SESSION["id"];
*// Attempt to execute the prepared statement*
if(mysqli_stmt_execute($stmt)){
*// Username updated successfully. Destroy the session, and redirect to login page*
session_destroy();
header("location: change-username-success.php");
exit();
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
*// Close statement*
mysqli_stmt_close($stmt);
}
*// Close connection*
mysqli_close($link);
}
?>
Мои коды кодов:
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<div class="form-group <?php echo (!empty($new_username_err)) ? 'has-error' : ''; ?>">
<input type="text" name="new_username" placeholder="New Username" class="form-control" value="<?php echo $new_username; ?>">
<span class="help-block"><?php echo $new_username_err; ?></span>
</div>
<div class="form-group">
<input type="submit" class="btn" value="Submit">
<a class="btn" href="userpage.php"><i class="fas fa-ban"></i>Cancel</a>
</div>
</form>