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

    errore strano per sessioni

    ecco l'inizio del mio codice:

    <?
    session_start();
    $old_sessionid = session_id();
    session_destroy();
    ?>

    in locale sembra che cosi funziona e crea ad ogni entrata una sessione e mi fa navigare tranquillamente e per ogni utente mostra la sua area ma mettendolo sul server in internet mi fa:

    entra il primo utente ok entra il secondo ok ma se il primo utente naviga vede la cartella del secondo utente cioè l'ultimo entrato.
    secondo voi perchè?
    DANIELE MASSACESI
    Progettazione Siti Web - Programmazione Siti in HTML - PHP
    CSS - Analisi e sviluppo piani marketing
    Ottimizzazione - analisi parole chiave
    EMAIL: massacesi@gmail.com

  2. #2
    Ma perchè non usi le variabili di sessione fate apposta? $_SESSION['var']

    Potresti fare qualcosa del tipo $_SESSION['id'] e vedendo l'id ti regoli di cnsegunza per mostrare il contenuto più idoneo.

  3. #3
    ci ho provato prendendo spunto dall' articolo fatto da loro ma non mi funziona un file e non sò come modificarlo perchè mi sembra realmente fatto bene
    DANIELE MASSACESI
    Progettazione Siti Web - Programmazione Siti in HTML - PHP
    CSS - Analisi e sviluppo piani marketing
    Ottimizzazione - analisi parole chiave
    EMAIL: massacesi@gmail.com

  4. #4
    Si, comunque così non ti posso dire niente io e non ti può dire niente nessuno. Posta il codice e vediamo che si può fare. Ciao!

  5. #5
    ecco il codice:

    autenticazione.php
    <?
    session_start();
    //session_unset();
    $old_sessionid = session_id();
    print("
    $old_sessionid");
    session_destroy();
    //session_unregister("user");
    //session_unregister("directory");
    //print("
    $user
    ");
    //session_register("user");
    //$_SESSION['user']=$user;
    ?>
    <title>VIRTUAL DIRECTORY</title>
    <body bgcolor="#FF6600">
    <p align="center"><font size="+2">VIRTUAL DIRECTORY</font></p>
    <p align="center">AUTENTICAZIONE SERVER WWW.NETWORK-SOLUTION.IT</p>
    <table width="300" height="189" border="1" align="center">
    <tr>
    <form action="entra.php?nome=$nome&dimensioni_file=$dime nsioni_file" method="POST">
    <td width="57%">

    <font size="+1">LOGIN
    </font>

    <input type="text" name="nome" size="20" maxlength="60">
    </p>


    <font size="+1">PASSWORD </font>
    <input type="password" name="password" size="20" maxlength="30">
    </p>
    <center>
    </center>
    <center>



    <input name="image" type="image" src="avanti.gif" width="25" height="25">
    </p>


    Non hai lo spazio!!!!! COMPRALO A POCO</p>


    Clicca QUI</p>
    </center>
    </form>
    </tr>
    </table>


    </p>
    <table width="33%" border="1" align="center" bordercolor="#333333">
    <tr>
    <td width="54%"><font color="#FFFFFF">SPAZIO VENDUTO</font></td>
    <td width="46%"><div align="center"></div></td>
    </tr>
    <tr>
    <td><font color="#FFFFFF">DIRECTORY APERTE</font></td>
    <td><div align="center"></div></td>
    </tr>
    <tr>
    <td><font color="#FFFFFF">TOTALE FILE</font></td>
    <td><div align="center"></div></td>
    </tr>
    </table>

    entra.php
    <?
    session_register("nome");
    session_register("directory");
    print("
    user: $user - $username - $nome
    password: $password");


    $username=strtolower($nome);

    $passwords=strtolower($password);



    if (trim($username)=="" or trim($passwords)=="") {

    echo "<HTML><BODY bgcolor='#ffffff'><H2>Errore!!!</H2><FONT SIZE=2 FACE='verdana'>Ci sono dei campi mancanti. Per favore clicca QUI!!! e riprova.</FONT></BODY></HTML>";

    exit;

    }


    ///////////File Con I Dati Della Connessione Al Database///////////////////////
    require("config.php");

    //connessione al server
    $db = mysql_connect("$host", "$login", "$pass")or die("Codice 001 ERROR!!!");


    //selezione del database

    $conn= mysql_select_db($database, $db)or die("Codice 002 ERROR!!!");
    $query = ("select * from utenti_virtual_space where utente = '$username'");

    $res=mysql_query($query,$db);

    $num=mysql_num_rows($res);

    if($num>0) {
    for ($i=1;$i<=$num;$i++) {

    $row=mysql_fetch_row($res);

    $chiave=$row[0];

    $utente=$row[1];

    $codice=$row[2];

    $directory=$row[3];

    //print("
    $user
    $password");
    //print("
    $utente
    $codice
    ");
    }}
    if ($utente == $username && $codice == $passwords)
    {
    ?>
    <table width="100%" border="1">
    <tr bgcolor="#CCCCCC">
    <td width="20%"> <div align="center"><font color="#FFFFFF">UTENTE: <? print("$nome"); ?> </font></div></td>
    <td width="18%"> <div align="center"><font color="#FFFFFF">VISIONA
    FILE
    </font></div></td>
    <td width="18%"> <div align="center"><font color="#FFFFFF"><a href="file_cancella.php">ELIMINA
    FILE</a>
    </font></div></td>
    <td width="17%"> <div align="center"><font color="#FFFFFF">LOGOUT</font></div></td>
    <td width="11%"> <div align="center"><font color="#FFFFFF">FAQ</font></div></td>
    <td width="16%"> <div align="center"><font color="#FFFFFF">SCRIVICI</font></div></td>
    </tr>
    </table>




    <table border="8" windth=40% align="center" border="3">
    <tr><th>Elenco dei Files nel Server di <? print("$nome"); ?></th></tr>

    <?

    //print("
    $directory");
    $cartella = opendir("$directory/");
    while ($file = readdir($cartella)) {
    $array_file[] = $file;
    }
    foreach ($array_file as $file) {
    echo "<tr><td><center>";
    if ( $file == ".." || $file == ".") {
    continue;
    }
    $dimensioni_file=filesize("$directory/".$file);
    echo "<a href=\"$directory/$file\">$file</a>
    ";
    //echo "<a href=\"$directory/deleteme.php?file_name=$file&dimensioni_file=$dime nsioni_file\">$file</a>,
    ";
    //echo "$file
    ";
    echo "</tr></td></center>";
    }
    }else {
    echo "<center>
    SALVE!!!! CI DISPIACE TANTO MA NON è INSERITO NEL NOSTRO DATABASE

    <a href=\"javascript:history.go(-1)\">CLICCA QUI PER TORNARE INDIETRO E RICHIEDERE LA LOGIN PER ENTRATA</a></center>";;
    }
    ?>

    </TABLE>

    poi dopo ci sono altri codici per la cancellazione dei file e la visine. io li posto così hai tutto:

    file_cancella.php
    <?
    session_register("nome");
    session_register("directory");
    ?>

    <table width="100%" border="1">
    <tr bgcolor="#CCCCCC">
    <td width="20%"> <div align="center"><font color="#FFFFFF">UTENTE: <? print("$nome"); ?> </font></div></td>
    <td width="18%"> <div align="center"><font color="#FFFFFF"><a href="visiona_file.php">VISIONA
    FILE</a>
    </font></div></td>
    <td width="18%"> <div align="center"><font color="#FFFFFF">ELIMINA
    FILE
    </font></div></td>
    <td width="17%"> <div align="center"><font color="#FFFFFF">LOGOUT</font></div></td>
    <td width="11%"> <div align="center"><font color="#FFFFFF">FAQ</font></div></td>
    <td width="16%"> <div align="center"><font color="#FFFFFF">SCRIVICI</font></div></td>
    </tr>
    </table>



    <table border="8" windth=40% align="center" border="3">
    <tr><th>Fai Clic sul link per eliminare i Files</th></tr>
    <?
    # delete_file.php
    # elenco dei contenuti di una cartella con link
    $direct=("$directory");
    $cartella = opendir("$direct/");
    while ($file = readdir($cartella)) {
    $array_file[] = $file;
    }
    foreach ($array_file as $file) {
    echo "<tr><td><center>";
    if ( $file == ".." || $file == ".") {
    continue;
    }
    $dimensioni_file=filesize("$direct/".$file);
    echo "<a href=\"deleteme.php?file_name=$file&dimensioni_fil e=$dimensioni_file\">$file</a>,
    ";
    echo "</tr></td></center>";
    }
    ?>

    </TABLE>

    visiona_file.php
    <?
    session_register("nome");
    session_register("directory");
    ?>

    <table width="100%" border="1">
    <tr bgcolor="#CCCCCC">
    <td width="20%"> <div align="center"><font color="#FFFFFF">UTENTE: <? print("$nome"); ?> </font></div></td>
    <td width="18%"> <div align="center"><font color="#FFFFFF">VISIONA
    FILE
    </font></div></td>
    <td width="18%"> <div align="center"><font color="#FFFFFF"><a href="file_cancella.php">ELIMINA
    FILE</a>
    </font></div></td>
    <td width="17%"> <div align="center"><font color="#FFFFFF">LOGOUT</font></div></td>
    <td width="11%"> <div align="center"><font color="#FFFFFF">FAQ</font></div></td>
    <td width="16%"> <div align="center"><font color="#FFFFFF">SCRIVICI</font></div></td>
    </tr>
    </table>



    <table border="8" windth=40% align="center" border="3">
    <tr><th>Elenco dei Files nel Server di <? print("$nome"); ?></th></tr>
    <?
    # delete_file.php
    # elenco dei contenuti di una cartella con link
    $direct=("$directory");
    $cartella = opendir("$direct/");
    while ($file = readdir($cartella)) {
    $array_file[] = $file;
    }
    foreach ($array_file as $file) {
    echo "<tr><td><center>";
    if ( $file == ".." || $file == ".") {
    continue;
    }
    $dimensioni_file=filesize("$direct/".$file);
    echo "<a href=\"deleteme.php?file_name=$file&dimensioni_fil e=$dimensioni_file\">$file</a>,
    ";
    echo "</tr></td></center>";
    }
    ?>

    </TABLE>


    file che cancella il file selezionato deleteme.php
    <?php
    session_register("nome");
    session_register("directory");

    # deleteme.php
    print("$nome_file
    ");
    $nome_file="$directory/$file_name";
    if (!file_exists($nome_file)) {
    echo "Spiacente, non posso trovare il file $nome_file";
    echo "
    <FONT SIZE=2 FACE='verdana'>Clicca qui per tornare al menù principale</FONT></BODY></HTML>";

    } else {

    if (!unlink($nome_file)) {
    echo "$PHP_SELF: Errore, impossibile cancellare il file $nome_file";
    echo "
    Controllalo!";
    echo "
    <FONT SIZE=2 FACE='verdana'>Clicca qui per tornare al menù principale</FONT></BODY></HTML>";

    } else {

    echo "Il file $nome_file è stato cancellato";
    echo "
    <FONT SIZE=2 FACE='verdana'>Clicca qui per tornare al menù principale</FONT></BODY></HTML>";

    }
    }

    ?>

    ecoo qui è tutto.
    grazie tanto
    DANIELE MASSACESI
    Progettazione Siti Web - Programmazione Siti in HTML - PHP
    CSS - Analisi e sviluppo piani marketing
    Ottimizzazione - analisi parole chiave
    EMAIL: massacesi@gmail.com

  6. #6
    Ma perchè ci sono tutti quei commenti nel codice? Tipo // print($var) ecc.?
    Qual è il file che mostra le cartelle?

  7. #7
    i commenti ci sono perchè sto facendo prove tutto qui.
    il file che fa vedere le cartelle uno è visiona_file.php e poi come l'utente entra dentro il file entra.php si vedono i file nella cartella dell'utente.
    DANIELE MASSACESI
    Progettazione Siti Web - Programmazione Siti in HTML - PHP
    CSS - Analisi e sviluppo piani marketing
    Ottimizzazione - analisi parole chiave
    EMAIL: massacesi@gmail.com

  8. #8
    Quindi il problema dovrebbe essere in visiona_file.php.
    Perchè usi session register('nome')? In questo modo modifichi la variabile con il nome dell'utente che sta navigando.

  9. #9
    Onestamente in questo codice non ci capisco niente! Partiamo dal fatto che ci sono moltissimi tag che non andrebbero usati o potrebbero essere sostituiti.

    Diciamo che sarà molto più facile se ti spiego come devi fare.

    1) AUTENTICAZIONE
    L'utente apre la pagina di default che controlla se l'utente è loggato (magari con una variabile del tipo $_SESSION['logged'] = 0 // non loggato).
    Se non è loggato mostra un messaggio che lo informa di ciò e gli presenta il form per il log-in.

    2) LOG-IN
    Questa pagina fa le seguenti operazioni:
    2.1 controlla che i valori immessi corrispondano a quelli inseriti nel db (in pratica fai una query e selezioni la riga dove user = $_POST['user'] e psw = $_POST['psw']; fai un mysql_num_rows e se il risultato == 1 allora l'utente può loggarsi)

    2.3 Una volta loggato setti le variabili:
    $_SESSION['user'] = $user;
    $_SESSION['logged'] = 1;
    e tutte le altre variabili che ti servono

    3) ACCESSO ALLA PAGINA PERSONALE
    3.1 Controlla che l'utente sia loggato

    codice:
    if (isset($_SESSION['logged'] && $_SESSION['logged'] == 1)
      {
         gli mostri il contenuto della pagina
      }
    else
      {
         gli mostri un messaggio dove gli dici di loggarsi
      }
    Per il resto dovresti essere in grado di andare avanti come stai facendo. Cmq non usare session_register() ma memorizza direttamente nell'array $_SESSION[].

    Ricordati di inserire all'inizio di ogni pagina session_start();

  10. #10
    ok grazie mille ora mi metto a lavoro
    DANIELE MASSACESI
    Progettazione Siti Web - Programmazione Siti in HTML - PHP
    CSS - Analisi e sviluppo piani marketing
    Ottimizzazione - analisi parole chiave
    EMAIL: massacesi@gmail.com

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.