php - index.php 登录成功后数据不更新?

标签 php mysql html mysqli

enter image description here我制作了一个登录页面,如用户登录。如果已注册,则使用电子邮件和密码登录(将 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/

相关文章:

javascript - jquery 在最后一张图片淡入时停止

php - CMS 还是框架?

CentOS:无法安装 PHP-FPM

mysql - 需要 "connect by"类型查询 MySQL 进行分页

mysql - 在 mariadb 中连接具有相同 id 的行?

javascript - 用鼠标悬停关闭一个框

javascript - 如何将变量分配给输入元素中的值属性?

php - 从 sphinx 搜索中选择所有最新的索引数据

php - 统计MySQL中的投票频率

mysql - 如何使 SQL 查询在所选日期和现在之间耗时?