Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    54

    Passaggio variabile tramite session

    ciao a tutti ho un problema.
    ho creato la pagine check.php ed ora sto provando con SESSION a portare nell'altra pagina i dati ricevuti.
    Vi posto parte del codice che ovviamente a me non va
    Pagina check.php
    <?php
    session_start();
    $attivitafiat= $num_righe;
    $_SESSION['varname'] = $attivitafiat;
    ?>
    <html>
    <head>
    <link rel="stylesheet" href="ui.css">
    <script src="jq.js"></script>
    <script src="jquery-ui.js"></script>
    <script src="it.js"></script>


    </head>
    <form method="post" action="check.php">
    <input type="text" id="testo" name="testo" /><br />
    <input type="submit" value="CERCA" />
    </form>
    <div align = "center">
    <?php
    require_once("dbcontroller.php");
    $db_handle = new DBController();
    $data =$_POST['testo'];
    $query = "SELECT * FROM fiatWHERE data = '$data'";
    $risultato = mysql_query($query);
    $num_righe = mysql_num_rows($risultato);
    if ($num_righe <= 0){
    }
    else{
    echo " ".$num_righe." <br>";
    }


    ?>
    </div>
    Pagina giornaliera.php
    <?php
    session_start();
    $attivitafiat= $_SESSION['varname'];
    ?>
    <div>
    <label style="padding-top:20px;">Numero Auto Fiat vendute in data/label>
    <span id="fiat-info" class="info"></span><br/>
    <input type="text" STYLE=" background-color: #dc143c; color: #FFFFFF;" name="fiat"
    id="denunciate" class="demoInputBox" value="<?php echo $attivitafiat; ?>">
    </div>
    Ovviamente non fuzniona

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Intanto specifica "non funziona".
    Da errore?

    Poi un po' di osservazioni:
    - nel primo file, il $num_righe subito dopo session_start() da dove arriva? Se arriva dal form e fai affidamento su register_globals, assicurati che davvero la direttiva sia abilitata, altrimenti sarà sempre vuota quella variabile. Nel primo file, dopo session_start(), metti un "echo $num_righe" e vedi se stampa qualcosa, se non stampa niente devi usare $_POST['num_righe'] invece di $num_righe

    - $attivitafiat= $num_righe; non ha senso, che te ne fai di 2 variabili con lo stesso valore? Usane solo una.

    - questo pezzo di codice
    if ($num_righe <= 0){
    }
    else{
    echo " ".$num_righe." <br>";
    }

    sostituiscilo con

    if ($num_righe > 0) { echo " ".$num_righe." <br>"; }

    così eviti uno statement vuoto

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    54
    Grazie per la risposta.
    Allora non funziona significa che il numero totale della query della prima pagina (check.php) non viene riportato nel campo input della seconda pagina (giornaliera.php)
    Ho provato a mettere echo sotto sessione_start ma non non mi restituisce nessun dato.

    $num_righe viene da :
    $query = "SELECT * FROM fiat WHERE data = '$data'";
    $risultato = mysql_query($query);
    $num_righe = mysql_num_rows($risultato);

    Se faccio la prova tutto nella stessa pagina il sistema funziona, nel senso che
    <?phpsession_start();
    $_SESSION['varname'] = $num_righe;
    ?>
    <html>
    <head>
    <link rel="stylesheet" href="ui.css">
    <script src="jq.js"></script>
    <script src="jquery-ui.js"></script>
    <script src="it.js"></script>
    <script>
    $(function() {
    $( "#testo" ).datepicker({ dateFormat: 'yy-mm-dd' });
    });
    </script>
    </head>
    <form method="post" action="check.php">
    <input type="text" id="testo" name="testo" /><br />
    <input type="submit" value="CERCA" />
    </form>
    <div align = "center">
    <?php
    require_once("dbcontroller.php");
    $db_handle = new DBController();
    $data =$_POST['testo'];
    $converted = date("d/m/Y", strtotime($data));
    $query = "SELECT * FROM fiat WHERE data = '$data'";
    $risultato = mysql_query($query);
    $num_righe = mysql_num_rows($risultato);
    if ($num_righe > 0) { echo " Fiat vendute in data odierna n°".$num_righe." <br>"; }
    session_destroy();
    ?>
    </div>
    <label style="padding-top:20px;">Fiat vendute in data odierna n°</label>
    <span id="fiat-info" class="info"></span><br/>
    <input type="text" STYLE=" background-color: #dc143c; color: #FFFFFF;" name="fiat"
    id="fiat" class="demoInputBox" value="<?php echo $num_righe; ?>">
    se scrivo così nel campo input mi restituisce il risultato di num_righe
    Ultima modifica di lelemkop; 17-05-2016 a 18:28

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quote Originariamente inviata da lelemkop Visualizza il messaggio
    ..
    Ho provato a mettere echo sotto sessione_start ma non non mi restituisce nessun dato.
    ...
    Nella prima pagina?
    In tal caso vale quello che ti ho detto, stai cercando di recuperare i dati del form usando register_globals, ma la direttiva non è abilitata.
    Per recuperare i dati del form devi usare $_POST['nome_campo_input']

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.