Session variable not passed in live server [closed]

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 snippet

  <?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>           

Answers:

Answer

You have space before declaring session variable.

  <?php
session_start();
?>

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

Answer

The session_start() function must be the very first thing in your document. Before any HTML tags. Try this:

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

Answer

You have saved the fullName as $_SESSION["user"]["fullname"] :

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

But you are echoing this way:

echo $_SESSION["fullname"];

Fix it to echo the correct one:

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

Note: You can use additional check if(isset($_SESSION["user"]["fullname"])) so that you don't get error, when it is not actually set. But that will fix nothing until you use the correct variable / key.

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.