Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1
    Utente di HTML.it L'avatar di p3t3r
    Registrato dal
    Jun 2006
    Messaggi
    115

    problema: Ricorda autenticazione login

    slave atutti,
    vi chiedo di prestare la vostra attenzione su questo problema che nn riesco a risolvere.
    In sintesi nn riesco a capire dove sbaglio nel creare un cookie che ricordi il gin per un TOT di tempo (es. 60s); eccovi il codice della pag form.php:

    <?php

    if ((isset($_COOKIE['ricorda_login'])) && (isset($_SESSION['login'])))
    if ($_SESSION['login']==$_COOKIE['ricorda_login']) {
    session_start();
    $user_value='value="user_prova"';
    $password_value='value="pass_prova"';
    $link='vai direttamente';
    print('il tuo user è: '.$user_value.'
    la tua password è: '.$password_value.'
    ora.... '.$link);
    end();
    }
    if (isset($_GET['error']) and $_GET['error']==1)
    print('hai commesso qualche errore...prova ad inserire i valori richiesti vacendo attenzione al tasto "maiuscole"');
    ?>
    -----------------------
    e sotto nell'HTML :
    <form style="background-color:#CCCCCC; width:50%; font-size: 11px; text-align:center; padding: 4px; margin: 20% auto; border: 1px solid #999999;" method="post" action="prova2.php">
    inserisci il nome utente: <input style="text-align:right; margin: 5px opx;" height="16" type="text" name="username"/>

    inserisci la password: <input style="text-align:right;" height="16" type="password" name="password"/>

    ricorda il login: <input style="margin:0 30px;" height="16" type="checkbox" name="ricorda" value="1"/>
    <input style="background-color:#E0E0E0; border-top: 1px solid #CCCCCC; border-left:1px solid #CCCCCC; border-bottom: 1px solid #6B6B6B; border-right:1px solid #6B6B6B;" height="16" type="submit" value="send bytes"/>
    </form>
    __________________________________________________ ______________________
    -----------------------------------------------------------------------------------

    questa è prova2.php :

    <?php
    $user = "user_prova";
    $pass = "pass_prova";
    if ($_GET['logout']==1){
    $_SESSION=array();
    session_destroy();
    unset($_COOKIE['PHPSESSID']);
    header ("Location: form.php");
    exit();
    }
    if (isset($_POST['username']) && isset($_POST['password']))
    if ($_POST['username'] == $user && $_POST['password'] == $pass) {
    session_start();
    $_SESSION['login'] = $_POST['username'];
    if (isset($_POST['ricorda'])) {
    $cookie_ricorda=$_SESSION['login'];
    setcookie("ricorda_login",$cookie_ricorda,time()+6 0); //------>10800=3 ore
    }
    header ("Location: 2_prova2.php");
    }

    else {
    header ("Location: form.php?error=1");
    }
    ?>
    __________________________________________________ ______________________
    -----------------------------------------------------------------------------------

    ed infine questa è 2_prova2.php:

    <?php
    session_start();
    if (isset($_SESSION['login'])) {
    print("login effettuato con successo!!..
    ");
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    </head>

    <body>
    il tuo session ID è: <?=$_COOKIE['PHPSESSID'] ?>

    il tuo username invece è: <?=$_SESSION['login'] ?>


    per sloggarti clicca qui


    per ritornare al form e vedere l'effetto del ricrad login clicca qui!
    </body>
    </html>
    <? }?>
    __________________________________________________ ______________________
    -----------------------------------------------------------------------------------


    .......
    ......
    .....
    ....
    ...
    ..
    .

    aiutatemi a risolvere un problem (forse banale) ma che mi sta facendo impazzire..!

  2. #2
    Utente di HTML.it L'avatar di p3t3r
    Registrato dal
    Jun 2006
    Messaggi
    115
    qualcuno mi può aiutare??....
    "I've made a choise, i'm making a difference!"

    [DLIN DLON ...INFORMAZIONE GRATUITA] ::
    ...da poco ho incominciato ad usare skype più spesso quindi mi potete aggiungere..
    GRAZIE

  3. #3
    secondo me ci sono un po di errori,ma come prima cosa session_start devi metterlo prima di usare la sessione.
    Poi perchè devi settare un cookie che poi funziona come una variabile di sessione?

  4. #4
    Utente di HTML.it L'avatar di p3t3r
    Registrato dal
    Jun 2006
    Messaggi
    115
    potresti fare riferimenti più precisi..magari anche con qualche es.? :master:
    cmq funziona tutto quanto tranne il ccokie...
    tu cm faresti, altrimenti?..(per quanto rigurada il cookie)?
    "I've made a choise, i'm making a difference!"

    [DLIN DLON ...INFORMAZIONE GRATUITA] ::
    ...da poco ho incominciato ad usare skype più spesso quindi mi potete aggiungere..
    GRAZIE

  5. #5
    Originariamente inviato da p3t3r
    potresti fare riferimenti più precisi..magari anche con qualche es.? :master:
    cmq funziona tutto quanto tranne il ccokie...
    tu cm faresti, altrimenti?..(per quanto rigurada il cookie)?
    e quindi praticamente non funziona nulla

    session_start deve stare prima di accedere a $_SESSION

    Invece di usare un cookie usa direttamente $_SESSION no?

  6. #6
    Utente di HTML.it L'avatar di p3t3r
    Registrato dal
    Jun 2006
    Messaggi
    115
    guarda che $_SESION nn è prima di session_start().....nn so a cosa tu t riferisca...
    per quanto rigurada l'utilizzo dell'array SESSION al posto del cookie, secondo me è sbagliato, perchè in quesl caso distruggi l'array quando distruggi anche la sessione, mentre per il cookie puoi anche dargli un tempo tu, cm d'altronde ho fatto...
    siccome nn sei d'accordo, mi potresti illustrare un'altra maniera?..magari un tuo esempio...
    grazie..aspetto una tua risposta.
    "I've made a choise, i'm making a difference!"

    [DLIN DLON ...INFORMAZIONE GRATUITA] ::
    ...da poco ho incominciato ad usare skype più spesso quindi mi potete aggiungere..
    GRAZIE

  7. #7
    Originariamente inviato da p3t3r
    guarda che $_SESION nn è prima di session_start().....nn so a cosa tu t riferisca...
    per quanto rigurada l'utilizzo dell'array SESSION al posto del cookie, secondo me è sbagliato, perchè in quesl caso distruggi l'array quando distruggi anche la sessione, mentre per il cookie puoi anche dargli un tempo tu, cm d'altronde ho fatto...
    siccome nn sei d'accordo, mi potresti illustrare un'altra maniera?..magari un tuo esempio...
    grazie..aspetto una tua risposta.
    qui si invece:
    <?php

    if ((isset($_COOKIE['ricorda_login'])) && (isset($_SESSION['login'])))
    if ($_SESSION['login']==$_COOKIE['ricorda_login']) {
    session_start();
    $user_value='value="user_prova"';

  8. #8
    fammi capire tu vuoi fare in modo che all'utente venga riproposto il form di login perfettamente compilato per lui quando riaccede alla pagina nel caso in cui ha messo la spunta su "ricordami" giusto?

  9. #9
    Utente di HTML.it L'avatar di p3t3r
    Registrato dal
    Jun 2006
    Messaggi
    115
    il codice che tu hai scritto è identito a quello che ho scritto io nella pagina form.php...nn capisco quale sia la differenza.
    Per il momento lascia perdere le variabili $user_value e $password_value perchè nn le ho ancora utilizzate..
    e cmq vorrei che quando l'utente che ha già acceduto una volta, per 60 secondi gli/le si possa presentare la pag forum.php solamente con il link vai direttamente tralasciando il codice sottosatnte per l'utilizzo di end();..
    è più chiaro così?..
    "I've made a choise, i'm making a difference!"

    [DLIN DLON ...INFORMAZIONE GRATUITA] ::
    ...da poco ho incominciato ad usare skype più spesso quindi mi potete aggiungere..
    GRAZIE

  10. #10
    Originariamente inviato da p3t3r
    il codice che tu hai scritto è identito a quello che ho scritto io nella pagina form.php...nn capisco quale sia la differenza.
    Per il momento lascia perdere le variabili $user_value e $password_value perchè nn le ho ancora utilizzate..
    e cmq vorrei che quando l'utente che ha già acceduto una volta, per 60 secondi gli/le si possa presentare la pag forum.php solamente con il link vai direttamente tralasciando il codice sottosatnte per l'utilizzo di end();..
    è più chiaro così?..
    e certo che è uguale ma ti ho fatto vedere in rosso dove usi $_SESSION prima di chiamare session_start...
    per fare quello che vuoi userei la sessione,al login registro il timestamp:
    $_SESSION['timestamp'] = microtime();

    ad ogni accesso alla pagina recupero questo timestamp e quello attuale ed effettuo la sottrazione:

    Codice PHP:
    <?php 
    .....
    list(
    $timestamp1_sec,$timestamp1_msec) = explode(' ',$_SESSION['timestamp']);
    list(
    $timestamp2_sec,$timestamp2_msec) = explode(' ',time());

    $differenza_in_sec $timestamp2_sec $timestamp1_sec;

    if(
    $differenza_in_sec 60){
    ?>
    [url="prova2.php"]vai direttamente[/url]
    <?php
    }
    ?>

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.