Php 从数据库中检索要在新选项卡中使用的当前用户id
我有一个配置文件页面,可以在其中检索用户信息 Profile.phpPhp 从数据库中检索要在新选项卡中使用的当前用户id,php,mysql,session,insert,Php,Mysql,Session,Insert,我有一个配置文件页面,可以在其中检索用户信息 Profile.php <?php require 'core/init.php'; if(!$username = Input::get('user')) { Redirect::to('index.php'); } else { $user = new User($username); if(!$user->exists()) { Redirect::to(404); } els
<?php
require 'core/init.php';
if(!$username = Input::get('user')) {
Redirect::to('index.php');
} else {
$user = new User($username);
if(!$user->exists()) {
Redirect::to(404);
} else {
$data = $user->data();
}
?>
<h3><?php echo escape($data->username); ?></h3>
<p>Membership No: <?php echo escape($data->id); ?></p>
<p>Full name: <?php echo escape($data->name); ?></p>
<p>Date of birth: <?php echo escape($data->dob); ?></p>
<p>Location: <?php echo escape($data->location); ?></p>
<p>Join date: <?php echo escape($data->joined); ?></p>
<?php
<?php
session_start();
require 'core/init.php';
$Band_id = mysql_real_escape_string($_POST['band']);
$user_id = $_SESSION['id'];
$sql = "INSERT INTO orders (band_id,user_id) VALUES('$Band_id', '$user_id')";
mysql_query ($sql, $linkme)
or die ("could not add to database");
?>
<?php
session_start();
require 'core/init.php';
if(!$username = Input::get('user')) {
Redirect::to('index.php');
exit;
}
if(!isset($_SESSION['user_data'])){
$user = new User($username);
if(!$user->exists()) {
Redirect::to(404);
exit;
}
$_SESSION['user_data'] = $user->data();
}
?>
<h3><?php echo escape($_SESSION['user_data']->username); ?></h3>
<p>Membership No: <?php echo escape($_SESSION['user_data']->id); ?></p>
<p>Full name: <?php echo escape($_SESSION['user_data']->name); ?></p>
<p>Date of birth: <?php echo escape($_SESSION['user_data']->dob); ?></p>
<p>Location: <?php echo escape($_SESSION['user_data']->location); ?></p>
<p>Join date: <?php echo escape($_SESSION['user_data']->joined); ?></p>
<?php
session_start();
require 'core/init.php';
if(!isset($_SESSION['user_data'])){
Redirect::to('index.php');
exit;
}
$Band_id = mysql_real_escape_string($_POST['band']);
$user_id = $_SESSION['user_data']->id;
$sql = "INSERT INTO orders (band_id,user_id) VALUES('$Band_id', '$user_id')";
mysql_query ($sql, $linkme)
or die ("could not add to database");
?>
及
但是它不起作用,是否有人知道如何检索用户id,以便我可以将其插入数据库?您可以做的是将用户数据保存到会话中
$_SESSION['user_data'] = $user->data();
一旦设置了$\u会话['user\u data']
,则可以将其分配回$data
,否则重新查询模型
和session\u start()
也应该位于要为其保留会话的每个文件的顶部
比如:
Profile.php
<?php
require 'core/init.php';
if(!$username = Input::get('user')) {
Redirect::to('index.php');
} else {
$user = new User($username);
if(!$user->exists()) {
Redirect::to(404);
} else {
$data = $user->data();
}
?>
<h3><?php echo escape($data->username); ?></h3>
<p>Membership No: <?php echo escape($data->id); ?></p>
<p>Full name: <?php echo escape($data->name); ?></p>
<p>Date of birth: <?php echo escape($data->dob); ?></p>
<p>Location: <?php echo escape($data->location); ?></p>
<p>Join date: <?php echo escape($data->joined); ?></p>
<?php
<?php
session_start();
require 'core/init.php';
$Band_id = mysql_real_escape_string($_POST['band']);
$user_id = $_SESSION['id'];
$sql = "INSERT INTO orders (band_id,user_id) VALUES('$Band_id', '$user_id')";
mysql_query ($sql, $linkme)
or die ("could not add to database");
?>
<?php
session_start();
require 'core/init.php';
if(!$username = Input::get('user')) {
Redirect::to('index.php');
exit;
}
if(!isset($_SESSION['user_data'])){
$user = new User($username);
if(!$user->exists()) {
Redirect::to(404);
exit;
}
$_SESSION['user_data'] = $user->data();
}
?>
<h3><?php echo escape($_SESSION['user_data']->username); ?></h3>
<p>Membership No: <?php echo escape($_SESSION['user_data']->id); ?></p>
<p>Full name: <?php echo escape($_SESSION['user_data']->name); ?></p>
<p>Date of birth: <?php echo escape($_SESSION['user_data']->dob); ?></p>
<p>Location: <?php echo escape($_SESSION['user_data']->location); ?></p>
<p>Join date: <?php echo escape($_SESSION['user_data']->joined); ?></p>
<?php
session_start();
require 'core/init.php';
if(!isset($_SESSION['user_data'])){
Redirect::to('index.php');
exit;
}
$Band_id = mysql_real_escape_string($_POST['band']);
$user_id = $_SESSION['user_data']->id;
$sql = "INSERT INTO orders (band_id,user_id) VALUES('$Band_id', '$user_id')";
mysql_query ($sql, $linkme)
or die ("could not add to database");
?>
成员编号:
全名:
出生日期:
地点:
加入日期:
oOrder.php
<?php
require 'core/init.php';
if(!$username = Input::get('user')) {
Redirect::to('index.php');
} else {
$user = new User($username);
if(!$user->exists()) {
Redirect::to(404);
} else {
$data = $user->data();
}
?>
<h3><?php echo escape($data->username); ?></h3>
<p>Membership No: <?php echo escape($data->id); ?></p>
<p>Full name: <?php echo escape($data->name); ?></p>
<p>Date of birth: <?php echo escape($data->dob); ?></p>
<p>Location: <?php echo escape($data->location); ?></p>
<p>Join date: <?php echo escape($data->joined); ?></p>
<?php
<?php
session_start();
require 'core/init.php';
$Band_id = mysql_real_escape_string($_POST['band']);
$user_id = $_SESSION['id'];
$sql = "INSERT INTO orders (band_id,user_id) VALUES('$Band_id', '$user_id')";
mysql_query ($sql, $linkme)
or die ("could not add to database");
?>
<?php
session_start();
require 'core/init.php';
if(!$username = Input::get('user')) {
Redirect::to('index.php');
exit;
}
if(!isset($_SESSION['user_data'])){
$user = new User($username);
if(!$user->exists()) {
Redirect::to(404);
exit;
}
$_SESSION['user_data'] = $user->data();
}
?>
<h3><?php echo escape($_SESSION['user_data']->username); ?></h3>
<p>Membership No: <?php echo escape($_SESSION['user_data']->id); ?></p>
<p>Full name: <?php echo escape($_SESSION['user_data']->name); ?></p>
<p>Date of birth: <?php echo escape($_SESSION['user_data']->dob); ?></p>
<p>Location: <?php echo escape($_SESSION['user_data']->location); ?></p>
<p>Join date: <?php echo escape($_SESSION['user_data']->joined); ?></p>
<?php
session_start();
require 'core/init.php';
if(!isset($_SESSION['user_data'])){
Redirect::to('index.php');
exit;
}
$Band_id = mysql_real_escape_string($_POST['band']);
$user_id = $_SESSION['user_data']->id;
$sql = "INSERT INTO orders (band_id,user_id) VALUES('$Band_id', '$user_id')";
mysql_query ($sql, $linkme)
or die ("could not add to database");
?>
您在页面上看到了什么?您是否转储了$\u SESSION['id'的值?请确保页面上的正确性,它工作正常,但当我检查我的数据库时,输入的是波段id,而不是用户id。用户id列的类型是什么?我仍然怀疑$user_id的价值。请先检查它。该列是id,它是一个varcharsession_start()必须使用code>才能使用$\u会话
。它使用in order.php。我认为session\u autostart是错误的谢谢,我会试试。@Loz Cherone啊,我明白了,谢谢,我会对pdoah做一些研究。我发现了一个问题,出于某种原因,订单只显示了一个用户,在新用户登录时不会添加不同的id。