Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数据库中检索要在新选项卡中使用的当前用户id_Php_Mysql_Session_Insert - Fatal编程技术网

Php 从数据库中检索要在新选项卡中使用的当前用户id

Php 从数据库中检索要在新选项卡中使用的当前用户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

我有一个配置文件页面,可以在其中检索用户信息

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");
?>


但是它不起作用,是否有人知道如何检索用户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,它是一个varchar
session_start()才能使用
$\u会话
。它使用in order.php。我认为session\u autostart是错误的谢谢,我会试试。@Loz Cherone啊,我明白了,谢谢,我会对pdoah做一些研究。我发现了一个问题,出于某种原因,订单只显示了一个用户,在新用户登录时不会添加不同的id。