2017-06-02 57 views
0

我正在使用PHP腳本將數據發送到我的數據庫。發送用戶到頁面

這裏是我的腳本:

<?php 
    session_start(); 
    $correct = true; 

    $_SESSION['user_id']; 
    $firstname = $_POST['firstname'] ; 
    $lastname = $_POST['lastname'] ; 

    if($correct){ 
    $db = new PDO('mysql:host=localhost;dbname=database', 'root', ''); 

    $query = "INSERT INTO names(user_id, firstname, lastname) VALUES (?, ?, ?)"; 
    $stmt = $db->prepare($query); 
    $stmt->execute(array($_SESSION['user_id'], $firstname, $lastname)); 

    header('Location: ../names.php'); 
    } 
    else 
    { 
    echo "<p>Error</p>"; 
    } 
?> 

該腳本工作正常,但在執行SQL語句後,我想給用戶發送一個頁面,用戶可以看到他輸入的數據。

在當前狀態下,該腳本正在將用戶發送至names.php。我想發送用戶到names.php?id=8

id列是自動增量。

有人知道我可以如何發送用戶到執行語句的id嗎?

回答

2

你可以得到最後通過此插入ID,

$id = $db->lastInsertId(); 

,然後你可以將它傳遞給header方法。如下圖所示,

header('Location: ../names.php?id='.$id); 
+0

你忘了'.'用於字符串連接... :) – Catalyst

+0

是的!謝謝,我編輯過。 –

3

你excecute後做:

header('Location: ../names.php?id='.$db->lastInsertId); 

PDO::lastInsertId

+0

我猜你的意思是'頭(?「位置:../names.php?id=」 $ DB- > lastInsertId);' – Catalyst

+1

編輯好了,謝謝 – itay

0

你可以嘗試從表做另一個查詢用於選擇id其中USER_ID = $ _ SESSION [ 'user_ID的']插入語句之後。

,那麼你可以在你的鏈接names.php使用結果ID = [結果從選擇]