Visualizzazione risultati 1 fino 9 di 9

Discussione: caduta della sessione

  1. #1
    Guest

    Predefinito caduta della sessione

    salve , ho messo il PHPSESSID su tutte le pagine del mio sito , solo che ho un problema , si parte dalla index.php che ha un form
    Codice PHP:
    <?php if(empty($_SESSION['name'])){ ?>
    <HTML>
    <HEAD>
    <TITLE>index</TITLE>
    </HEAD>
    <BODY><form action="homepage.php?<?php session_start(); echo SID; ?>"method="POST">
    Inserire un nome <input type="text"name="name">
    <input type="submit"value="Entra"><br><div align="center">lavori in corso <img src="/upload/sorrisone.gif">

    </BODY>
    </HTML>
    <?php }else{
    session_start();
    Header("Location: homepage.php?PHPSESSID=".session_id());
    }
    ?>
    che manda alla homepage.php solo se l'utente mette un nome , poi nella homepage.php sono presenti altri link del tipo upload_file.php?PHPSESSID=ecc , il probleema e che quando tento di riaccedere alla homepage.php , mi rimanda alla index.php e mi fa rimettere il nome , come posso risolvere questo problema ?

  2. #2
    Guest

    Predefinito

    Non ti serve inserire la sessione negli URL, quello avviene in automatico se il salvataggio della sessione dell'utente non è abilitata sul server (e qui è abilitata).
    Per rendere attive le sessioni devi scrivere session_start()M in ogni pagina in cui devi usarle e posizionarla prima di ogni altra cosa.


    Ciao!

  3. #3
    Guest

    Predefinito

    messa ma continua a cadere sempre sulla homepage , tranne se la aggiorno , ma se tento di accedere da upload.php alla homepage.php cade

  4. #4
    Guest

    Predefinito

    Posta un esempio delle due pagine e descrivi l'iter che segui per interagire con esse.


    Ciao!

  5. #5
    Guest

    Predefinito

    questa è la homepage.php
    Codice PHP:
    <? session_start(); ?>
    <HTML>
    <HEAD>
    <TITLE>homepage</TITLE>
    </HEAD><style type="text/css" media="all">
    body {
    background-color: black;
    font-family: Comic sans ms, Arial, Helvetica, sans-serif;
    font-size: 20px;
    color: #FF0000;
    margin: 5;
    padding: 0;}
    a {color: yellow;}
    .titolo {font-size: 24px;
    color:red ;
    font-weight: bold;
    line-height: 1.25em;}
    .link {font-size: 14px;
    color: yellow;
    font-weight: bold;
    line-height: 1.25em;}
    </style>
    <BODY><?php
    session_start
    ();
    "?PHPSESSID=".session_id();
    $name = htmlspecialchars($_POST['name']);
    if(
    $name != ""){
    $_SESSION['name'] = $name;}
    else {
    echo (
    'Attenzione dovete inserire un nome valido<br/>');
    echo(
    '<a href="index.php">Indietro</a>');
    exit();}
    ?>
    <?php
    $path
    = "upload/";

    if (
    $handle = opendir($path)) {
    while (
    false !== ($file = readdir($handle))) {
    if (
    $file != "." && $file != "..") {
    $file = $path.'../upload/'.$file;
    if (
    is_file($file)) @$n_file++;
    //if(is_dir($file)) @$n_dir++;
    }
    }
    closedir($handle);
    }
    ?>

    <div align="center"><div class="titolo">*HOME*</div><br><font color="green"><?php echo (date("d/m/Y G:i")); ?></font><br><hr>[<a href="homepage.php<?php session_start(); echo "?PHPSESSID=".session_id(); ?>">Aggiorna</a>]
    [<a href="upload_file.php<?php session_start(); echo "?PHPSESSID=".session_id(); ?>">Upload</a>] [<a href="visualizza_file.php<?php session_start(); echo "?PHPSESSID=".session_id(); ?>">Visualizza i file</a>&nbsp;(<?=$n_file?>)]</hr></div>
    </BODY>
    </HTML>
    le seguente visualizza_file.php
    Codice PHP:
    <? session_start(); ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <HTML>
    <HEAD><meta http-equiv="Content-Language" content="it">
    <TITLE>file_uploadati</TITLE>
    </HEAD><style type="text/css" media="all">
    body {
    background-color: black;
    font-family: Comic sans ms, Arial, Helvetica, sans-serif;
    font-size: 20px;
    color: #FF0000;
    margin: 5;
    padding: 0;}
    a {color: yellow;}
    .titolo {font-size: 24px;
    color: red;
    font-weight: bold;
    line-height: 1.25em;}
    .testo {font-size: 14px;
    color: yellow;
    font-weight: bold;
    line-height: 1.25em;}
    </style>
    <BODY>
    <? php

    $path
    = "upload/";

    if (
    $handle = opendir($path)) {
    while (
    false !== ($file = readdir($handle))) {
    if (
    $file != "." && $file != "..") {
    $file = $path.'../upload/'.$file;
    if(
    is_file($file)) @$n_file++;
    //if(is_dir($file)) @$n_dir++;
    }
    }
    closedir($handle);
    }

    ?>


    <div align="center"><hr><div class="titolo">*FILE PRESENTI (<?=$n_file?>)*</div><br><font color="green"><?php echo (date("d/m/Y G:i")); ?></font></hr><br><hr>[<a href="visualizza_file.php<?php session_start(); echo "?PHPSESSID=".session_id(); ?>">Aggiorna</a>] [<a href="upload_file.php<?php session_start(); echo "?PHPSESSID=".session_id(); ?>">Carica File</a>] [<a href="homepage.php<?php session_start(); echo "?PHPSESSID=".session_id(); ?>">Homepage</a>] </hr><br><hr>

    <?php

    $path
    = "../../upload/";

    $cartella = opendir('upload/');
    while (
    $file = readdir($cartella)) {
    $file_array[] = $file;
    }

    foreach (
    $file_array as $file) {
    # se il file inizia con .. lo tralascio
    if ( $file == ".." || $file == ".") {
    continue;
    }
    #trovo i file e creo il link
    $e=substr(strrchr($file, "."), 0); // rimuovo l'estensione
    $a="";
    $b=" ";
    $nome1=ereg_replace($e, $a, $file);
    $nome=ereg_replace("_", "$b", $nome1);


    echo
    "<font color=\"red\"><a href=\"upload/$file\" title=\"$nome\" class=\"link1\">$nome</a></font><br>";
    //questo crea il link

    }
    ?>
    </hr>
    </BODY>
    </HTML>
    se vado dalla homepage al visualizza file.php funziona , se vado dal visualizza alla homepage non funziona

  6. #6
    Guest

    Predefinito

    Ma guarda che session_start lo devi scrivere una sola volta per pagina.
    Nei file, se non sbaglio, non fai nessun uso dell'array superglobale $_SESSION, quindi non capisco come fai a dire se funziona o non funziona...

    Consiglio: fai due script più semplici per testare questi funzionamenti.


    Ciao!

  7. #7
    Guest

    Predefinito

    quindi $_SESSION la elimino o la sostituisco ?

  8. #8
    Guest

    Predefinito

    $_SESSION non c'è!!
    Quello che è inutile sono gli url con ?PHPSESSID=...


    Ciao!

  9. #9
    Guest

    Predefinito

    ho fatto come mi hai detto , con delle pagine più facili , ma il problema persiste , ora ti posto tutte e 4 le pagine INDEX
    Codice PHP:
    <HTML>
    <HEAD>
    <TITLE>prova</TITLE>
    </HEAD>
    <BODY><?php if(empty($nome['name'])){ ?>
    <HTML>
    <HEAD>
    <TITLE>index</TITLE>
    </HEAD>
    <BODY><form action="homepagewap.php?<?php session_start(); echo SID; ?>"method="POST">
    Inserire un nome <input type="text"name="name">
    <input type="submit"value="Entra"><br><div align="center">lavori in corso <img src="/upload/sorrisone.gif">

    </BODY>
    </HTML>
    <?php }else{
    session_start();
    Header("Location: homepagewap.php?PHPSESSID=".session_id());
    }
    ?>
    </BODY>
    </HTML>
    HOMEPAGE
    Codice PHP:
    <HTML>
    <HEAD>
    <TITLE>prova</TITLE>
    </HEAD>
    <BODY><?php
    session_start
    ();
    $name = htmlspecialchars($_POST['name']);
    if(
    $name != ""){
    $nome['name'] = $name;}
    else {
    echo (
    'Attenzione dovete inserire un nome valido<br/>');
    echo(
    '<a href="indexwap.php">Indietro</a>');
    exit();}

    ?><a href="upload.php">upload</a><br><a href="visualizza.php">visualizza</a>
    </BODY>
    </HTML>
    UPLOAD
    Codice PHP:
    <HTML>
    <HEAD>
    <TITLE>upload</TITLE>
    </HEAD>
    <BODY><? session_start(); ?><br><a href="homepagewap.php">home</a><br><a href="visualizza.php">visualizza</a><a href="upload.php">aggiorna</a>
    </BODY>
    </HTML>
    VISUALIZZA
    Codice PHP:
    <HTML>
    <HEAD>
    <TITLE>visualizza</TITLE>
    </HEAD>
    <BODY><? session_start(); ?><br><a href="homepagewap.php">home</a><br><a href="upload.php">upload</a><br><a href="visualizza.php">aggiorna</a>
    </BODY>
    </HTML>
    tra loro va tutto bene , il problema e che cade sempre quando si torna alla homepage

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •