PHP在脚本之间传递ID

时间:2019-04-20 08:06:49

标签: php mysql session session-variables

我有一个无法解决的问题。

我正在创建一个Android App,其中有一个显示用户数据的部分。

数据通过MySql保存在Register.php数据库中,并使用Show.php文件进行获取。

当我在应用程序中打开用户活动时,有一个包含用户id的隐藏字段,应用程序将ID发送到Php脚本并显示该用户的所有数据。

问题在于数据显示的时间有些延迟,因为它必须从应用程序中读取id并显示过滤的数据。

我想要的是在Php文件中已经有用户id,因此应用程序上的数据显示将是瞬时的,因为这样我已经具有变量,该变量包含id,然后在Query中使用。

为此,我想到了使用sessions

但这不起作用。

Register.php文件中,我插入了一个会话变量,以存储我需要在id_restaurants脚本中通过{{1}显示该用户数据的变量show.php的值。 }。

但是在Query文件中,变量Register.php的值似乎没有保存。

我在做什么错了?

这是注册文件:$ _SESSION ['varId']

Register.php

以下是显示文件:<?php session_start(); if($_SERVER['REQUEST_METHOD']=='POST'){ include_once("config2.php"); $idUser = $_POST['idUser']; $name = $_POST['name']; $surname = $_POST['surname']; $restaurant = $_POST['restaurant']; $id_restaurant = $_POST['id_restaurant']; $_SESSION['varId'] = '$id_restaurant'; if($name == '' || $surname == '' || $restaurant =='' ){ echo json_encode(array( "statusr" => "false","message" => "Insert all data") ); }else { $query= "SELECT * FROM Restaurants WHERE restaurant='$restaurant'"; $result= mysqli_query($con, $query); if(mysqli_num_rows($result) > 0){ echo json_encode(array( "statusr" => "false","message" => "Name restaurant already exist") ); }else{ $query = "INSERT INTO Restaurants (idUser,name,surname,restaurant,id_restaurant) VALUES ('$idUser','$name','$surname','$restaurant','$id_restaurant')"; if(mysqli_query($con,$query)){ $query= "SELECT * FROM Restaurants WHERE name='$name' AND surname='$surname' AND restaurant='$restaurant' "; $result= mysqli_query($con, $query); $emparray = array(); if(mysqli_num_rows($result) > 0){ while ($row = mysqli_fetch_assoc($result)) { $emparray[] = $row; } } echo json_encode(array( "statusr" => "truer","message" => "Registered succesfully!" , "datar" => $emparray) ); }else{ echo json_encode(array( "statusr" => "false","message" => "Error") ); } } mysqli_close($con); } } else{ echo json_encode(array( "statusr" => "false","message" => "Errore3") ); } ?>

Show.php

然后您认为有一种更好的方法可以在<?php session_start(); include 'config.php'; $conn = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName); $idRestaurant = $_SESSION['varId']; if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT * FROM Food WHERE id_restaurant ='$idRestaurant'" ; $result = $conn->query($sql); if ($result->num_rows >0) { while($row[] = $result->fetch_assoc()) { $tem = $row; $json = json_encode($tem); } } else { echo "No Results Found."; } echo $json; $conn->close(); ?> 脚本之间传递id?

我愿意听你的话。

非常感谢。

0 个答案:

没有答案