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

    Variabile di sessione non accettata in funzione

    Ciao a tutti,
    ho questa difficoltà... registro una sessione in questo modo
    Codice PHP:
    $sessionclass -> register("operante"$res['operante']); 
    successivamente ho una pagina del genere
    Codice PHP:
    if(isset($_GET['pag'])){    

    if(
    file_exists("pag/".$_GET['pag'].".html"))
    {
    echo 
    "-->"$operante;
    include 
    "pag/".$_GET['pag'].".html";
    }
    else{ echo 
    "<h3 style='color: #0000FF;'>PAGINA NON TROVATA!</h3";}

    }else{

    include 
    "homepage.php";


    DOPO IL SEGNALE --> inizia una pagina in cui includo diverse funzioni.
    Bene, come mai la variabile si sessione OPERANTE viene vista sia prima che dopo ma non all'interno di una funzione scritta in questo modo?

    Codice PHP:
        function response(){
            global $mysqlc;
            if(isset($_POST['send']) && $_POST['send']){

                $mysqlc->query("UPDATE tab1 SET .......
                return;

            }

            

    ?>


    <form action="" method="post">



    .....................
            <div style="left: 15px; text-align: left; height: 300px;">



            <input type="text" name="idutente" value="<?php echo $operante?>" />

            <input type="hidden" name="send" value="1" />

            <input type="submit" value="Invia Risposta" class="formbutton" />

        </div>

    </form>

    <?php

        
    }
    grazie
    ---------------------------
    danielix05

  2. #2

  3. #3

    operante arriva...

    ciao Filippo,
    operante lo inizializzo in questo modo
    codice:
    $sessionclass -> register("operante", $res['operante']);
    e viene passato ad una funzione che è questa
    Codice PHP:
       # registra la variabili di sessione specificata nel database
       
    function register($name$value) {
       
           global 
    $mysqlc;
       
          
    $_session = array();
          
    $mysqlc->query("SELECT sess_var FROM sessions WHERE id = '{$this->sessionid}'");
          if(
    mysql_num_rows($mysqlc->result) > 0) {
             
    $result mysql_fetch_array($mysqlc->result);
             
    $_session unserialize($result['sess_var']);
             
    $_session[$name] = $value;
             
    $mysqlc->query("UPDATE sessions SET sess_var = '" serialize($_session) . "' WHERE id = '{$this->sessionid}'");
          } else {
             
    $_session[$name] = $value;
             
    $mysqlc->query("UPDATE sessions SET sess_var = '" serialize($_session) . "' WHERE id = '{$this->sessionid}'");
          }
           
    $GLOBALS[$name] = $this->read($name);
       } 
    nel db troverò il campo sess_var popolato in questo modo
    codice:
    a:2:{s:5:"d3diyy12";i:1;s:9:"operante";s:8:"danielix";}
    ---------------------------
    danielix05

  4. #4
    E se invece di $operante provi ad utilizzare
    Codice PHP:
    $GLOBALS["operante"
    oppure
    Codice PHP:
    $_session["operante"
    ?


    Sinceramente non capisco dove inizializzi il valore della variabile $operante.

    Ma se dici che un valore lo prende perché non provi a fare, nella funzione dove non ne vedi il valore:
    Codice PHP:
    global $operante
    Proprio come fai per $mysqlc?

  5. #5

    grazie

    funziona... dovrò ripassarmi la teoria
    ---------------------------
    danielix05

  6. #6
    Studiati bene lo "scope" delle variabili.

    E fai tanta pratica col codice, che impari molto

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.