Wie erhält man die user_id der protokollierten Person aus der Datenbank und fügt sie mit Sessions in die andere Tabelle ein?

9300
srikar reddy

Ich bin neu im Thema Sitzungen, also habe ich versucht, die user_idSpalte (Spalte) der protokollierten Person user_loginmithilfe von Sitzungen aus der Tabelle abzurufen und in die andere Tabelle einzufügen, konnte dies jedoch nicht erreichen. Ich würde mich freuen, wenn mir jemand helfen könnte wie zu erreichen.

Danke im Voraus.

Hier ist mein Code, wo ich das einfügen möchte 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'); } } ?> 

Hier ist meine Login.php (Login-Seite)

<?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
Versuchen Sie Folgendes hinzuzufügen: session_start (); Bevor Sie die $ _SESSION-Variable aufrufen Wenn ich überprüfen muss, ob ein Benutzer angemeldet ist, erstelle ich eine separate security.php-Datei: session_start (); if ($ _ SESSION ['login_in'] == "yes") {} else Genaro Morales vor 6 Jahren 0
Ich habe bereits session_start (() in header.php hinzugefügt, aber Ihre Antwort ist für meine Frage irrelevant. srikar reddy vor 6 Jahren 0
Entschuldigung, ich habe falsch gelesen. Um dies zu erreichen, müssen Sie die Benutzer-ID in einer anderen Sitzungsvariablen speichern und dann für die Einfügung auf den anderen PHP-Daten verwenden. In den Sitzungsvariablen können Sie beliebig viele Variablen definieren. Genaro Morales vor 6 Jahren 0
Haben Sie eine Idee, wie Sie user_id in einer Variablen speichern können? srikar reddy vor 6 Jahren 0
sicher, lassen Sie mich eine Antwort posten, um Ihnen zu zeigen, wie nur Sie, dass ich es auf mysql habe, Sie nur anpassen müssen. Genaro Morales vor 6 Jahren 0
Probleme, die sich auf die Programmierung und Softwareentwicklung beziehen, sind nicht relevant, siehe [On-Topic] (https://superuser.com/help/on-topic). Versuchen Sie [SO], aber lesen Sie zuerst [Wie stelle ich eine gute Frage?] (Https://stackoverflow.com/help/how-to-ask). DavidPostill vor 6 Jahren 0

1 Antwort auf die Frage

0
Genaro Morales

Sie können die user_id erhalten mit:

$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']; } 

Ich bin mir nicht sicher, aber ich denke, dass der mssql_fetch_assoc der php-Befehl ist, um den Fetch-Assoc für SQL zu erhalten.

Die 'user_id' in den $ -Klammern ist der Name der Spalte in Ihrer Tabelle