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

    problema session_start()

    Ciao a tutti ragazzi ho un problema con il codice postato qui di seguito, praticamente ho un form di registrazione con il codice sottostante e fin qui ok funziona senza problemi!
    ************************************************** *********
    <?php
    include "config.php";
    include "funzioni.php";

    $DB = new DB();

    $DB->connect();
    IF($_POST[mail]=='' or $_POST[nick]=='' or $_POST[pass]==''){
    if($_POST[mail]=='' and $_POST[invia]!=''){$valore_1 ="Campo Obbligatorio";}
    if($_POST[nick]=='' and $_POST[invia]!=''){$valore_2 ="Campo Obbligatorio";}
    if($_POST[pass]=='' and $_POST[invia]!=''){$valore_3 ="Campo Obbligatorio";}
    if($_POST[cognome]=='' and $_POST[invia]!=''){$valore_4 ="Campo Obbligatorio";}
    if($_POST[indirizzo]=='' and $_POST[invia]!=''){$valore_5 ="Campo Obbligatorio";}
    if($_POST[citta]=='' and $_POST[invia]!=''){$valore_6 ="Campo Obbligatorio";}
    if($_POST[provincia]=='' and $_POST[invia]!=''){$valore_7 ="Campo Obbligatorio";}
    if($_POST[stato1]=='' and $_POST[invia]!=''){$valore_8 ="Campo Obbligatorio";}
    if($_POST[cap]=='' and $_POST[invia]!=''){$valore_9 ="Campo Obbligatorio";}
    if($_POST[telefono]=='' and $_POST[invia]!=''){$valore_10 ="Campo Obbligatorio";}


    echo "<form action='' method='post' name='registrazione'>

    <table align=center><tr><td>Email</td><td><input type='text' size='35' name='mail' value='";
    echo stripslashes($_POST[mail]);
    echo"'> $valore_1</td></tr>
    <tr><td>Nome</td><td><input type='text' name='nick' size='35' value='";
    echo stripslashes($_POST[nick]);
    echo"'> $valore_2</td></tr>
    <tr><td>Password</td><td><input type='password' name='pass' size='35' value='";
    echo stripslashes($_POST[pass]);
    echo"'> $valore_3</td></tr>

    <tr><td>Cognome</td><td><input type='text' name='cognome' size='35' value='";
    echo stripslashes($_POST[cognome]);
    echo"'> $valore_4</td></tr>

    <tr><td>Indirizzo</td><td><input type='text' name='indirizzo' size='35' value='";
    echo stripslashes($_POST[indirizzo]);
    echo"'> $valore_5</td></tr>


    <tr><td>Città</td><td><input type='text' name='citta' size='35' value='";
    echo stripslashes($_POST[citta]);
    echo"'> $valore_6</td></tr>

    <tr><td>Provincia</td><td><input type='text' name='provincia' size='35' value='";
    echo stripslashes($_POST[provincia]);
    echo"'> $valore_7</td></tr>


    <tr><td>Nazione</td><td><input type='text' name='stato1' size='35' value='";
    echo stripslashes($_POST[stato1]);
    echo"'> $valore_8</td></tr>


    <tr><td>Cap</td><td><input type='text' name='cap' size='35' value='";
    echo stripslashes($_POST[cap]);
    echo"'> $valore_9</td></tr>


    <tr><td>Telefono</td><td><input type='text' name='telefono' size='35' value='";
    echo stripslashes($_POST[telefono]);
    echo"'> $valore_10</td></tr>



    <tr><td><input type='submit' name='invia' value='Registrati'></td><td><input type='reset' name='reset' value='reset'>

    </td></tr>
    </table>


    "; }
    else
    {

    $m = $_POST[mail];
    $corrispondenza_email = checkMail($m);
    if($corrispondenza_email=="1")
    {

    $numero_a_caso = rand (1234,5678);
    $nickname = trim(addslashes($_POST[nick]));
    $pass = trim(addslashes($_POST[pass]));
    $controllo_db = mysql_query ("SELECT *
    FROM `utenti`
    WHERE `email` = '$m'
    or `nick` = '$nickname'
    LIMIT 0 , 1 ");
    $risultato_controllo = mysql_num_rows($controllo_db);
    if($risultato_controllo=="0"){
    $psw_per_db = criptpass($pass);
    $inserisco_dati_di_registrazione = mysql_query("
    INSERT INTO `utenti` ( `id` , `email` , `nick` , `pass` , `stato` , `caso` , `cognome` , `indirizzo` , `citta` , `provincia` , `stato1` , `cap` , `telefono`)
    VALUES (
    NULL , '$m', '$nickname', '$psw_per_db', '0', '$numero_a_caso' , '$cognome' , '$indirizzo' , '$citta' , '$provincia' , '$stato1' , '$cap' , '$telefono')

    ************************************************** ***********
    Il problema nasce ora nelle altre pagine ho inserito una protezione per consentire l'accesso solamente ad utenti registrati.
    Vi posto il codice:


    2.************************************************ ***************
    Questa pagina si preoccupa di controllare il login
    <?php
    session_start();
    if($_SESSION[login]!='' or $_SESSION[psw]!=''){
    $cook = "$_SESSION[login]@@$_SESSION[psw]";
    setcookie ("login", $cook);
    header("Location: index.php");
    }
    else
    {
    header("Location: login.php");
    }

    tutte le altre pagine hanno lìinclusione di questo codice:

    <?
    session_start();
    isset($login) OR die("
    <table width=877 border=0 cellspacing=0 cellpadding=0>
    <tr>
    <td><table border=0 cellspacing=0 cellpadd .. . . .. . . . . ..


    Lo script funziona benissimo fà il suo dovere blocca quelli non autorizzati esegue query sul db e memorizza le registrazioni.
    Il problema è qui se un utente si logga e non chiude la sessione l'utente che si registra in seguito si registra e nel db nel campo del num di telefono viene memorizzato un num che non centra nulla con quello immesso nel form ma che è comune a tutti quelli che si registrano in seguito ad una sessione chiusa.
    Io sappevo che sesssion_start () viene chiusa alla chiusura del browser èvero secondo voi??
    Grazie in anticipo
    se mi son spiegato male ditelo così mi spiego meglio ciao a tutti

  2. #2

    problema session_start()

    scusate ho cliccato in fretta ed ho postato nella sezione asp scusatemi

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 © 2026 vBulletin Solutions, Inc. All rights reserved.