Visualizzazione risultati 1 fino 16 di 16

Discussione: Login con le sessioni: non funziona

  1. #1
    Guest

    Predefinito Login con le sessioni: non funziona

    Codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
    <link rel="stylesheet" href="style.css" type="text/css" /></head><body>
    <div id="bottoni">
    <div class="bottone"><a href="#">Homepage</a></div>
    <div class="bottone"><a href="search.php">Cerca musicista</a></div>
    <div class="bottone"><a href="login.php">Entra</a></div>
    </div>
    <div id="body">
    <?php
    session_start();
    if(!$xml = simplexml_load_file($_GET['user'] . ".xml") || !isset($_GET['user'])) {
    	echo "<center><form><input type=\"text\" name=\"user\">Username</br><input type=\"password\" name=\"pass\">Password<br><input type=\"submit\" value=\"LOGIN\"><br>Inserire un nome utente ed una password validi! <br></center></form>";
    	$_SESSION=array(); }
    else {
    	$password=md5($password=$xml->oggetto[0]['password']);
    		if(md5($_GET['pass'])==$password) {
    			$_SESSION['user']=$_GET['user'];
    			$_SESSION['password']=$_GET['pass'];
    			echo"Sei loggato correttamente!"; }
    		else {
    			echo "<center><form><input type=\"text\" name=\"user\">Username</br><input type=\"password\" name=\"pass\">Password<br><input type=\"submit\" value=\"LOGIN\"><br>Inserire un nome utente ed una password validi! <br></center></form>";
    			$_SESSION=array();
    		}
    	}
    
    ?>
    </div>
    </body>
    </html>
    Questo è il codice che uso per un login... ma se metto user e pass giusti non va, mentre non mettendo niente dice che mi sono loggato correttamente! Cosa ho sbagliato? Ho previsto (ed annunciato) l'apertura di un sito oggi, e quindi mi serve! Ve lo chiedo non come richiesta di supporto, ma come favore personale.

    Vi ringrazio in anticipo.
    Ultima modifica di genuzzu : 26-01-2010 alle ore 17.00.42

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,179

    Predefinito

    Il session start() deve andare prima di qualsiasi codice html!

    Prova:

    Codice PHP:
    <?php
    session_start
    ();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
    <link rel="stylesheet" href="style.css" type="text/css" /></head><body>
    <div id="bottoni">
    <div class="bottone"><a href="#">Homepage</a></div>
    <div class="bottone"><a href="search.php">Cerca musicista</a></div>
    <div class="bottone"><a href="login.php">Entra</a></div>
    </div>
    <div id="body">
    <?php
    if(!$xml = simplexml_load_file($_GET['user'] . ".xml") || !isset($_GET['user'])) {
    echo
    "<center><form><input type=\"text\" name=\"user\">Username</br><input type=\"password\" name=\"pass\">Password<br><input type=\"submit\" value=\"LOGIN\"><br>Inserire un nome utente ed una password validi! <br></center></form>";
    $_SESSION=array(); }
    else {
    $password=md5($password=$xml->oggetto[0]['password']);
    if(
    md5($_GET['pass'])==$password) {
    $_SESSION['user']=$_GET['user'];
    $_SESSION['password']=$_GET['pass'];
    echo
    "Sei loggato correttamente!"; }
    else {
    echo
    "<center><form><input type=\"text\" name=\"user\">Username</br><input type=\"password\" name=\"pass\">Password<br><input type=\"submit\" value=\"LOGIN\"><br>Inserire un nome utente ed una password validi! <br></center></form>";
    $_SESSION=array();
    }
    }
    ?>
    </div>
    </body>
    </html>
    Però ho delle piccole domande/suggerimenti:

    -l'array $_SESSION[] è di per sè un array. Quindi non c'é bisogno di fare
    Codice PHP:
    $_SESSION=array();
    -Il tag <center> è obsoleto. Sostituiscilo con l'attributo align='center' {per oggi, se dici che è l'innaugurazione, va bene comunque... }

    Ciao!
    Ultima modifica di alemoppo : 26-01-2010 alle ore 17.02.18

  3. #3
    Guest

    Predefinito

    Ancora niente... stessa cosa di prima!
    Prova anche tu:
    http://yourimage.altervista.org/logi...ova&pass=prova
    e poi
    http://yourimage.altervista.org/login.php?user=prova

    L'xml da dove attinge le info sarà quindi
    http://yourimage.altervista.org/prova.xml

  4. #4
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    C'è un errore nel file xml:
    Errore interpretazione XML: tag corrispettivo mancante. Atteso: </password>.
    Linea numero 1, colonna 252:
    invece di </password> hai scritto </passwprd>.

  5. #5
    Guest

    Predefinito

    Corretto, ma il problema persiste.

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,179

    Predefinito

    qui: http://yourimage.altervista.org/login.php (senza i parametri ge) mi dice:
    Sei loggato correttamente!
    !

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da genuzzu Visualizza messaggio
    [code]
    Questo è il codice che uso per un login... ma se metto user e pass giusti non va, mentre non mettendo niente dice che mi sono loggato correttamenteVi ringrazio in anticipo.
    Quoto il mio 1° post...
    Non capisco come sia possibile! Il codice lo avete, deducete qualcosa?

  8. #8
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    -l'array $_SESSION[] è di per sè un array. Quindi non c'é bisogno di fare
    Codice PHP:
    $_SESSION=array();
    Veramente serve per rimuovere tutte le sessioni registrate, dato che se usi unset($_SESSION), disabiliti la registrazione delle sessioni.

    @gennuzzu, dovresti controllare se i parametri sono impostati prima di eseguire il login!

  9. #9
    Guest

    Predefinito

    Quali parametri?
    Ho messo una cosa che fa vedere tutte le variabili settate all' inizio, vedete ora... a me sembra che non siano impostati!

  10. #10
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Io vedo che i parametri che passi via GET sono impostati:
    Codice:
    [_GET] => Array ( [user] => prova [pass] => prova

  11. #11
    Guest

    Predefinito

    Quindi dovrebbe andare!
    Quando la pagina viene caricata senza ?user=prova&pass=prova invece non sono impostati... allora COME È POSSIBILE? Sto sbattendo da 2 ore la testa contro il muro...

  12. #12
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Io ti consiglio di fare una condizione del genere:
    Codice PHP:
    if(isset($_GET["user"], $_GET["pass"]) && !empty($_GET["user"]) && !empty($_GET["pass"])) { // user e pass sono impostati e non sono vuoti, fai il login

    } else { // user e pass sono vuoti o non impostati

    }

  13. #13
    Guest

    Predefinito

    Grazie al consiglio di mycarlo ora non si logga "a vuoto", però continua a non andare con i giusti dati...
    Ecco il nuovo codice:
    Codice:
    <?php 
    session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><title>Scuola di musica Blue Note</title>
    <link rel="stylesheet" href="style.css" type="text/css" /></head><body>
    <div id="bottoni">
    <div class="bottone"><a href="#">Homepage</a></div>
    <div class="bottone"><a href="search.php">Cerca musicista</a></div>
    <div class="bottone"><a href="login.php">Entra</a></div>
    </div>
    <div id="body">
    <?php
    session_start();
     if(isset($_GET["user"], $_GET["pass"]) && !empty($_GET["user"]) && !empty($_GET["pass"])) { 
    $password=md5($password=$xml->oggetto[0]['password']);
    		if(md5($_GET['pass'])==$password) {
    			$_SESSION['user']=$_GET['user'];
    			$_SESSION['password']=$_GET['pass'];
    			echo"Sei loggato correttamente!";
    	}
    else {
    echo "<center><form><input type=\"text\" name=\"user\">Username</br><input type=\"password\" name=\"pass\">Password<br><input type=\"submit\" value=\"LOGIN\"><br>Inserire un nome utente ed una password validi! <br></center></form>";
    	$_SESSION=array(); 
    	 }
    }
    		else {
    			echo "<center><form><input type=\"text\" name=\"user\">Username</br><input type=\"password\" name=\"pass\">Password<br><input type=\"submit\" value=\"LOGIN\"><br>Inserire un nome utente ed una password validi! <br></center></form>";
    			$_SESSION=array();
    		}
    	
    
    ?>
    </div>
    </body>
    </html>

  14. #14
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Codice PHP:
    $password=md5($password=$xml->oggetto[0]['password']);
    Ma la password che estrai non è già criptata in md5?
    Da quanto ho visto qui:
    http://yourimage.altervista.org/prova.xml
    Mi sembra di si, quindi non serve criptarla ancora!

  15. #15
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,179

    Predefinito

    non bisogna ricriptarla proprio ;)

  16. #16
    Guest

    Predefinito

    login funzionante. GRAZIEEEEEEEEEEEEEEEEEEEE!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •