Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    45

    HELP Check login e redirect

    Ciao a tutti, sul sito che sto completando ho delle pagine riservate ad un unica persona che gestirà il sito e che farà login, su ogni pagina "admin" ho inserito una restrizione che controlla se la sessione opportuna è attiva. Ora però nel mio codice di check ho un problema di redirect, in quanto non riesco a reindirizzare l'utente all'url che voglio. Vi posto il codice:
    Codice PHP:
    <?php  
    // Inialize session 
    session_start();  
    // Include database connection settings 
    $conn=mysql_connect("localhost""root""root");     
    if (!
    $conn)     {         
    die(
    "Connessione a Mysql non riuscita " mysql_error());     
    }     
    $db=mysql_select_db("DB"$conn);     
    if (!
    $db)     {         
    die(
    "Connessione al Database non riuscita " mysql_error());     
    }   
    // Retrieve username and password from database according to user's input 
    $login mysql_query("SELECT * FROM admin WHERE (username = '" .
     
    mysql_real_escape_string($_POST['username']) . "') and (password = '" .
     
    mysql_real_escape_string(md5($_POST['password'])) . "')");  
    // Check username and password match 
    if (mysql_num_rows($login) == 1) { 
    // Set username session variable 
    $_SESSION['username'] = $_POST['username']; 

    // Jump to secured page  
    $url_pagina1="index.php?menu=pagina1"
    $url_login="index.php?menu=login";  

    header("Location: $url_pagina1"); 
    } else { 
    // Jump to login page 
    header("Location: $url_login"); }  ?>
    Visto che le pagine sono dinamiche non ho una semplice pagina.php ho un url composto così "index.php?menu=pagina1" che non riesco a far acettare.


    Un ultima cosa che vorrei avere è che se vengono inserite nome utente o password errati compaia il messaggio di errore.

    Grazie in anticipo!!
    Saluti

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    qual è il problema esattamente? la pagina di reindirizzamento può anche essere complessa come dici, mentre nel tuo script la variabile $url_login è inizializzata nel ramo "then" e usata in quello "else" (dove quindi non è settata)

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    45
    Originariamente inviato da eiyen
    qual è il problema esattamente? la pagina di reindirizzamento può anche essere complessa come dici, mentre nel tuo script la variabile $url_login è inizializzata nel ramo "then" e usata in quello "else" (dove quindi non è settata)
    Accade una cosa strana, anche se inserisco l'url che voglio il redirect punta sulla pagina.php quindi ottengo miosito/pages/pagina1 invece che il richiamo fatto da index.php?menu=pagina1

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ma "pagina.php" chi lo richiama? Ti consiglio di fare una cosa: cambia i vari "header" con dei semplici "echo" seguiti da un "exit" in modo che anzichè fare il reindirizzamento tu veda l'url che verrebbe richiamata stampata a video e poi posta qui i risultati spiegando se sono corrette le attese.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    45
    Originariamente inviato da eiyen
    ma "pagina.php" chi lo richiama? Ti consiglio di fare una cosa: cambia i vari "header" con dei semplici "echo" seguiti da un "exit" in modo che anzichè fare il reindirizzamento tu veda l'url che verrebbe richiamata stampata a video e poi posta qui i risultati spiegando se sono corrette le attese.
    Ho risolto, ricontrollando ho trovato l'errore nell'url action del form in cui era scritto solamente con nome e estensione!

    Per quanto riguarda il controllo della password e username? come potrei inserire le condizioni e riportare l'errore senza incasinare troppo il codice?

  6. #6
    fai una pagina a parte (es. login.php) dove ti connetti al db e fai i controlli per vedere che cosa ha inserito l'utente.. magari anche mettendo un controllo per evitare banali sql injection.. e redirecti di conseguenza

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    45
    Originariamente inviato da mangusta91
    fai una pagina a parte (es. login.php) dove ti connetti al db e fai i controlli per vedere che cosa ha inserito l'utente.. magari anche mettendo un controllo per evitare banali sql injection.. e redirecti di conseguenza
    Non potrei in qualche modo implementare il codice che ho postato?

  8. #8
    si, anche se c'è un po' di confusione..

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    45
    Originariamente inviato da mangusta91
    si, anche se c'è un po' di confusione..
    Se potessi aiutarmi te ne sarei grato!

  10. #10
    Codice PHP:
    $query"SELECT username, password FROM utenti WHERE  username='".$username."' AND password='".$password."'";

    $result=mysql_query($query,$link);
          
            while (
    $row=mysql_fetch_array($result))
            {
                
    $_SESSION['logged']= TRUE;
                            
    $_SESSION['username']= $row['username'];
                
    $_SESSION['nome']= $row['nome'];
            } 
    la personalizzi come ti pare e poi fai i redirect.. ovviamente se non trova riscontri significa che le credenziali sono errate e non entra nel while.. fai i redirect di conseguenza!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.