Visualizzazione dei risultati da 1 a 6 su 6

Discussione: problema sessione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    problema sessione

    Grazie a tutti anticipatamente.
    Ho una pagina che si auto richiama con una sessione,posto il codice:
    if(!empty($HTTP_POST_VARS["submit"]))
    {
    if(empty($_SESSION["Tipo"]))
    {
    session_start();

    $_SESSION["Tipo"]=$HTTP_POST_VARS["submit"];

    echo($Tipo);
    }
    }
    else
    {
    session_start();
    $Tipo=$_SESSION["Tipo"];


    echo($Tipo);

    }
    in $HTTP_POST_VARS["submit"] c'è il valore passato dalla pagina precedente.
    Vorrei mettere in sessione solo la prima volta il valore($HTTP_POST_VARS["submit"])e mantenerlo tutte le volte che ricarico la pagina.
    Questo codice funziona,il problema è che se faccio il back della pagina dal browser mi da errore: "impossibile visualizzare la pagina perchè?.
    Ciao.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    se faccio cosi':


    if(!session_is_registered('Tipo') && !empty($HTTP_POST_VARS["submit"]) )
    {
    session_start();

    $_SESSION["Tipo"]=$Tipo;
    $Tipo=$HTTP_POST_VARS["submit"];
    echo($Tipo);
    }
    mi da il seguente errore che non riesco a capire:
    Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

    cosa puo' essere?

  3. #3
    semplice session_is_registered non lo puoi usare se register global è disabilitato.

    per quanto riguarda il resto su tutte le pagine dove vuoi che ci siano le sessioni attive devi mettere sopra a tutto session start();
    e poi richiami le sessioni con $_SESSION[nome];

    ti dovrebbe funzionare anche il back.
    se ho capito male spiega meglio che vedo di darti una mano.

    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    grazie per l'interessamento Massimo80,solo che mi da lo stesso messaggio di errore anche con:
    session_start();

    if(!empty($HTTP_POST_VARS["submit"]))
    {
    $_SESSION['Tipo']=$Tipo;
    $Tipo=$HTTP_POST_VARS["submit"];

    }
    echo($_SESSION['Tipo']);

    cos'è questo register global?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    pardon, sarà la pasta ma ti ho postato il codice sbagliato,il codice giusto è questo
    session_start();

    if(!empty($HTTP_POST_VARS["submit"]))
    {
    $_SESSION['Tipo']=$HTTP_POST_VARS["submit"];
    echo($_SESSION['Tipo']);
    }
    funziona tutto ma non il back!!!
    la pagina precedente è questa:
    <HTML>
    <HEAD>
    <BODY>


    <form name=salva method="POST" action="principale.php" >
    <input type=submit size=40 id="submit" name="submit" value="Articoli") >
    <input type=submit size=40 id="submit" name="submit" value="Biografie") >
    <input type=submit size=40 id="submit" name="submit" value="Interviste") >
    <input type=submit size=40 id="submit" name="submit" value="News") >
    <input type=submit size=40 id="submit" name="submit" value="Recensioni") >


    </BODY>
    </HEAD>
    </HTML>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    scusate il disturbo ma voglio essere piu chiaro, ho ripulito il codice e ve lo posto se per caso siete in grado di aiutarmi.

    <?php

    session_start();

    if(!empty($HTTP_POST_VARS["submit"]))
    {

    $_SESSION['Tipo']=$HTTP_POST_VARS["submit"];
    echo("xxxx".$_SESSION['Tipo']);
    }

    $lettere=array("<<","A","B","C","D","E","F","G","H ","I","J","K","L","M","N","O","P","Q","R","S","T", "U","V","W","X","Y","Z",">>");

    /*scorro le lettere dell'array e creo delle querystring,è un menu di navigazione alfabetico, penso che il problema sia qui,infatti quando testo sul localhost nella barra degli indirizzi cliccando una lettera cambio indirizzo(es principale.php?indicelettera=2),posso navigare questi indirizzi diversi ma quando arrivo all'inizio(percorso file senza querystring es principale.php)mi da il famigerato errore "impossibile visualizzare la pagina*/
    foreach($lettere as $lettera)
    {
    echo(" ".$lettera."");
    }
    ?>
    <form name="checkboxform" method="Post">


    <input type="submit" value="Nuovo" onclick="this.form.action='bbcode.php' ; this.form.submit();" />
    <input type="submit" value="Cancella Selezionati" onclick="this.form.action='cancellazione.php'; this.form.submit();" />
    <input type=button value="Seleziona Tutto" onClick="this.value=check(this.form.chklist)">
    .
    .
    .

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.