Как вставить идентификатор из пользовательской таблицы в другую таблицу - PullRequest
0 голосов
/ 13 июня 2018

Привет, у меня есть таблица пользователей, и идентификатор автоматически увеличивается, теперь я собираю информацию об одних и тех же пользователях на другой странице и вставляю в новую таблицу, поэтому я хочу вставить идентификатор из таблицы пользователей в новую таблицу..

Вот мой идентификатор пользователя, который я хочу вставить в новую таблицу.

    $stmt = $user_home->runQuery("SELECT * FROM tbl_users WHERE userID=:uid");
    $stmt->execute(array(":uid"=>$_SESSION['userSession']));
    $row = $stmt->fetch(PDO::FETCH_ASSOC);
    $pid=$row["userID"]; 

Я использую AJAX для отправки значений на другую страницу

    <script type="text/javascript">
      function post(){
      var firstname = document.getElementById("firstname").value;
      var lastname = document.getElementById("lastname").value;
      var email = document.getElementById("email").value;
      var phone = document.getElementById("phone").value;

      if(firstname && lastname && email && phone)
       {
       $.ajax
      ({
       type: 'post',
       url: 'secondpage.php',
      data: 
      {
      firstname:firstname,
      lastname:lastname,
      email:email,
      phone:phone
      },
     success: function (response) 
     {
     document.getElementById("status").innerHTML="Profile updated successfully";

        }
      });
    }

    return false;
  }
 </script>

Ниже представлен secondpage.php

     <?php
     session_start();
     require_once 'class.user.php';
     $host="localhost";
     $username="root";
     $password="";
     $databasename="mydb";

     $connect=mysql_connect($host,$username,$password);
     $db=mysql_select_db($databasename);
     echo "connected";


    if(isset($_POST['firstname']) && isset($_POST['lastname']) && 
    isset($_POST['email']) && isset($_POST['phone']))
    {
      $firstname=$_POST['firstname'];
      $lastname=$_POST['lastname'];
      $email=$_POST['email'];
      $phone=$_POST['phone'];


      $insert=mysql_query("insert into tbl_profile 
      (firstname,lastname,email, phone) values('$firstname', 
      '$lastname','$email','$phone')"); 
       $id=mysql_insert_id($insert); 


       }

      ?>

Теперь, как мне вставить значение $ pid = $ row ["userID"] в tbl_profile.У меня есть столбец user_id в tbl_profile.Спасибо за любую помощь, спасибо.

Ответы [ 3 ]

0 голосов
/ 13 июня 2018

Во-первых, вы не должны использовать mysql_query, потому что он удален в PHP 7.x http://php.net/manual/en/function.mysql-query.php

Во-вторых,

$insert=mysql_query("insert into tbl_profile 
  (firstname,lastname,email, phone, user_id) values('$firstname', 
  '$lastname','$email','$phone', $_SESSION['userSession'])");

В-третьих, это подвержено инъекциям.Вы НИКОГДА не должны хранить необработанные данные из POST / GET / SESSION в вашей базе данных.

0 голосов
/ 13 июня 2018

HTML

<input type='hidden' name='pid' id='pid' value="<?php echo $pid; ?>">

Ajax .... **

data: 
      {
      firstname:firstname,
      lastname:lastname,
      email:email,
      phone:phone,
      pid = $("#pid").val()
      },

**

PHP

$pid = $_POST['pid']
0 голосов
/ 13 июня 2018

Вы можете попытаться сохранить значение $ pid для скрытого ввода, а затем получить значение скрытого ввода для вашего JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...