会话变量未在实时服务器中传递 [英] Session variable not passed in live server

查看:85
本文介绍了会话变量未在实时服务器中传递的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在php中尝试了一些用于用户注册的代码,这整个代码在本地服务器上工作正常但是当涉及到实时服务器时,每个PHP代码都会被执行但会话变量不会显示但是在本地服务器会话变量中传递并且正确显示

I have tried out some code in php for user registration this whole code works fine on local server but when it comes to live server every php code is getting executed but session variables are not displayed but in local server session variables are passed and displayed properly

DB_Function.php

public function storeUser($salutation, $fname, $lname, $dob, $mobile, $country, $state, $city, $pin){  
    try {
        //$hash = md5($password);
        $characters = '0123456789';
            $uuid = '';
            $random_string_length = 5;
        for ($i = 0; $i < $random_string_length; $i++) {
            $uuid .= $characters[rand(0, strlen($characters) - 1)];
        }
        $fullname = $fname . " " . $lname;
        $vault_no = $salutation . "" . $country . "" . $pin . "" . $uuid;
        $sql = "INSERT INTO users(salutation, fname, lname, fullname, dob, mobile, country, state, city, pin, unique_id, vault_no, created_at) VALUES ('$salutation', '$fname', '$lname', '$fullname', '$dob', '$mobile', '$country', '$state', '$city', '$pin', '$uuid', '$vault_no', NOW())";
        $dbh = $this->db->prepare($sql);

        /*execute the insert query in 
        get the user details return
        */
        if($dbh->execute()){
            // get user details
            $sql = "SELECT * FROM users WHERE mobile = '$mobile' LIMIT 1";
            $dbh = $this->db->prepare($sql);
            $result = $dbh->execute();
            $rows = $dbh->fetch();
            $n = count($rows);
            if($n){
                return $rows;
            }
        }
    }
    catch (Exception $e) {
        die('Error accessing database: ' . $e->getMessage());
    }
    return false;
}

fill.php

<?php
session_start();
 ?>
<html>

<head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>MiiSKy | Register</title>
    <script type="text/javascript" src="jquery_source.js"></script>
    <script type="text/javascript" src = "register.js"></script>
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="font-awesome/css/font-awesome.css" rel="stylesheet">
    <!--<link href="css/plugins/iCheck/custom.css" rel="stylesheet">-->
    <link href="css/animate.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">
    <!--<script src='https://www.google.com/recaptcha/api.js'></script>-->

    <link href="css/plugins/iCheck/custom.css" rel="stylesheet">

    <link href="css/plugins/datapicker/datepicker3.css" rel="stylesheet">
    <!--Dropzone-->
    <link href="css/plugins/dropzone/basic.css" rel="stylesheet">
    <link href="css/plugins/dropzone/dropzone.css" rel="stylesheet">
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>



</head>

<body class="gray-bg">

    <div class="middle-box text-center loginscreen   animated fadeInDown">
        <div>
            <div>

                <!--<h3 class="logo-name">MiiSky</h3>-->
                <img src="img/landing/mii-logo.png">
            </div>
            <!--<h3>Register to MiiSky</h3>-->
            <p>Create your vault to see it in action.</p>
            <form id = "form" name = "form" class="validate-form" method="POST" action="formprofile.php" autocomplete = "off" >

register.js

/* (.ready)Executes the 
    function on 
    complete load
*/
$(document).ready(function(){

    /*executes the function 
    on click of id 'submit'
    */
    $("#submit").click(function(e){

    //validate front-end prior to back-end
        var status = $('form')[0].checkValidity();
        if(status){
            /*jquery to call the url requested 
            and parse the data in json*/
            $.ajax({
                url: "register.php",
                type: "POST",
                //form serialization of the all parameters
                data: $("#form").serialize(),
                async: false,
                //data passed in json
                dataType: "JSON",
                /*Give out the alert box
                to display the results*/                
                success: function (json){
                    /*if error exists alert
                    the user*/
                    if(json.error){
                        alert(json.error_msg);
                        e.preventDefault();
                    }else{
                        //on successs of process
                        alert("Registeration successful!");
                        $('#form').submit();
                    }
                },
                //through out error from back-end if exist
                error: function(jqXHR, textStatus, errorThrown){
                    alert(errorThrown);
                }
            });
        }

    });

}); 

register.php

 <?php
        session_start();
        require_once 'DB_Functions.php';
        $db = new DB_Functions();

        // json response array
        $response = array("error" => false);
        if (!empty($_POST['salutation']) && !empty($_POST['fname']) && !empty($_POST['lname']) && !empty($_POST['dob']) && !empty($_POST['mobile']) && !empty($_POST['country']) && !empty($_POST['state']) && !empty($_POST['city']) && !empty($_POST['pin'])){
                /*
                if required include seperate validation
                for some fields which require validation
                */
                // receiving the post params
                $salutation = ($_POST['salutation']);
                $fname = trim($_POST['fname']);
                $lname = trim($_POST['lname']);
                $dob = trim($_POST['dob']);
               /* $email = trim($_POST['email']);
                $password = $_POST['password'];*/
                $mobile = trim($_POST['mobile']);
                $country = trim($_POST['country']);
                $state = trim($_POST['state']);
                $city = trim($_POST['city']);
                $pin = trim($_POST['pin']);

                /*
                validation process
                starts from here
                */

                // validate your email address

               /* if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
                        //validate your password
                        if(strlen($password) >= 6){*/
                                //validate your mobile
                                //$mobile="/^[1-9]*$/";
                                if(strlen($mobile) == 10){
                                         //Check for valid email address
                                         /*if ($db->isUserExisted($email)) {
                                                                // user already existed
                                                                $response["error"] = true;
                                                                $response["error_msg"] = "User already existed with " . $email;
                                                                echo json_encode($response);
                                                        }*/
                                                        if($db->isMobileNumberExisted($mobile)) {
                                                                        //user already existed
                                                                        $response["error"] = true;
                                                                        $response["error_msg"] = "user already existed with" . $mobile;
                                                                        echo json_encode($response);
                                                        }else{  
                                                                // create a new user
                                                                $user = $db->storeUser($salutation, $fname, $lname, $dob, $mobile, $country, $state, $city, $pin);
                                                                if ($user) {
                                                                        // user stored successfully
                                                                        $response["error"] = false;
                                                                        $_SESSION["fullname"] = $user["fullname"];
                                                                        $_SESSION["vault_no"] = $user["vault_no"];
                                                                        echo json_encode($response);
                                                                } else {
                                                                        // user failed to store
                                                                        $response["error"] = true;
                                                                        $response["error_msg"] = "Unknown error occurred in registration!";
                                                                        echo json_encode($response);
                                                                }
                                                        }

                                }else{
                                        //invalid mobile number
                                        $response["error"] = true;
                                        $response["error_msg"] = "PLEASE ENTER VALID MOBILE NUMBER!";
                                        echo json_encode($response);
                                }
                     /*   }else{
                                //min of 6-charecters
                                $response["error"] = true;
                                $response["error_msg"] = "PASSWORD MUST BE OF MINIMUM 6-CHARACTERS!";
                                echo json_encode($response);
                        }
                }else{
                        // invalid email address
                        $response["error"] = true;
                        $response["error_msg"] = "invalid email address";
                        echo json_encode($response);
                }*/
        }else{
                //missing the required fields
                $response["error"] = true;
                $response["error_msg"] = "Please fill all the required parameters!";
                echo json_encode($response);
        }

?>

form.php 代码段

  <?php
session_start();
?>
<!DOCTYPE html>
<html>

<head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>MiiSky | Dashboard</title>
    <script type="text/javascript" src="jquery_source"></script>
    <script type="text/javascript" src = "form_profile.js"></script>
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="font-awesome/css/font-awesome.css" rel="stylesheet">

    <!-- Toastr style -->
    <link href="css/plugins/toastr/toastr.min.css" rel="stylesheet">

    <!-- Gritter -->
    <link href="js/plugins/gritter/jquery.gritter.css" rel="stylesheet">

    <link href="css/animate.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">

</head>

<body>
    <div id="wrapper">
        <nav class="navbar-default navbar-static-side" role="navigation">
            <div class="sidebar-collapse">
                <ul class="nav metismenu" id="side-menu">
                    <li class="nav-header">
                        <div class="dropdown profile-element">
                            <!--<span>
                                <img alt="image" class="img-circle" src="img/sunil1.jpg" />
                            </span>-->
                            <a data-toggle="dropdown" class="dropdown-toggle" href="#">
                            <span class="clear"> <span class="block m-t-xs"> <strong class="font-bold">
                 /*here is use of session variable*/
                    <?php
                    echo $_SESSION["fullname"];
                    ?></strong>
                             </span>
                              <!--<span class="text-muted text-xs block">Android Developer <b class="caret"></b></span>--> </span> </a>
                            <ul class="dropdown-menu animated fadeInRight m-t-xs">
                                <li><a href="#">Profile</a></li>
                                <li><a href="#">Contacts</a></li>
                                <li><a href="#">Mailbox</a></li>
                                <li class="divider"></li>
                                <li><a href="sign_out.php">Sign out</a></li>
                            </ul>
                        </div>
                        <div class="logo-element">
                            MiiSky
                        </div>
                    </li>

                    <li>
                    <a href=""><i class="fa fa-user"></i> <span class="nav-label">Profile Vault</span><span class="fa arrow"></span></a>


                </li>



                </ul>

            </div>
        </nav>

        <div id="page-wrapper" class="gray-bg dashbard-1">
        <div class="row border-bottom">
        <nav class="navbar navbar-static-top" role="navigation" style="margin-bottom: 0">
        <div class="navbar-header">
            <a class="navbar-minimalize minimalize-styl-2 btn btn-primary " href="#"><i class="fa fa-bars"></i> </a>
            <form role="search" class="navbar-form-custom" action="search_results.html">
                <div class="form-group">
                    <input type="text" class="form-control" name="top-search" id="top-search">
                </div>
            </form>
        </div>
            <ul class="nav navbar-top-links navbar-right">
                <li>
                    <span class="m-r-sm text-muted welcome-message">Welcome to MiiSky</span>
                </li>
                <li class="dropdown">



                <li>
                    <a href="signin.html">
                        <i class="fa fa-sign-out"></i> Sign Out
                    </a>
                </li>
                <!--<li>
                    <a class="right-sidebar-toggle">
                        <i class="fa fa-tasks"></i>
                    </a>
                </li>-->
            </ul>

        </nav>
        <br><div style="font-size:30px; text-align:center;">
                   /*here is use of session variable*/
                    <?php
                    echo "<h1>Your Vault Number is generated and will be sent to your Mobile shortly.<br></h1>"  . $_SESSION["vault_no"];
                    ?>
                    </div>           


推荐答案

在声明会话变量之前有空格。

You have space before declaring session variable.

  <?php
session_start();
?>

注意之前的空格<?php。这将产生一个问题,所以只需删除它。

Note the space before <?php. This will create an issue so just remove it.

这篇关于会话变量未在实时服务器中传递的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆