sql >> Base de Datos >  >> RDS >> Mysql

Recuperar la identificación de los usuarios actuales de la base de datos para usarla en una nueva tabla

Lo que podría hacer es guardar los datos del usuario en la sesión

$_SESSION['user_data'] = $user->data();

podría asignarlo de nuevo a $data una vez que marque $_SESSION['user_data'] está configurado, de lo contrario, vuelva a consultar el modelo.

Y session_start() también debe estar en la parte superior de cada archivo para el que desea mantener una sesión.

Así que algo como:

Perfil.php

<?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>

ordenar.php

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

también debe pasar a PDO o mysqli.