Как получить user_id зарегистрированного человека из базы данных и вставить его в другую таблицу с помощью сеансов?

9186
srikar reddy

Я новичок в теме «Сеансы», поэтому я пытался достать зарегистрированного человека user_id(столбец) из user_loginтаблицы, используя сеансы, и вставить его в другую таблицу, но не смог достичь. Я был бы признателен, если бы кто-нибудь мог мне помочь о том, как достичь.

Заранее спасибо.

Вот мой код, куда я хочу вставить это user_id

<?php  ob_start(); include ('header.php'); require('includes/connect.php'); require('includes/product.php');  $product = new Product;  if(isset ($_GET['id'])) { $id = $_GET['id']; $data = $product -> fetch_data($id);   if(isset($_POST['add'])){ if (isset($_SESSION['logged_in'])) { //$user_id = $_SESSION['user_id']; $query = $pdo -> prepare("INSERT INTO cart_items(product_id, Price) VALUES (?,?)"); $query -> bindValue(1, $id); //$query -> bindValue(2, $user_id); //This is where I want to insert logged user's user_id in to the database. $query -> bindValue(2, $data['new_price']); $query ->execute(); header('location:cart.php'); } else{ header('location:Login Page.php'); } } ?> 

Вот мой Login.php (Страница входа)

<?php include ('header.php'); include ('includes/connect.php'); if( ! isset($_SESSION['logged_in'])) { if(isset($_POST['email'], $_POST['password'])) { $username = $_POST['email']; $password = md5($_POST['password']); if(empty($username) or empty($password)) { $error = "Please fill all the fields"; } else { $query = $pdo->prepare("SELECT * FROM user_login WHERE name = ? AND password = ? "); $query->bindValue ( 1, $username); $query->bindValue ( 2, $password); $query->execute(); $num=$query->rowCount();  if($num==1) { $_SESSION['logged_in']= true; header('location :' .$_SESSION['redirectURL']); //header('location: index.php'); exit(); } else{ $error = "Please enter correct Username and Password"; } } } } else{ $error = "you have already logged in"; } ?> <div class="login"> <div class="container"> <div class="login-grids"> <div class="col-md-6 log"> <h3>Login</h3> <div class="strip"></div> <p>Welcome, please enter the following to continue.</p> <form action="" method="post"> <?php if(isset($error)){ ?> <small style = "color : #aa0000"; ><?php echo $error ?></small> <br><br> <?php } ?> <div class="form-group"> <label for="email" class="head">Email</label> <input class="form-control login-box" name="email" type="text" id="email"/> </div> <div class="form-group"> <label for="password" class="head">Password</label> <input class="form-control login-box" name="password" type="password" id="password"/> </div>  <button type="submit" class="btn login-btn">Submit</button> </form> <a href="#">Forgot Password ?</a> </div> <div class="col-md-6 login-right"> <h3>New Registration</h3> <div class="strip"></div> <p>By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.</p> <a href="register.html" class="button">Create An Account</a> </div> <div class="clearfix"></div> </div> </div> </div> 
0
Попробуйте добавить: session_start (); перед вызовом переменной $ _SESSION Когда мне нужно проверить, вошел ли пользователь в систему, я создаю отдельный security.php, например: session_start (); if ($ _ SESSION ['logged_in'] == "yes") {} else Genaro Morales 6 лет назад 0
Я уже добавил session_start (() в header.php, но ваш ответ не имеет отношения к моему вопросу. srikar reddy 6 лет назад 0
извините, я неправильно прочитал, чтобы добиться этого, вам нужно сохранить идентификатор пользователя в другой переменной сеанса, а затем использовать его для вставки в другие данные php. В переменных сеанса вы можете определить столько переменных, сколько необходимо. Genaro Morales 6 лет назад 0
Есть ли у вас какие-либо идеи о том, как сохранить user_id в переменной? srikar reddy 6 лет назад 0
конечно, позвольте мне опубликовать ответ, чтобы показать вам, как только он у меня есть на mysql, вам нужно только адаптировать его. Genaro Morales 6 лет назад 0
Вопросы, специфичные для программирования и разработки программного обеспечения, не по теме, см. [On-Topic] (https://superuser.com/help/on-topic). Попробуйте [SO], но сначала прочитайте [Как мне задать хороший вопрос?] (Https://stackoverflow.com/help/how-to-ask). DavidPostill 6 лет назад 0

1 ответ на вопрос

0
Genaro Morales

Вы можете получить user_id с помощью:

$query=mysql_query("SELECT * FROM user_login WHERE name = '$username' AND password = '$password');  $row=mysql_fetch_assoc($query); $num=mysql_num_rows();  if($num==1) { session_start();  $_SESSION['user_id']= $row['user_id']; } 

Я не уверен, но я думаю, что mssql_fetch_assoc, если команда php, чтобы получить ассоциацию выборки для sql.

'User_id' в скобках $ row - это имя столбца в вашей таблице

Похожие вопросы