Visualizzazione dei risultati da 1 a 9 su 9

Discussione: problemi con $_SESSION

  1. #1

    problemi con $_SESSION

    cercherò di essere + chiaro possibile

    questa è una funzione che affettua una ricerca su un database mysql, nn in maniera diretta ma richiama altre funzioni (funziona a livelli)

    Codice PHP:
    /**
        * procSearchOffer
        */
       
    function procSearchOffer(){
           global 
    $session$form;
        
           
    //controllo esistenza valori facoltativi
           
    if(!isset($_POST['risorsa_1_quanto_min'])){
               
    $risorsa_1_quanto_min NULL;
           }
           else
           {
               
    $risorsa_1_quanto_min $_POST['risorsa_1_quanto_min'];
           }

           if(!isset(
    $_POST['risorsa_1_quanto_max'])){
               
    $risorsa_1_quanto_max NULL;
           }
           else
           {
               
    $risorsa_1_quanto_max $_POST['risorsa_1_quanto_max'];
           }

           if(!isset(
    $_POST['risorsa_2'])){
               
    $risorsa_2 NULL;
           }
           else
           {
               
    $risorsa_2 $_POST['risorsa_2'];
           }

           if(!isset(
    $_POST['distanza'])){
               
    $distanza NULL;
           }
           else
           {
               
    $distanza $_POST['distanza'];
           }
              
    //fine controllo valori
           
           /* Search Offer attempt */
          
    $result $session->searchOffer($_POST['tipo'], $_POST['risorsa_1'], $risorsa_1_quanto_min$risorsa_1_quanto_max$risorsa_2$_POST['partenza'], $distanza);
        
          
    /* Search Offer error form */
          
    if($result == 1){
             
    $_SESSION['value_array'] = $_POST;
             
    $_SESSION['error_array'] = $form->getErrorArray();
             
    header("Location: ".$session->referrer);
          }
          
    /* Search Offer failed o nessun risultato */
          
    else if($result == 2){
             
    $_SESSION['searchoffer'] = false;
             
    header("Location: ".$session->referrer);
          }
          else {
             
    $_SESSION['searchoffer'] = true;
             
    $_SESSION['result'] = $result;
             
             
    header("Location: ".$session->referrer);
          }
       } 
    aggiungo per chiarezza che $result nel caso la query viene effettuata con successo contiene i risultati non elaborati ma direttamente il risultato dato da mysql_query(query, connessione)

    fin qui funziona tutto perfettamente, ho provato a visualizare il contenuto di $result e di $_SESSION['result'] tramite le apposite funzioni

    Codice PHP:
    $offerarray mysql_fetch_array($result);
    echo 
    $offerarray['xxx'];
    echo 
    $offerarray['yyy'];
    echo 
    $offerarray['zzz']; 
    e le stampe sono corrette.


    ora viene il problema...

    Codice PHP:
    <?

    /**
     * searchoffer.php
     *
     * Ogame Commercial Center (OCC)
     * Written by: Crazy Scientist
     *
     */

    include("include/session.php");

    // controllo accesso non autorizzato

    if($session->logged_in)
    {

    include(
    "include/header_footer.php");
    include(
    "include/menu.php");

    // header
    headerr();

    //menu
    menu();

    if(isset(
    $_SESSION['searchoffer']))
    {
      if(
    $_SESSION['searchoffer'])
      {

                echo (
    "
            <div id=\"content\">
            <table width=\"600\">
            <tr>
                <td class=\"c\" colspan=\"3\">Risultati Ricerca</td>
            </tr>
            "
    );
            
            
    //recupero primo array
            
    $result $_SESSION['result'];
            
    $offerarray mysql_fetch_array($result);

    [...]
    in poche parole mi dice "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ..."

    provando a visulizzare $_SESSION['result'] o $result tramite un echo diretto vedo un bel "0"...

    praticamente perdo il valore, dove sbaglio, che posso fare ???

    AIUTO

  2. #2
    se non sbaglio dovresti usare un ciclo while per recuperare il valore dell'array, altrimenti come scorri il contenuto?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    16
    leggendo velocemente il codice mi sembra di capire che $result contiene l'ahndle della query;
    se $result contiene un handle di una query ottenuto con mysql_query, probabilemente il problema non è dovuto al fatto che perdi il valore di $result, ma al fatto che da una pagina all'altra l'handle di risorsa non è più valido e devi rieseguire la query ad ogni pagina.

    Ciao
    by MGD

  4. #4
    Originariamente inviato da blur
    se non sbaglio dovresti usare un ciclo while per recuperare il valore dell'array, altrimenti come scorri il contenuto?
    si questo è ovvio

    infatti se noti alla fine c'è [...], il codice è molto + lungo, c'è il ciclo while è il rucuperò del'array successivo, il problema è propio ke mi ritrovo $result uguale a 0 quando nn dovrebbe essere così

  5. #5
    Originariamente inviato da MGD
    leggendo velocemente il codice mi sembra di capire che $result contiene l'ahndle della query;
    se $result contiene un handle di una query ottenuto con mysql_query, probabilemente il problema non è dovuto al fatto che perdi il valore di $result, ma al fatto che da una pagina all'altra l'handle di risorsa non è più valido e devi rieseguire la query ad ogni pagina.

    Ciao
    quindi che dovrei fare ?

    cosa è "l'ahndle della query" ???

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    16
    in pratica

    //recupero primo array
    $result = $_SESSION['result'];
    $offerarray = mysql_fetch_array($result);

    ti dà l'errore perchè la funzione mysql_fetch_array vuole come parametro la risorsa (l'handle)
    ottenuto da mysql_query .

    questo identificatore diventa invalido passando da una pagina all'altra pechè viene chiuso.

    secondo me ti è sufficiente rieseguire la query.

    Ciao
    by MGD

  7. #7
    ok vi posto tutto il codice x chiarezza !

    questo è il "percorso"


    searchoffer.php (tramite <form action=\"process.php\" method=\"POST\">) richiama process.php (che al sui interno elabora i form tramite la funzione procSearchOffer()), di seguito vengono chiamate searchOffer() (in session.php) e infine getOffer() in (database.php), i risultato della query risale tutte le funzioni tramite dei return tranne nell'ultimo passaggio dove vine restituito $result a searchoffer.php tramite una variabile di sessione $_SESSION['result']...

    FUNZIONA TUTTO FINO ALL'ULTIMO PASSAGGIO, come posso fare ?

    p.s.

    fare una query ogni pagina nn ha senso

    database.php

    Codice PHP:
       /**
        * getOffer - Returns the result array from a mysql
        * query. If query fails, NULL is returned.
        */
       
       
    function getOffer($id$offerente$universo$tipo$risorsa_1$ris_1_quanto_min$ris_1_quanto_max$risorsa_2$ris_2_quanto_min$ris_2_quanto_max$partenza$max_dist$durata$stato$acquirente$coordinate){
           
           
    //verifica dati e composizione della query

           
    $c 0// flag       
           
           
    $q "SELECT * FROM ".TBL_MAKE_OFFER." WHERE";

           if(!
    $id == NULL){ $q .= " id = '$id'"$c 1;}

           if(!
    $offerente == NULL && $c == 1){ $q .= " AND offerente = '$offerente'"$c 1;}
               else if(!
    $offerente == NULL){ $q .= " offerente = '$offerente'"$c 1;}

           if(!
    $universo == NULL && $c == 1){ $q .= " AND universo = '$universo'"$c 1;}
               else if(!
    $universo == NULL){ $q .= " universo = '$universo'"$c 1;}


           if(!
    $tipo == NULL && $c == 1){ $q .= " AND tipo = '$tipo'"$c 1;}
               else if(!
    $tipo == NULL){ $q .= " tipo = '$tipo'"$c 1;}


           if(!
    $risorsa_1 == NULL && $c == 1){ $q .= " AND risorsa_1 = '$risorsa_1'"$c 1;}
               else if(!
    $risorsa_1 == NULL){ $q .= " risorsa_1 = '$risorsa_1'"$c 1;}


           if(!
    $ris_1_quanto_min == NULL && $c == 1){ $q .= " AND ris_1_quanto_min = '$ris_1_quanto_min'"$c 1;}
               else if(!
    $ris_1_quanto_min == NULL){ $q .= " ris_1_quanto_min = '$ris_1_quanto_min'"$c 1;}


           if(!
    $ris_1_quanto_max == NULL && $c == 1){ $q .= " AND ris_1_quanto_max = '$ris_1_quanto_max'"$c 1;}
               else if(!
    $ris_1_quanto_max == NULL){ $q .= " ris_1_quanto_max = '$ris_1_quanto_max'"$c 1;}


           if(!
    $risorsa_2 == NULL && $c == 1){ $q .= " AND risorsa_2 = '$risorsa_2'"$c 1;}
               else if(!
    $risorsa_2 == NULL){ $q .= " risorsa_2 = '$risorsa_2'"$c 1;}


           if(!
    $ris_2_quanto_min == NULL && $c == 1){ $q .= " AND ris_2_quanto_min = '$ris_2_quanto_min'"$c 1;}
               else if(!
    $ris_2_quanto_min == NULL){ $q .= " ris_2_quanto_min = '$ris_2_quanto_min'"$c 1;}


           if(!
    $ris_2_quanto_max == NULL && $c == 1){ $q .= " AND ris_2_quanto_max = '$ris_2_quanto_max'"$c 1;}
               else if(!
    $ris_2_quanto_max == NULL){ $q .= " ris_2_quanto_max = '$ris_2_quanto_max'"$c 1;}


           if(!
    $partenza == NULL && $c == 1){ $q .= " AND partenza = '$partenza'"$c 1;}
               else if(!
    $partenza == NULL){ $q .= " partenza = '$partenza'"$c 1;}


           if(!
    $max_dist == NULL && $c == 1){ $q .= " AND max_dist = '$max_dist'"$c 1;}
               else if(!
    $max_dist == NULL){ $q .= " max_dist = '$max_dist'"$c 1;}


           if(!
    $durata == NULL && $c == 1){ $q .= " AND durata = '$durata'"$c 1;}
               else if(!
    $durata == NULL){ $q .= " durata = '$durata'"$c 1;}


           if(!
    $stato == NULL && $c == 1){ $q .= " AND stato = '$stato'"$c 1;}
               else if(!
    $stato == NULL){ $q .= " stato = '$stato'"$c 1;}


           if(!
    $acquirente == NULL && $c == 1){ $q .= " AND acquirente = '$acquirente'"$c 1;}
               else if(!
    $acquirente == NULL){ $q .= " acquirente = '$acquirente'"$c 1;}


           if(!
    $coordinate == NULL && $c == 1){ $q .= " AND coordinate = '$coordinate'"$c 1;}
               else if(!
    $coordinate == NULL){ $q .= " coordinate = '$coordinate'"$c 1;}

           
    $q .= " ORDER BY id DESC";

           
    //fine verifica dati e composizione della query
                  
          
    $result mysql_query($q$this->connection);
          
        
    //controllo errori, scrittura su file error.txt
        
    $scrivi_file fopen('C:\Programmi\EasyPHP1-8\www\occ\report\query.txt','a');
        
    $stringa "result database : $result \n";
        
    fwrite($scrivi_file,$stringa);
        
    fclose($scrivi_file);
        
    // fine controllo errori
            
          /* Error occurred, return NULL */
          
    if(!$result || (mysql_numrows($result) < 1)){
             return 
    NULL;
          }
          
    /* Return result array */
          
    return $result;
       } 
    session.php


    Codice PHP:
       /**
        * searchOffer
        */

       
    function searchOffer($subtipo$subrisorsa_1$subrisorsa_1_quanto_min$subrisorsa_1_quanto_max$subrisorsa_2$subpartenza$submax_dist){
          global 
    $database$session$form;  //The database and form object

          /* risorsa 1 error checking */
          
    if($subrisorsa_2 != NULL){
              
    $field "risorsa_1";  //Use field name for risorsa 1
              
    $field_b "risorsa_2";  //Use field name for risorsa 2
                  
    if($subrisorsa_1 == $subrisorsa_2){
                 
    $form->setError($field"* Il tipo di risorse da Vendere / Comprare e Ricevere / Dare sono uguali");
                     
    $form->setError($field_b"* Il tipo di risorse da Vendere / Comprare e Ricevere / Dare sono uguali");
            }
          }
          
          
    /* risorsa 1 quanto min error checking */
          
    if($subrisorsa_1_quanto_min != NULL){     
              
    $field "risorsa_1_quanto_min";  //Use field name for risorsa 1 quanto min
                  
    if(!is_numeric($subrisorsa_1_quanto_min)){
                     
    $form->setError($field"
    * Valore non valido"
    );
            }
          }

          
    /* risorsa 1 quanto max error checking */
          
    if($subrisorsa_1_quanto_max != NULL){     
              
    $field "risorsa_1_quanto_max";  //Use field name for risorsa 1 quanto max
              
    if(!is_numeric($subrisorsa_1_quanto_max)){
                 
    $form->setError($field"
    * Valore non valido"
    );
        }
          }

          if((
    $subrisorsa_1_quanto_min != NULL) && ($subrisorsa_1_quanto_max != NULL) && (is_numeric($subrisorsa_1_quanto_min))&& (is_numeric($subrisorsa_1_quanto_max))){
        
    $field "risorsa_quanto_err";  //Use field name for risorsa 1 quanto err
        
    if($subrisorsa_1_quanto_min $subrisorsa_1_quanto_max){
                 
    $form->setError($field"* Le unità minime sono maggiori di quelle massime");
        }
          }


          
    /* partenza error checking */
          
    $field "partenza";  //Use field name for partenza
          
    if(!$subpartenza){
             
    $form->setError($field"
    * Galassia di partenza non selezionata"
    );
          }

          
    /* Errors exist, have user correct them */
          
    if($form->num_errors 0){
             return 
    1;  //Errors with form
          
    }
          
    /* No errors, add the new offer to the database */
          
    else{
              
    $result $database->getOffer(NULLNULL$session->universo$subtipo$subrisorsa_1$subrisorsa_1_quanto_min$subrisorsa_1_quanto_max$subrisorsa_2NULLNULL$subpartenza$submax_distNULL'a'NULLNULL);
            
        
    //controllo errori, scrittura su file error.txt
        
    $scrivi_file fopen('C:\Programmi\EasyPHP1-8\www\occ\report\query.txt','a');
        
    $stringa "result session : $result \n";
        
    fwrite($scrivi_file,$stringa);
        
    fclose($scrivi_file);
        
    // fine controllo errori
            
              
    if($result)
              {
                    return 
    $result;  //Search offer succesfully
                  
    }
              else
              {
                    return 
    2;  //Search offer failed
                  
    }
          }

       } 
    process.php
    Codice PHP:
       /**
        * procSearchOffer
        */
       
    function procSearchOffer(){
           global 
    $session$form;
        
           
    //controllo esistenza valori facoltativi
           
    if(!isset($_POST['risorsa_1_quanto_min'])){
               
    $risorsa_1_quanto_min NULL;
           }
           else
           {
               
    $risorsa_1_quanto_min $_POST['risorsa_1_quanto_min'];
           }

           if(!isset(
    $_POST['risorsa_1_quanto_max'])){
               
    $risorsa_1_quanto_max NULL;
           }
           else
           {
               
    $risorsa_1_quanto_max $_POST['risorsa_1_quanto_max'];
           }

           if(!isset(
    $_POST['risorsa_2'])){
               
    $risorsa_2 NULL;
           }
           else
           {
               
    $risorsa_2 $_POST['risorsa_2'];
           }

           if(!isset(
    $_POST['distanza'])){
               
    $distanza NULL;
           }
           else
           {
               
    $distanza $_POST['distanza'];
           }
              
    //fine controllo valori
           
           /* Search Offer attempt */
          
    $result $session->searchOffer($_POST['tipo'], $_POST['risorsa_1'], $risorsa_1_quanto_min$risorsa_1_quanto_max$risorsa_2$_POST['partenza'], $distanza);
          
        
    //controllo errori, scrittura su file error.txt
        
    $scrivi_file fopen('C:\Programmi\EasyPHP1-8\www\occ\report\query.txt','a');
        
    $stringa "result process : $result \n";
        
    fwrite($scrivi_file,$stringa);
        
    fclose($scrivi_file);
        
    // fine controllo errori
          
          /* Search Offer error form */
          
    if($result == 1){
             
    $_SESSION['value_array'] = $_POST;
             
    $_SESSION['error_array'] = $form->getErrorArray();
             
    header("Location: ".$session->referrer);
          }
          
    /* Search Offer failed o nessun risultato */
          
    else if($result == 2){
             
    $_SESSION['searchoffer'] = false;
             
    header("Location: ".$session->referrer);
          }
          else {
             
    $_SESSION['searchoffer'] = true;
             
    $_SESSION['result'] = $result;
             
        
    //controllo errori, scrittura su file error.txt
        
    $scrivi_file fopen('C:\Programmi\EasyPHP1-8\www\occ\report\query.txt','a');
        
    $stringa "result process passato : ".$_SESSION['result']."\n";
        
    fwrite($scrivi_file,$stringa);
        
    fclose($scrivi_file);
        
    // fine controllo errori
        
             
    header("Location: ".$session->referrer);
          }
       } 
    searchoffer.php

  8. #8
    nn entrava tutto...

    searchoffer.php
    Codice PHP:
    <?

    /**
     * searchoffer.php
     *
     * Ogame Commercial Center (OCC)
     * Written by: Crazy Scientist
     *
     */

    include("include/session.php");

    // controllo accesso non autorizzato

    if($session->logged_in)
    {

    include(
    "include/header_footer.php");
    include(
    "include/menu.php");

    // header
    headerr();

    //menu
    menu();

        
    //controllo errori, scrittura su file error.txt
        
    $scrivi_file fopen('C:\Programmi\EasyPHP1-8\www\occ\report\query.txt','a');
        
    $stringa "result ricevuto : ".$_SESSION['result']."\nsearchoffer : ".$_SESSION['searchoffer']."\n-------------------------------\n";
        
    fwrite($scrivi_file,$stringa);
        
    fclose($scrivi_file);
        
    // fine controllo errori


    if(isset($_SESSION['searchoffer']))
    {
      if(
    $_SESSION['searchoffer'])
      {
            echo 
    "sono dentro i risultati della ricerca";
            
            echo (
    "
            <div id=\"content\">
            <table width=\"600\">
            <tr>
                <td class=\"c\" colspan=\"3\">Risultati Ricerca</td>
            </tr>
            "
    );
            
            
    //recupero primo array
            
    $result $_SESSION['result'];
            
    $offerarray mysql_fetch_array($result);

            
    //ciclo di stampa
            
    while($offerarray)
            {
                
    //calcolo distanza

                
    $gala_min $offerarray['partenza'] - ($offerarray['max_dist'] - 1);
                
    $gala_max $offerarray['partenza'] + ($offerarray['max_dist'] - 1);

                
    //range galassie da 1 a 9
                
    if($gala_min 1){$gala_min 1;}
                if(
    $gala_max 9){$gala_max 9;}
                
                
    //separatore migliaia
                
    $offerarray['ris_1_quanto'] = number_format ($offerarray['ris_1_quanto'], 0',''.');
                
    $offerarray['ris_2_quanto'] = number_format ($offerarray['ris_2_quanto'], 0',''.');

                if(
    $offerarray['tipo'] == 'vendo'){
                    
                
    $gala_text "galassie";

                if (
    $gala_min == $gala_max)
                {
                    
    $gala_text "<span class=\"arrivo\">la stessa galassia</span>.";
                }
                else
                {
                    for(
    $i $gala_min$i <= $gala_max$i++)
                    {
                        if(
    $i == $gala_min)
                        {
                            
    $gala_text .= " <span class=\"arrivo\">$i</span>";
                        }
                        else if(
    $i == $gala_max)
                        {
                            
    $gala_text .= " e <span class=\"arrivo\">$i</span>.";
                        }
                        else if ((
    $i != $gala_min) && ($i != $gala_max))
                        {
                            
    $gala_text .= ", <span class=\"arrivo\">$i</span>";
                        }
                    }
                }

                echo(
    "
                    <tr>
                        <td class=\"c\" rowspan=\"2\" align=\"center\"><img src=\"skin/standard/images/freccia.gif\" alt=\"Offerta\"></td>
                        <td class=\"c\">Offerta di tipo Vendo, valida fino al"
    .date('j - n - Y',$offerarray['durata'])."</td>
                        <td class=\"c\" width=\"60\">N° "
    .$offerarray['id']."</td>
                "
    );
                        
                if(
    $offerarray['offerente'] == $session->username)
                {
                    echo (
    "                    
                        <th class=\"cancella\" rowspan=\"2\" width=\"60\">Cancella</th>
                    "
    );
                }
                else
                {
                    echo (
    "                    
                        <th class=\"prenota\" rowspan=\"2\" width=\"60\">Prenota</th>
                    "
    );
                }

                echo (
    "
                    </tr>
                    <tr>
                    <th colspan=\"2\"><span class=\"user\">"
    .$offerarray['offerente']."</span> vende <span class=\"".$offerarray['risorsa_1']."\">".$offerarray['ris_1_quanto']."</span> unità di <span class=\"".$offerarray['risorsa_1']."\">".$offerarray['risorsa_1']."</span> per <span class=\"".$offerarray['risorsa_2']."\">".$offerarray['ris_2_quanto']."</span> unità di <span class=\"".$offerarray['risorsa_2']."\">".$offerarray['risorsa_2']."</span>.
    Partenza da galassia <span class=\"partenza\">"
    .$offerarray['partenza']."</span> verso ".$gala_text."</th>
                    </tr>
                "
    );
            

            }
            else if(
    $offerarray['tipo'] == 'compro'){
             
             
    $gala_text "da galassie";

                if (
    $gala_min == $gala_max)
                {
                    
    $gala_text "<span class=\"arrivo\">dalla stessa galassia</span>.";
                }
                else
                {
                    for(
    $i $gala_min$i <= $gala_max$i++)
                    {
                        if(
    $i == $gala_min)
                        {
                            
    $gala_text .= " <span class=\"arrivo\">$i</span>";
                        }
                        else if(
    $i == $gala_max)
                        {
                            
    $gala_text .= " e <span class=\"arrivo\">$i</span>.";
                        }
                        else if ((
    $i != $gala_min) && ($i != $gala_max))
                        {
                            
    $gala_text .= ", <span class=\"arrivo\">$i</span>";
                        }
                    }
                }
                       
                echo(
    "
                    <tr>
                        <td class=\"c\" rowspan=\"2\" align=\"center\"><img src=\"skin/standard/images/freccia.gif\" alt=\"Offerta\"></td>
                        <td class=\"c\">Offerta di tipo Compro, valida fino al"
    .date('j - n - Y',$offerarray['durata'])."</td>
                        <td class=\"c\" width=\"60\">N° "
    .$offerarray['id']."</td>
                "
    );
                        
                if(
    $offerarray['offerente'] == $session->username)
                {
                    echo (
    "                    
                        <th class=\"cancella\" rowspan=\"2\" width=\"60\">Cancella</th>
                    "
    );
                }
                else
                {
                    echo (
    "                    
                        <th class=\"prenota\" rowspan=\"2\" width=\"60\">Prenota</th>
                    "
    );
                }

                echo (
    "
                    </tr>
                    <tr>
                    <th colspan=\"2\"><span class=\"user\">"
    .$offerarray['offerente']."</span> compra <span class=\"".$offerarray['risorsa_1']."\">".$offerarray['ris_1_quanto']."</span> unità di <span class=\"".$offerarray['risorsa_1']."\">".$offerarray['risorsa_1']."</span> per <span class=\"".$offerarray['risorsa_2']."\">".$offerarray['ris_2_quanto']."</span> unità di <span class=\"".$offerarray['risorsa_2']."\">".$offerarray['risorsa_2']."</span>.
    Arrivo in galassia <span class=\"partenza\">"
    .$offerarray['partenza']."</span> ".$gala_text."</th>
                    </tr>
                "
    );
            }
            
            
    //recupero array successivo
            
    $offerarray mysql_fetch_array($result);
        }
        
        
    //eliminazione del risultato
        
    unset($_SESSION['searchoffer']);
        unset(
    $_SESSION['result']);
        
        echo (
    "
        </div>
        </table>
        "
    );
      }
      else
      {
       
       echo 
    "sono dentro l'else dei nn risultati";

        unset(
    $_SESSION['searchoffer']);

        echo (
    "
            <div id=\"content\">
            <table width=\"600\">
                <tr>
                    <td class=\"c\">Risultati Ricerca</td>
                </tr>
                <tr>
                    <th>Nessun Risultato</th>
                </tr>
            </table>
            </div>
            "
    ); 
      }
    }
    else
    {
        echo 
    "sono dentro l'else con i form";

        echo (
    "
        <div id=\"content\">
        <form action=\"process.php\" method=\"POST\">
        <table width=\"600\"> 
        "
    );
        
        
    // stampa errori
        
    if($form->num_errors 0)
        {
            echo (
    "
            <tr>
                <th colspan=\"4\">"
    .$form->num_errors." errore(i) trovato(i)</th>
            </tr>
            "
    );
        } 
    //fine stampa errori

    //recupero galassia partenza
        
    for ($i=1;$i<=9;$i++)
        {
            if(
    $form->value("partenza") == $i)
            {
                
    $gala[$i] = "selected";
            }
            else
            {
                
    $gala[$i] = "";    
            }
        }
        
    //recupero distanza massima
        
    for ($i=1;$i<=9;$i++)
        {
            if(
    $form->value("distanza") == $i)
            {
                
    $dis[$i] = "selected";
            }
            else
            {
                
    $dis[$i] = "";    
            }
        }
        
    //recupero compro o vendo
        
    if($form->value("tipo") == "")
        {
            
    $vendo "checked";
            
    $compro "";
        }
            
        else if(
    $form->value("tipo") == "vendo")
        {
            
    $vendo "checked";
            
    $compro "";
        }
        else if(
    $form->value("tipo") == "compro")
        {
            
    $vendo "";
            
    $compro "checked";
        }
        
    //recupero risorsa 1
        
    if($form->value("risorsa_1") == "")
        {
            
    $metallo_1 "checked";
            
    $cristallo_1 "";
            
    $deuterio_1 "";
        }
            
        else if(
    $form->value("risorsa_1") == "metallo")
        {
            
    $metallo_1 "checked";
            
    $cristallo_1 "";
            
    $deuterio_1 "";
        }
        else if(
    $form->value("risorsa_1") == "cristallo")
        {
            
    $metallo_1 "";
            
    $cristallo_1 "checked";
            
    $deuterio_1 "";
        }
        else if(
    $form->value("risorsa_1") == "deuterio")
        {
            
    $metallo_1 "";
            
    $cristallo_1 "";
            
    $deuterio_1 "checked";
        }

    //recupero risorsa 2
        
    if($form->value("risorsa_2") == "")
        {
            
    $metallo_2 "";
            
    $cristallo_2 "";
            
    $deuterio_2 "";
        }
            
        else if(
    $form->value("risorsa_2") == "metallo")
        {
            
    $metallo_2 "checked";
            
    $cristallo_2 "";
            
    $deuterio_2 "";
        }
        else if(
    $form->value("risorsa_2") == "cristallo")
        {
            
    $metallo_2 "";
            
    $cristallo_2 "checked";
            
    $deuterio_2 "";
        }
        else if(
    $form->value("risorsa_2") == "deuterio")
        {
            
    $metallo_2 "";
            
    $cristallo_2 "";
            
    $deuterio_2 "checked";
        }
        
        echo (
    "
        <tr>
            <td class=\"c\" colspan=\"4\">Venditori o Compratori ?</td>
        </tr>
        <tr>
            <th colspan=\"2\" width=\"50%\">Venditori <input type=\"radio\" name=\"tipo\" value=\"vendo\" "
    .$vendo."></th>
            <th colspan=\"2\" width=\"50%\">Compratori <input type=\"radio\" name=\"tipo\" value=\"compro\" "
    .$compro."></th>
        </tr>
        <tr>
            <td class=\"c\" colspan=\"4\">Cosa vuoi Comprare / Vendere ?"
    .$form->error("risorsa_1")."</td>
        </tr>
        <tr>
            <th width=\"33%\"><img src=\""
    .$session->skin."images/metall.gif\" alt=\"metallo\">
    [Metallo]
    <input type=\"radio\" name=\"risorsa_1\" value=\"metallo\" "
    .$metallo_1."></th>
            <th colspan=\"2\" width=\"33%\"><img src=\""
    .$session->skin."images/kristall.gif\" alt=\"cristallo\">
    [Cristallo]
    <input type=\"radio\" name=\"risorsa_1\" value=\"cristallo\" "
    .$cristallo_1."></th>
            <th width=\"33%\"><img src=\""
    .$session->skin."images/deuterium.gif\" alt=\"deuterio\">
    [Deuterio]
    <input type=\"radio\" name=\"risorsa_1\" value=\"deuterio\" "
    .$deuterio_1."></th>
        </tr>
        <tr>
            <td class=\"c\" colspan=\"4\" align=\"center\">Quante unità ?"
    .$form->error("risorsa_quanto_err")."</td>
        </tr>
        <tr>
            <td class=\"c\" colspan=\"2\" align=\"center\">Da un Minimo di Unità</td>
            <th colspan=\"2\">--&gt;&gt; <input type=\"text\" name=\"risorsa_1_quanto_min\" maxlength=\"9\" value=\""
    .$form->value("risorsa_1_quanto_min")."\"> &lt;&lt;--".$form->error("risorsa_1_quanto_min")."</th>
        </tr>
        <tr>
            <td class=\"c\" colspan=\"2\" align=\"center\">Ad un Massimo di Unità</td>
            <th colspan=\"2\">--&gt;&gt; <input type=\"text\" name=\"risorsa_1_quanto_max\" maxlength=\"9\" value=\""
    .$form->value("risorsa_1_quanto_max")."\"> &lt;&lt;--".$form->error("risorsa_1_quanto_max")."</th>
        </tr>
        <tr>
            <td class=\"c\" colspan=\"4\">Cosa vuoi Dare / Ricevere ?"
    .$form->error("risorsa_2")."</td>
        </tr>
        <tr>
            <th><img src=\""
    .$session->skin."images/metall.gif\" alt=\"metallo\">
    [Metallo]
    <input type=\"radio\" name=\"risorsa_2\" value=\"metallo\" "
    .$metallo_2."></th>
            <th colspan=\"2\"><img src=\""
    .$session->skin."images/kristall.gif\" alt=\"cristallo\">
    [Cristallo]
    <input type=\"radio\" name=\"risorsa_2\" value=\"cristallo\" "
    .$cristallo_2."></th>
            <th><img src=\""
    .$session->skin."images/deuterium.gif\" alt=\"deuterio\">
    [Deuterio]
    <input type=\"radio\" name=\"risorsa_2\" value=\"deuterio\" "
    .$deuterio_2."></th>
        </tr>
        <tr>
            <td class=\"c\" colspan=\"2\" align=\"center\">In che Galassia hai le Risorse ?</td>
            <th colspan=\"2\">
            <select name=\"partenza\">
            <option value=\"\">- Scegli la Galassia -</option><option value=\"1\" "
    .$gala[1].">Galassia 1</option><option value=\"2\" ".$gala[2].">Galassia 2</option><option value=\"3\" ".$gala[3].">Galassia 3</option><option value=\"4\" ".$gala[4].">Galassia 4</option><option value=\"5\" ".$gala[5].">Galassia 5</option><option value=\"6\" ".$gala[6].">Galassia 6</option><option value=\"7\" ".$gala[7].">Galassia 7</option><option value=\"8\" ".$gala[8].">Galassia 8</option><option value=\"9\" ".$gala[9].">Galassia 9</option></select>".$form->error("partenza")."</th>
        </tr>
        <tr>
            <td class=\"c\" colspan=\"2\" align=\"center\">Distanza Massima</td>
            <th colspan=\"2\">
            <select name=\"distanza\">
            <option value=\"\">- Scegli la Distanza -</option><option value=\"1\" "
    .$dis[1].">Stessa Galassia</option><option value=\"2\" ".$dis[2].">Una Galassia</option><option value=\"3\" ".$dis[3].">2 Galassie</option><option value=\"4\" ".$dis[4].">3 Galassie</option><option value=\"5\" ".$dis[5].">4 Galassie</option><option value=\"6\" ".$dis[6].">5 Galassie</option><option value=\"7\" ".$dis[7].">6 Galassie</option><option value=\"8\" ".$dis[8].">7 Galassie</option><option value=\"9\" ".$dis[9].">Tutte le Galassie</option></select>".$form->error("distanza")."</th>
        </tr>
        <tr>
            <th colspan=\"4\">
                <input type=\"hidden\" name=\"subsearchoffer\" value=\"1\">
                <input type=\"submit\" value=\"Cerca\">
            </th>
        </tr>
    </table>
    </form>
    </div>
        "
    );
    }

    //footer
    footer();

    // fine controllo accesso non autorizzato
    else
    {
        
    header("Location: index.php");
    }
    ?>
    ah se notate c'è la creazione di un file di log (query.txt), se vi può aiutare questi sono i risultati

    result database : Resource id #15
    result session : Resource id #15
    result process : Resource id #15
    result process passato : Resource id #15
    result ricevuto : 0
    searchoffer : 1

  9. #9
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Come ti hanno spiegato non puoi mettere in sessione l'handle del resultset, perché di fatto è una connessione al database e non si può salvare su disco.
    Se non vuoi ripetere la query ad ogni pagina scorriti tutto il risultato, salvalo su un array e metti quello in sessione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.