2017-08-05 2 views
0

Hier ist mein Problem, ich benutze Jquery Mobile zum ersten Mal (Student Web-Entwickler), um eine Web-App zu machen. Also muss ich eine Anmeldeseite erstellen und dann eine Sitzung starten. Aber ich weiß nicht, wie ich es machen soll. Funktioniert es nur mit PHP-Session (weil ich weiß, wie es mit PHP nur geht ..)? Oder muss ich das wirklich anders machen?
Dies ist, wie ich es tat:Starting Sitzung auf Jquery Mobile, ohne Ajax

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

Und meine Zielseite:

<?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 
    } 
    ?> 
+0

Es gibt keine "Sitzung" in JS. Sie können jedoch ['localStorage'] (https://developer.mozilla.org/en/docs/Web/API/Window/localStorage) verwenden, um einige Daten auf der Client-Seite zu speichern. ** Verwenden Sie es nicht zum Speichern des Benutzerpassworts **, da dies nicht sicher wäre. Dein PHP-Weg, wie du ihn gepostet hast, ist richtig. –

Antwort

0

php muss man die Sitzung starten. Einige Leute tun benutzerdefinierte Token/Datenbank-Lösungen, aber aus Gründen der Einfachheit halte ich einfach an den PHP-Sitzungen.

<?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'].'.'; 
?> 
+0

OP hat die Sitzung im 'if' Zustand gestartet ... –

+1

Whoops. Es verpasst. Vielen Dank. Es hilft nicht auf der zweiten Seite, da jede Seite die Sitzung starten muss. –

+0

Das stimmt! Ich habe es auf der zweiten Seite verpasst ... Wir sind sogar;) –

Verwandte Themen