如何从另一个PHP文件获取PHP文件的user_id。我使用$_SESSION['user_id']
来做,但它不适合我。任何人都可以告诉我如何做到这一点以及$_SESSION['user_id']
应放在PHP文件中的位置,或者是否有更好的方法。我想我已将它放在login.php
文件中的正确位置,但不确定fitness.php.
我是否将它们用于我的Android应用。这两个PHP文件如下。非常感谢任何帮助,谢谢。
的login.php
<?php
session_start();
$error = NULL;
include_once('connection.php');
if(isset($_POST['txtUsername']) && isset($_POST['txtPassword'])){
$username = $_POST['txtUsername'];
$password = $_POST['txtPassword'];
$query = "SELECT username, password, user_id FROM user WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($conn, $query);
if($username == $error || $password == $error) {
echo "Login Failed <br>";
}
elseif($result->num_rows > 0){
$_SESSION['user_id'] = 'user_id';
if(isset($_POST['mobile']) && $_POST['mobile'] == "android"){
echo "success";
exit;
}
echo "Login Successful";
// header("location: login.php");
}
else{
echo "Login Failed <br>";
}
}
?>
fitness.php
<?php
session_start();
$error = NULL;
include_once('connection.php');
if(isset($_POST['pulseOne']) && isset($_POST['pulseTwo']) && isset($_POST['pulseThree'])){
$pulseOne = $_POST['pulseOne'];
$pulseTwo = $_POST['pulseTwo'];
$pulseThree = $_POST['pulseThree'];
$fitnessResult = 100;
$overall = 30000;
$fitnessScore = -1;
$fitnessScore = $pulseOne + $pulseTwo + $pulseThree;
if($fitnessScore != 0){
$fitnessResult = $overall/$fitnessScore;
$fitnessResult = round($fitnessResult, 0);
}
else{
$fitnessResult = NULL;
}
// $fitnessResult = mydivide($overall/$fitnessScore);
$date = date("Y-m-d");
$time = date("h:i:sa");
// $user_id = $_POST['user_id'];
$query = "INSERT INTO `fitness`(`fitnessScore`, `fitnessDate`,`fitnessTime`, `user_id`) VALUES ('$fitnessResult','$date','$time', 42)";
$result = mysqli_query($conn, $query);
if($pulseOne == $error || $pulseTwo == $error || $pulseThree == $error){
echo "Insert Failed";
}
elseif($result > 0){
if(isset($_POST['mobile']) && $_POST['mobile'] == "android"){
echo "success";
exit;
}
echo "Insert Successfully";
}
else{
if(isset($_POST['mobile']) && $_POST['mobile'] == "android"){
echo "Registration Failed";
exit;
}
echo "Insert Failed";
}
}
?>
答案 0 :(得分:0)
你可以这样做首先将你的会话变量保存在另一个变量中,而不是尝试在数据库中插入
$user_id = $_SESSION['user_id'] ;
尝试回应它
echo $user_id;
一旦你使用它或将其插入数据库
从
更改您的代码$_SESSION['user_id'] = 'user_id';
这个
$_SESSION['user_id'] = $row['user_id'];
答案 1 :(得分:0)
这里要注意很多事情,如果你正在使用其他正确使用的话,首先要重构你的If和else语句。你正在使用mysqli没有准备好的语句简单查询,试着学习更好的方法,这样你的代码就不会容易受到攻击。最后但并非最不重要的是,您正面临着这个问题,因为您尝试将Session变量值与post关键字一起使用,请尝试以下方法:
$ user_id = $ _SESSION [&#39; user_id&#39;];它将被解决。