Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    session start .... help

    Salve ho creato una pagina di login per differenziare gli accessi solo che se in locale io , dal browser scrivo la root diretta della pagina protetta senza passare per la form di login si apre e non mi chiede di andare a logarmi!!!, è normale oppure ho fatto qualche errore!!! di seguito vi inserisco il codice delle tre pagine

    pag1 login:
    <table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
    <tr>
    <form name="form1" method="post" action="controllologin.php">
    <td>
    <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
    <tr>
    <td colspan="3"><div align="center"> Accesso</div></td>
    </tr>
    <tr>
    <td width="78">User</td>
    <td width="6">:</td>
    <td width="294"><input name="user" type="text" id="user"></td>
    </tr>
    <tr>
    <td>Password</td>
    <td>:</td>
    <td><input name="password" type="text" id="password"></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td><input type="submit" name="Submit" value="Login"></td>
    </tr>
    </table>
    </td>
    </form>
    </tr>
    </table>



    </body>
    </html>

    ------------------------------------------------------------------------------------------
    Pagina 2 (controllo login):

    <?php
    ob_start();
    $host="localhost"; // Host name
    $username="root"; // Mysql username
    $password=""; // Mysql password
    $db_nome="****"; // Database name
    $tbl_nome="login"; // Table name
    // connessione al db
    mysql_connect("$host", "$username", "$password")or die("non connesso");
    mysql_select_db("$db_nome")or die("DB non selezionato");
    // definisce i valori delle variabili prese dalla form
    $user=$_POST['user'];
    $password=$_POST['password'];
    // protezione insermento dati in db sql
    $user = stripslashes($user);
    $password = stripslashes($password);
    $user = mysql_real_escape_string($user);
    $password = mysql_real_escape_string($password);

    $sql="SELECT * FROM $tbl_nome WHERE user='$user' and password='$password'";
    $risultato=mysql_query($sql);

    // crea una tabella con i valori
    $count=mysql_num_rows($risultato);
    // se il risultato del controllo tra le variabili della form e i dati in tabella danno 1
    if($count==1){
    // indirizzami verso "insdel.php"
    session_register("myusername");
    session_register("mypassword");
    header("location:insdel.php");
    }
    else {
    echo "ATTENZIONE User o Password ERRATE "; // altrimenti scrivi questo
    }

    ob_end_flush();
    ?>

    _---------------------------------------------------------------------------------------
    3 (pagina protetta):

    <? session_start();
    if(!session_is_registered(myusername)){
    header("location:login.php");
    }
    ?>



    ?>

    </body>
    </html>

    ------------------------------------------------------------------------------------------ vi ringrazio anticipatamente

  2. #2
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    431
    Nella "Pagina 2" manca il session_start() e poi tu con la session_register registri due variabili che non sono state dichiarate. Dovresti piuttosto registrare le variabili $user e $password in questo modo:


    Codice PHP:
    session_register("user");
    session_register("password"); 
    e poi nella pagina 3 mettere il controllo su tale variabile.

  3. #3
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Per la maggior parte va assolutamente bene, l'unico non di dovrebbe usare più session_register() e session_is_registered() ma solo $_SESSION. Poi ho anche modifcata la query che già il database ti da il numero delle righe.

    Codice PHP:
    <?php
        session_start
    ();
        
    ob_start();
        
    $host="localhost"// Host name
        
    $username="root"// Mysql username
        
    $password=""// Mysql password
        
    $db_nome="****"// Database name
        
    $tbl_nome="login"// Table name

        // connessione al db
        
    mysql_connect("$host""$username""$password")or die("non connesso");
        
    mysql_select_db("$db_nome")or die("DB non selezionato");

        
    // definisce i valori delle variabili prese dalla form
        
    $user=$_POST['user'];
        
    $password=$_POST['password'];

        
    // protezione insermento dati in db sql
        
    $user stripslashes($user);
        
    $password stripslashes($password);
        
    $user mysql_real_escape_string($user);
        
    $password mysql_real_escape_string($password);

        
    $risultato=mysql_query("SELECT COUNT(*) FROM $tbl_nome WHERE user='$user' and password='$password'");

        
    // se il numero delle righe trovate uguale a 1
        
    if (mysql_result($risultato0)==1)
        {
            
    // indirizzami verso "insdel.php"
            
    $_SESSION['myusername']=$user;
            
    $_SESSION['mypassword']=$password;
            
    header("location:insdel.php");
        }
        else echo 
    "ATTENZIONE User o Password ERRATE "// altrimenti scrivi questo

        
    ob_end_flush();
    ?>
    e poi

    Codice PHP:
    <?php
        session_start
    ();
        if(isset(
    $_SESSION['myusername'])) header("location:login.php");
    ?>

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  4. #4
    Grazie mille ho apportato le modifiche che mi hai mandato ,
    <?php
    session_start();
    if(isset($_SESSION['user'])) header("location:login.php");
    ?>

    perchè se modifico la variabile $_SESSION['myusername'] con $_SESSION['user'] non funziona piu' ... dove punta questa variabile!!!

  5. #5
    ... non funziona mi ritorna sempre nella pagina login!!!!

  6. #6
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Scusami, ho sbagliato, la condizione deve essere false

    Codice PHP:
    <?php 
        session_start
    (); 
        if (isset(
    $_SESSION['myusername'])==falseheader("location:login.php"); 
    ?>

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  7. #7
    ..Ok funziona grazie!!!!

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.