2017-06-02 84 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 = [结果从选择]