sql >> データベース >  >> RDS >> Mysql

データベースから現在のユーザーIDを取得して、新しいテーブルで使用します

    できることは、ユーザーデータをセッションに保存することです

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

    $dataに戻すことができます $_SESSION['user_data']をチェックしたら が設定されている場合は、モデルを再クエリします。

    そしてsession_start() また、セッションを保持するすべてのファイルの先頭に配置する必要があります。

    つまり、次のようなものです:

    Profile.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>
    

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

    また、PDOまたはmysqliに移行する必要があります。




    1. OracleのNEXT_DAY()関数

    2. PHP、MYSQLのネストされたクエリ

    3. Spring Data JPA + Hibernate Skip Locked rows(PostgreSQL)

    4. future(!)の日付をデータベースに保存する方法