我制作了一个登录页面,如用户登录。如果已注册,则使用电子邮件和密码登录(将 register.php 导航到 index.php 页面)或如果未注册则注册。效果很好,但我想在我的 index.php 页面中添加更新功能 如果用户想要更新其记录,那么他在表单中进行更新并提交,概念很简单。我在这里进行了更新查询,但它显示了通知: undefined index :C:\wamp\www\LOginKodingMadSimple\index.php 中的第 34 行的 id。我哪里错了?
索引.php :
<?php
session_start();
include_once 'dbconnect.php';
?>
<?php
if (isset($_POST['UpdateUser']))
{
$name = mysqli_real_escape_string($con, $_POST['name']);
$id = mysqli_real_escape_string($con, $_POST['id']);
//------- name can contain only alpha characters and space -------
if (!preg_match("/^[a-zA-Z ]+$/",$name))
{
$error = true;
$name_error = "Name must contain only alphabets and space";
}
//------- Update users -------
if (!$error)
{
if(mysqli_query($con, "UPDATE users SET name='" . $name . "' WHERE id='" . $id . "'"))
{
$successmsg = "Successfully Updated! ";
}
else
{
$errormsg = "Error in Update...Please try again later!";
}
}
}
else
{
$errormsg = "Failed Please Try Again Later !";
}
?>
<div class="collapse navbar-collapse" id="navbar1">
<ul class="nav navbar-nav navbar-right">
<?php if (isset($_SESSION['usr_id'])) { ?>
<li>
<p class="navbar-text">Signed in as <?php echo $_SESSION['usr_name']; ?></p>
<a class="navbar-brand" href="updatephp.php">Update</a>
</li>
<li>
<a href="logout.php">Log Out</a>
</li>
<div style="border:1px dashed transparent;margin-top:400px;position:absolute;margin-left:-35%;">
<h1> Hello User <?php echo $_SESSION['usr_name']; ?> ! </h1>
<h1> Your Email is <?php echo $_SESSION['usr_email']; ?> ! </h1>
<form action="" method="post">
Name: <input type="text" name="name" placeholder="<?php echo $_SESSION['usr_name']; ?>"><br>
<input type="submit" value="Update" name="UpdateUser">
</form>
</div>
<?php } else { ?>
<li><a href="login.php">Login</a></li>
<li><a href="register.php">Sign Up</a></li>
<?php } ?>
</ul>
</div>
最佳答案
添加id为like的输入隐藏字段。
<input type="hidden" name="id" value="<?php echo $_SESSION['usr_id'];?>">
关于php - index.php 登录成功后数据不更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38930501/