Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    area privata dubbissimo

    ciao ragazzi!
    ho un problema cpmcettuale..
    ho creato un modulo
    con log in e pw

    funziona..
    la action è controlla.php la quale controlla se user e pw esistono e se sono giusti..
    in tal caso c'e' un redirect che porta a inseriscidati.php
    ...

    il mio problema e questo... ma se un utente dal browser mette inseriscidati.php
    va lo stesso alla pagina bypassando l'area privata...

    allora o nella stessa pagina dopo il controllo della log in allora crea una pagina al volo con il form di inserimento oppure volevo che dopo l'autenticazione faccia redirect a inseriscidati.php?utente=admin e ci fosse un controllo nella pagina inserisci.php che se $_GET['utente'] è vuota allora non crei la pagina..

    solo che se utilizzo
    if( isset($_GET['utente'])){



    } da errore..

    :berto: spero possiate aiutarmi.. sto impazzendo..

  2. #2

  3. #3
    quindi?
    dopo la log in apro una sessione?

  4. #4
    Ciao,
    nella pagina che fa il login tu apri la sessione e se verifichi che il nome utente e la pwd sono corretti allora setti una variabile di sessione: per esempio $_SESSION['loggato'] = true altrimenti la setti a false.

    Quindi nella pagina inserisci dati apri la sessione e verifichi che isset($_SESSION['loggato']) && $_SESSION['loggato'] = true

    Ovviamente si possono fare anche in altri mille modi più sicuri ma questo va comunque.
    http://www.beavermag.it

  5. #5
    hai msn?? cosi ti spiego meglio

  6. #6
    Scrivi qui sul forum così potrebbe essere d'aiuto anche per qualcun altro la nostra discussione.
    http://www.beavermag.it

  7. #7
    ti scrivo un piccolo esempio che ovviamente va migliorato

    login.php
    codice:
    <?PHP
      // Avvia la sessione
      session_start();
    
      // Verifica se l'utente è già loggato, in caso affermativo reindirizza l'utente
      // ad una pagina precisa, altrimenti continua con il login
      if ( isset($_SESSION['auth']) && $_SESSION['auth'] == 1 ) {
        header("location: admin.php");
        exit();
      }
    
      if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        if ( isset($_POST['username']) && isset($_POST['password']) ) {
          $username = mysql_escape_string($_POST['username']);
          $password= mysql_escape_string($_POST['password']);
    
          // Verifico il login tramite una funzione creata appositamente
          if ( check_login($username, $password) ) {
            session_register('auth');
            $_SESSION['auth'] = 1;
            // Redireziono l'utente alla giusta pagina dopo il login
            header("location: admin.php");
            exit();
          }
        }
      }
      
    ?>
    
    <form action="" method="post" name="frmlogin">
      <input type="text" name="username" value="">
      <input type="password" name="password" value="">
      <input type="submit" name="submit" value="Login">
    </form>
    admin.php
    codice:
    <?PHP
    
      // Avvio o ripristino la sessione
      session_start();
    
      // Verifico le variabili di sessione relative al login
      if ( !isset($_SESSION['auth']) || $_SESSION['auth'] != 1 ) {
        die("Non puoi accedere a questa pagina senza aver effettuato il login");
      }
    
      // Resto del codice...
      // ...
    ?>
    spero di non aver sbagliato nulla dato che l'ho scritto adesso adesso e magari di esserti stato utile

  8. #8
    Direi che è perfetta.
    http://www.beavermag.it

  9. #9
    grazie mille... si ho msn.. ora provo..
    il mio indirizzo e
    ilcume@tin.it

  10. #10
    ciao ragazzi.. sto facendo delle prove..
    ho provato solo ad utilizzare la seocnda parte per ora pper vedere l'errore..
    ma mi compaare questa scritta

    if ( !isset($_SESSION['loggato']) || $_SESSION['loggato'] != true) {
    die("Non puoi accedere a questa pagina senza aver effettuato il login");}
    ?>

    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\programmi\easyphp1-8\www\agenziaimmobil\prova.php:11) in c:\programmi\easyphp1-8\www\agenziaimmobil\prova.php on line 13

    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\programmi\easyphp1-8\www\agenziaimmobil\prova.php:11) in c:\programmi\easyphp1-8\www\agenziaimmobil\prova.php on line 13
    Non puoi accedere a questa pagina senza aver effettuato il login

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.