<?php
session_start();
if (!isset($_SESSION['id'])) {
header('location:Backend.php');
}
?>
<?php
$fnameErr = $lnameErr = $emailErr = $contactnumberErr = $ageErr = "";
$fname = $lname = $email = $contactnumber = $age = "";
include_once 'connect.php';
$id = $_GET['id'];
$query = mysqli_query($mysqli, "select * from 'users' where ID ='$id'");
$row = mysqli_fetch_array($query);
//set a default variable to hold the original value if $_POST is not triggered
$fname = $row['fname'];
$lname = $row['lname'];
$email = $row['email'];
$contactnumber = $row['number'];
$age = $row['age'];
// checking weather the form has been submitted before performing the update query
if (isset($_POST['update'])) {
//First Name Section
if (empty($_POST["fname"])) {
$fnameErr = "First Name is required";
} else {
$fname = $_POST["fname"];
// check if First name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/", $fname)) {
$fnameErr = "Only letters allowed no blank space";
}
}
//Last Name Section
if (empty($_POST["lname"])) {
$lnameErr = "Last Name is required";
} else {
$lname = $_POST["lname"];
// check if Last name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/", $lname)) {
$lnameErr = "Only letters allowed no blank space";
}
}
//E-mail Name Section
if (empty($_POST["email"])) {
$emailErr = "E-mail ID is required";
} else {
$email = $_POST["email"];
// check if E-mail is correct
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid E-mail format";
}
}
//Contact Number Section
if (empty($_POST["number"])) {
$contactnumberErr = "Contact Number is required";
} else {
$contactnumber = $_POST["number"];
// check if Contact Number is correct
if (!preg_match("/^[a-zA-Z ]*$/", $contactnumber)) {
$contactnumberErr = "Only letters allowed no blank space";
}
}
//Age Section
if (empty($_POST["age"])) {
$ageErr = "Age is required";
}
elseif($_POST["age"]< 17 ) {
$ageErr = "Age should be above 18 years";
}
else {
$age = $_POST["age"];
}
if ($fnameErr == "") {
$check = "SELECT * FROM users WHERE Email = '$email' and ID !='$id'";
$rs = mysqli_query($mysqli, $check);
$da = mysqli_fetch_array($rs, MYSQLI_NUM);
if ($da > 0) {
echo "E-mail ID Already Exists";
} else {
$sql = "update 'users' set FirstName='$fname', LastName='$lname', Email='$email', Contactnumber='$contactnumber', Age='$age' where ID ='$id'";
if (mysqli_query($mysqli, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error(mysqli_query);
}
mysqli_close($mysqli);
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>USER-LIST</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/bootstrap.min.css">
<script src="/jquery.min.js"></script>
<script src="/bootstrap.min.js"></script>
<!----------CSS Files------------->
<link rel="stylesheet" type="text/css" href="/style.css">
</head>
<body>
<div class="bg-image"></div>
<div class="bg-text">
<form action="" method="post">
<input type="hidden" name="hidden_id" value="<?= $id ?>"/>
<div class="form-group">
<label>First Name:</label>
<input type="text" class="form-control" placeholder="Enter Your First Name" value="<?= $fname ?>" name="fname">
<span class="error"> <?php echo $fnameErr; ?></span>
</div>
<div class="form-group">
<label>Last Name:</label>
<input type="text" class="form-control" placeholder="Enter Your Last Name" value="<?= $lname ?>" name="lname">
</div>
<div class="form-group">
<label>Email:</label>
<input type="email" class="form-control" placeholder="Enter Your Email id" value="<?= $email ?>" name="email">
</div>
<div class="form-group">
<label>Contact Number:</label>
<input type="number" class="form-control" placeholder="Enter Your Contact Number" value="<?= $contactnumber ?>" name="number">
</div>
<div class="form-group">
<label>Age:</label>
<input type="number" class="form-control" placeholder="Enter Your Age" value="<?= $age ?>" name="age">
</div>
<button type="submit" class="btn btn-success" name="update">Update</button>
<a href="Backend.php">Back</a>
</form>
</div>
</body>
</html>
Я создал регистрационную форму в php, которая работает правильно, но когда я пытаюсь отредактировать значения, которые я уже дал во время регистрации, я получаю некоторую ошибку, такую как:
Примечание: неопределенный индекс: fname в C:\xampp\htdocs\U\User-list\editform.php в строке 18
Примечание: неопределенный индекс: lname в C:\xampp\htdocs\U\User-list\editform.php в строке 19
Примечание: неопределенный индекс: fname в C:\xampp\htdocs\U\User-list\editform.php в строке 20
Примечание: неопределенный индекс: lname в C:\xampp\htdocs\U\User-list\editform.php в строке 21
Примечание: неопределенный индекс: lname в C:\xampp\htdocs\U\User-list\editform.php в строке 22
Может ли кто-нибудь позволить мне сейчас, где я иду не так?
Вы используете имена входов вместо имен столбцов в вашей базе данных.
$fname = $row['fname'];
$lname = $row['lname'];
$email = $row['email'];
$contactnumber = $row['number'];
$age = $row['age'];
должно быть:
$fname = $row['FirstName'];
$lname = $row['LastName'];
$email = $row['Email'];
$contactnumber = $row['Contactnumber'];
$age = $row['Age'];
Вы также не должны использовать открывающие шорткоды PHP
<?= $fname ?>
должно быть:
<?php echo $fname ?>
mysqli::prepare()
иmysqli_stmt::bind_param()
.