会话变量未在实时服务器中传递

时间:2015-12-31 10:44:03

标签: javascript php html5 session

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

DB_Function.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" >

fill.php

/* (.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.js

 <?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);
        }

?>

register.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>           

form.php 代码段

True

3 个答案:

答案 0 :(得分:0)

session_start()函数必须是文档中的第一件事。在任何HTML标记之前。 试试这个:

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

答案 1 :(得分:0)

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

  <?php
session_start();
?>

请注意<?php.之前的空格这会产生问题,因此请将其删除。

答案 2 :(得分:0)

您已将fullName保存为$_SESSION["user"]["fullname"]

$_SESSION["user"]["fullname"] = $user["fullname"];

但你这样回应:

echo $_SESSION["fullname"];

修复它以回应正确的一个:

echo $_SESSION["user"]["fullname"];

注意:您可以使用额外的检查if(isset($_SESSION["user"]["fullname"])),以便在未实际设置时不会出现错误。但是在你使用正确的变量/键之前,这将无法解决问题。