php - 将用户 ID 插入表单数据库提交 php

标签 php mysql forms

我将这个问题作为上一个问题的延续发布,因为它可能还不清楚。

我的系统登录( session )运行得很好 - 我想捕获用户 ID 并将该 ID 插入表单提交

<?php echo $row['userID']; ?>

我可以获取 id 并将其显示在页面上的任何位置 - 但无法将 id 插入隐藏的表单字段 - 寻找有关如何执行此操作的指针。

<div class="form-group">
<div class="col-sm-10"><input type="hidden" name="userId" id="userId" 
value="<?php echo $_SESSION['userID'];?>" /></div>

session_start();
require_once 'class.user.php';
$user_home = new USER();

if(!$user_home->is_logged_in())
{
    $user_home->redirect('login.php');
}

$stmt = $user_home->runQuery("SELECT * FROM tbl_users WHERE userID=:uid");
$stmt->execute(array(":uid"=>$_SESSION['userSession']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$_SESSION['userId'] = $userId;
?>

最佳答案

session_start(); 应在任何 HTML 标记甚至空格之前首先调用。

<?php 
  session_start();
  require_once 'class.user.php';
  $user_home = new USER();
  if(!$user_home->is_logged_in())
    {
        $user_home->redirect('login.php');
    }

  $stmt = $user_home->runQuery("SELECT * FROM tbl_users WHERE userID=:uid");
  $stmt->execute(array(":uid"=>$_SESSION['userSession']));
  $row = $stmt->fetch(PDO::FETCH_ASSOC);
  $_SESSION['userId'] = $userId;
?>
<!DOCTYPE html>
...

然后您可以通过调用 session_start() 的网站的任何位置使用该 session 值。

在您的情况下 insert.php 看起来像:

<?php
session_start();

$server = "localhost"; 
$user = ""; $pass = ""; 
$dbname = ""; 
$conn = new mysqli($server, $user, $pass, $dbname); 

if($conn->connect_error){ die("Connection failed:" . $conn->connect_error); } 

$userID = $_SESSION['userId']; // Just use session value and no escaping required
$b_name = mysqli_real_escape_string($conn, $_POST['b_name']); 
$name = mysqli_real_escape_string($conn, $_POST['name']);
$email = mysqli_real_escape_string($conn, $_POST['email']); 
$b_area = mysqli_real_escape_string($conn, $_POST['b_area']); 
$tel = mysqli_real_escape_string($conn, $_POST['tel']);

$sql = "INSERT INTO brands (userID, b_name, name, email, b_area, tel) VALUES ('$userID', '$b_name', '$name', '$email', '$b_area', '$tel')";

关于php - 将用户 ID 插入表单数据库提交 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45115640/

相关文章:

javascript - 使用 javascript 验证登录凭据的 HTML 表单?

c# - 使用 Windows 窗体元素数组

c# - 如何在 C# ASP.Net 网站中通过浏览器游戏分配玩家名称?

PHP with or logical 并向 li 全局导航添加一个类

php - NOW() 只保存日期,不保存时间

php - 如何从 `cat` = '$cat' 的表中选择结果,如果不是,则从 `cat` 中选择所有结果,无论 $cat 是什么

mysql - 来自 webhook 的 MySQL 中的字符\x92 错误

php - 基于多对多表调用一张表的信息

php - json 资源和资源集合有什么区别?在 Laravel

php - 删除或替换不正确的字符串