【问题标题】:Starting session on jquery mobile, without ajax在 jquery mobile 上启动会话,没有 ajax
【发布时间】:2017-08-05 16:17:00
【问题描述】:

这是我的问题,我第一次使用 Jquery mobile(学生网络开发人员)制作网络应用程序。所以我需要做一个登录页面,然后开始一个会话。但我不知道该怎么做。它是否只使用 PHP 会话工作(因为我知道如何只使用 PHP 来做到这一点..)?或者我真的需要用其他方式吗?
我就是这样做的:

<?php
include 'fonctions.php';
    if (isset($_POST['valider'])){

    if ((isset($_POST['ident']) && !empty($_POST['ident']))  
    && (isset($_POST['psw']) && !empty($_POST['psw']))) {

        // récupération des infos de connex
        $identifiant=$_POST['ident'];
        $psw=$_POST['psw'];

      if(connectionIdent($identifiant,$psw) ===true){
          session_start();
          $_SESSION['id'] = $identifiant;
          $_SESSION['psw'] = hash("sha256",$psw);
          header ('Refresh:0; URL= http://localhost/acces.php#radio');

      }else{
          Echo 'Identifiant ou mot de passe incorrects';
          header ('Refresh :3; URL=http://localhost/acces.php#connexion');
      }
    }
    }
?>

还有我的登陆页面:

 <?php
    if (isset($_SESSION['id']) && isset($_SESSION['psw'])){
        echo 'Votre login est '.$_SESSION['login'].' et votre mot de passe est '.$_SESSION['pwd'].'.';
    ?>

   <div data-role="page" id="radioSansCo">

        <div data-role="main" class="ui-content">

          <div data-role="panel" class="sidenav" id="mypanel" data-display="overlay" data-position="left" >
                <a href="#" class="buttonnav" id="liennav">Forum</a>
                <a href="#" class="buttonnav" id="liennav">Bon plans</a>
                <a href="#" class="buttonnav" id="liennav">Actualités</a>
                <a href="#" class="buttonnav" id="liennav">Deconnexion</a>
            </div>
          <a href="#mypanel"><span  id="sandwich">&#9776;</span> </a>

            <img src="images/logo.png" alt="Logo" id="logocentral">

        </div>

    </div>
   <?php 
  } 
   ?>

【问题讨论】:

  • JS 中没有“会话”之类的东西。但是您可以使用localStorage 在客户端存储一些数据。 不要使用它来存储用户密码,因为这样不安全。正如您发布的那样,您的 PHP 方式是正确的。

标签: php jquery session jquery-mobile


【解决方案1】:

php 需要您启动会话。有些人使用自定义令牌/数据库解决方案,但为简单起见,我只使用 php 会话。

<?php
session_start();//don't forget to start the session on the php side.
if (isset($_SESSION['id']) && isset($_SESSION['psw'])){
        echo 'Votre login est '.$_SESSION['login'].' et votre mot de passe est '.$_SESSION['pwd'].'.';
?>

【讨论】:

  • 哎呀。错过了。谢谢。它对第二页没有帮助,因为每个页面都必须启动会话。
  • 这是真的!我在第二页错过了它......我们甚至;)
猜你喜欢
  • 2016-10-20
  • 2013-06-26
  • 1970-01-01
  • 2012-06-24
  • 2014-12-10
  • 1970-01-01
  • 1970-01-01
  • 2014-05-10
  • 2014-03-25
相关资源
最近更新 更多