Visualizzazione dei risultati da 1 a 5 su 5

Discussione: serialize e grafici

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132

    serialize e grafici

    Ciao a tutti,
    ho una pagina php con due combo per data e filto e un bottone.
    cliccando il bottone devo passare i valori dei 2 combo ad un file php che crea il grafico.
    Uso libreria phpgraphlib e funziona bene se non provo a passargli dati.
    Per passare i dati uso "serialize" ma il file grafico va in errore

    index.php
    codice:
    // pulsante + combo
    form action="index.php" method="POST" >
      <!-- <form action="grafici2.php" method="POST" >-->
      <script>DateInput('orderdate', true, 'YYYY-MM-DD')</script>
      <select id="SPECIE" name="COMBO">
      <?php
      for($i=0;$i<$numCampo1;$i++) {
        // riempo combo
      }
      ?> 
      </select> 
      <input type="submit" name="bottone2" value="AVVIA RICERCA">
    </form>
    
    <?php
        // TODO pulsante
        if (isset($_POST['bottone2'])){
           $vettore[0]=$_POST["COMBO"];         
           $vettore[1]=$_POST["orderdate"];
    
    ?>
    <img src="testGrafici1.php" method="post" 
                 type="hidden" name="vettore" value='<?php print(serialize($vettore)); ?>'>
    <?php
          }
    ?>

    testGrafici1.php
    codice:
    <?php
       include('phpgraphlib.php');
    
       $vettore = unserialize($_POST['vettore']);
       $graph = new PHPGraphLib(500,350);
    // eseguo query su db con valori di $vettore
    //per prova uso valori di defoult
            $data = array(12124, 5535, 43373, 22223, 90432, 23332, 15544, 24523,
            32778, 38878, 28787, 33243, 34832, 32302);
            $graph->addData($data);
            $graph->setTitle('Widgets Produced');
            $graph->setGradient('red', 'maroon');
            $graph->createGraph();
    ?>

    va in errore se aggiungo in "testGrafici1.php" la riga "$vettore = unserialize($_POST['vettore']);"

    Qualche suggerimanto ?
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Codice PHP:
    <img src="testGrafici1.php" method="post" 
                 type="hidden" name="vettore" value='<?php print(serialize($vettore)); ?>'>
    E' un errore di copia&incolla, oppure hai proprio scritto così ?
    Così non ha alcun senso ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    Ciao, grazie per l'interesse, in realtà le stò provando tutte, e non sono molto esperto di html e php.
    Provo a essere più preciso.

    Riesco a passare 1 array ad un'altra pagina con questo codice :

    PAG 1
    codice:
       <?php
            $vettore= Array ( 'A', 'B', 'C','E' );
            ?>
       <form name="form" method="post" action="testSerialize.php">
            <input type="hidden" name="vettore" value='<?php print(serialize($vettore)); ?>'>
            <input type="submit" name="Submit" value="Invia">
       </form>
    PAG 2
    codice:
    $vettore1 = unserialize($_POST['vettore']);
    echo $vettore1[0] . ' ';
    ... etc.


    Però :
    1) non voglio cambiare pagina, il grafico va inserito come sotto
    codice:
    <img src="nome.php" alt="grafici" />
    2) devo prima leggere le combo per popolare l'array
    codice:
    if (isset($_POST['bottone1'])){
        // assegno all'array i valori selezionati nelle combo
        // ora per prova ho assegnato valori
        $vettore= Array ( "A" => 5, "B" => 10, "C" => 15 );
    ....
    Non riesco cioè a inviare l'array dall'interno del codice php qui sopra
    "if (isset($_POST['bottone1'])){... etc."

    Ho provato così :

    pagina index.php
    codice:
    <form action="index.php" method="POST" >
          // codice per creare combo
         // il pulsante deve puntare alla pagina stessa (index.php)
    <input type="submit" name="bottone1" value="bottone1">
    </form>
    
    <?php
           
    if (isset($_POST['bottone1'])){
        $vettore= Array ( "A" => 5, "B" => 10, "C" => 15 );
        $prova=urlencode(serialize($vettore));
        echo " <img src=testGrafici1.php valore=$prova value=testGrafici1>";
    }
    ?>
    pagina testGrafici1.php
    codice:
    <?php
    include('phpgraphlib.php');
    if (isset($_GET['valore'])){    
         $pippo = $_GET['valore'];
         $data = unserialize(urldecode($pippo));
     }
    else {
         $data=Array ( "U" => 15, "V" => 10, "Z" => 5);
    }
         $graph = new PHPGraphLib(500,350);
         $graph->addData($data);
         $graph->setTitle('Widgets Produced');
         $graph->setGradient('red', 'maroon');
         $graph->createGraph();
    ?>
    Ma il vettore non passa ancora.

    Grazie.

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Il tag img non ha nessun attributo value

    http://www.w3schools.com/tags/tag_img.asp

    passalo cosi:

    Codice PHP:

    if (isset($_POST['bottone1'])){ 
        
    $vettore= Array ( "A" => 5"B" => 10"C" => 15 ); 
        
    $prova=urlencode(serialize($vettore)); 
        echo 
    '<img src="testGrafici1.php?valore='.$prova.'" />'

    poi in testGrafici1.php lo riprendi con $_GET['valore']

    oppure, se non vuoi cambiare pagina, usa ajax
    Ultima modifica di boots; 08-11-2013 a 22:15

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    Mitico, funziona !!

    molte grazie

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.