【问题标题】:i am not able to pass value from one page to another page using Sessions in php我无法使用 php 中的会话将值从一个页面传递到另一个页面
【发布时间】:2015-12-21 13:47:31
【问题描述】:

我是编程新手。我想从数据库中获取记录的用户 ID 并存储在 SESSION 中,然后将该会话 ID 插入另一个表中。我想我成功了,但不幸的是有一个错误让我发疯。任何帮助将不胜感激!

数据库btrs 有表booking 有库名

booking_id,customer_id,route_id

dbConfig.php

<?php
$dbhost = "localhost";      
$dbname = "btrs"; 
$dbuser = "root";           
$dbpass = "";               
$conn =mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error());
mysql_select_db($dbname) or die("MySQL Error: " . mysql_error());
?>

Logincheck.php

<?php
session_start();
include('dbConfig.php');
$error  =   ''; // Variable To Store Error Message
if (isset($_POST['submit'])) {
    if (empty($_POST['email']) || empty($_POST['password'])) {
        $error = "email or Password is invalid";
    }
    else {
        $email      =   $_POST['email'];
        $password   =   $_POST['password'];
        $email      =   stripslashes($email);
        $password   =   stripslashes($password);
        $email      =   mysql_real_escape_string($email);
        $password   =   mysql_real_escape_string($password);

        $query      =   mysql_query("select * from member where password='$password' AND email='$email'");
        $count      =   mysql_num_rows($query);
        if ($count > 0 ) {
            $row    =   mysql_fetch_array(mysql_query("select * from member where password='$password' AND email='$email'"));
             $id    =   $row['id'];
            // echo $id;
            $_SESSION['id']=$id;
            header("location: profile.php"); 
        } else {
            $error = "Username or Password is invalid";
        }
    }
}
?>

booking.php

<?php
include"dbConfig.php";
include "logincheck.php";
if (isset($_POST['submit'])) {
    $from1          =   $_POST['from'];
    $destination1   =   $_POST['destination'];
    $query          =   mysql_query("SELECT route_id FROM route WHERE pick_from='$from1' AND destination='$destination1'"); 
    $row            =   mysql_fetch_array($query); 
    $route_id       =   $row['route_id'];
    // echo $route_id;

    if ($row!=NULL) {
        $query1 =   "INSERT INTO booking(customer_id,route_id) VALUES ('".$_SESSION['id']."','$route_id')";
        if ($query1==1) {
            echo"very goodddd";
        }
    }
    else {
        echo "good";
    }
}
?>

【问题讨论】:

  • 这是一个错字:Logincheck.php(大写“L”)然后在你的脚本中:include "logincheck.php";
  • 既然你是新手,这里给你一个小提示。不要费心使用 mysql_ 函数。 MySQL 扩展自 PHP 5.5 起正式弃用,并在 PHP 7 中完全删除。它没有积极的开发,使用它会使您的代码不那么面向未来。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。

标签: php mysql session


【解决方案1】:

您需要在profile.php 文件中启动会话。

在包含 dbconfig 文件之前,在 profile.phpbooking.php 中添加 session_start();

【讨论】:

    【解决方案2】:

    对于您要创建会话变量和/或使用会话变量的每个页面,您应该像这样开始代码的最顶部...

    <?php
    if (!isset($_SESSION)) {
      session_start();
    }
    

    【讨论】:

      【解决方案3】:

      在 PHP 中,您必须先启动会话。

      所以使用此代码开始会话。

      session_start();

      访问此网址以获取更多参考。

      http://php.net/manual/en/function.session-start.php

      【讨论】:

        猜你喜欢
        • 2017-02-01
        • 2017-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多