将用户发送到页面

时间:2017-06-02 10:30:48

标签: php

我正在使用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吗?

3 个答案:

答案 0 :(得分:3)

你的执行后:

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

PDO::lastInsertId

答案 1 :(得分:2)

您可以通过此方式获取最后插入的ID

$id = $db->lastInsertId();

然后您可以将其传递给header方法。如下所示,

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

答案 2 :(得分:0)

您可以尝试从表中选择id进行另一个查询,其中user_id = $ _ SESSION [&#39; user_id&#39;]在Insert语句之后。

然后你可以在你的链接上使用结果names.php?id = [选择结果]