Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340

    Un errore che non trovo!

    Ciao a tutti, alle prese con un errore che proprio non riesco a vedere !
    Leggo la tabella che ha il codice del campo scelto, prelevo il codice del gestore
    del campo per poi includere la funzione che mi estrae le date impegnate di quel campo.

    Mi date una mano? leggendo le due righe di codice riuscite a capire perchè mi segnala questo errore :


    Notice: Trying to get property of non-object in D:\EasyPHP-5.3.3\www\calcetto\cercagestore.php on line 38

    Notice: Trying to get property of non-object in D:\EasyPHP-5.3.3\www\calcetto\cercagestore.php on line 39

    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


    le righe 38 e 39 segnalate, le ho numerate nel codice che posto sotto.


    Codice PHP:

    $id_gestore
    ='';
    $nome_gestore ='';
    $cognome_gestore='';
    $id_campo=$_GET['id_campo'];
    $id_campo $_SESSION["id_campo"]; 
    $data->connetti();

    $commento_sql $data->query("SELECT * FROM gestori where id_campo='$id_campo'  order by id_gestore  asc");

     
    34  if(mysql_num_rows($commento_sql) > 0
    35   {  
    36       while($commento_obj $data->estrai($commento_sql))
    37              $id_gestore =$commento_obj->id_gestore ;
    38     $nome_gestore $commento_obj->nome;
    39     $cognome_gestore $commento_obj-> cognome;        
    40
    41 
    }else{
    42   // notifica in assenza di record
    44   echo "Non trovate corrispondenze in  campo :" .$id_campo." gestore :" .$id_gestore.".";             
    }
          
    # variabili servono in grigliaore per estrarre le ore di impegno del campo

                           
    $_SESSION['nome_gestore'] =  $nome_gestore;
                  
    $_SESSION['cognome_gestore'] = $cognome_gestore;
                  
    $_SESSION['id_gestore'] = $id_gestore;
                  
                 include(
    "grigliaore.php");    
            
    $data->disconnetti();   
    ;
        
        
    ?> 

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    manca il codice della classe di cui $data è una istanza
    posta anche quello

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    ola Bstefano vedo che hai cambiato avatar!
    Spero che tu intesta questo!


    Codice PHP:

     
    class MysqlClass
    {
        
    // variabili per la connessione al database
        
    private $nomehost "127.0.0.1";     
        private 
    $nomeuser "utente";          
        private 
    $password "mysql";
        private 
    $nomedb "test";
        private 
    $Sql="";
        private 
    $esiste="N";
        
        
    // controllo sulle connessioni attive
        
    private $attiva false;

        
    // funzione per la connessione a MySQL
     
     
    public function connetti()
        {
            if(!
    $this->attiva)
            {
            if(
    $data mysql_connect($this->nomehost,$this->nomeuser,$this->password) or die ('errore'))
            {
            
    $selezione mysql_select_db($this->nomedb,$data) or die ('errore2');
            }
            }
            else
            {
            echo 
    "Per il momento non sono disponibili commenti da approvare.";
            return 
    true;
            }
        }


    //funzione per l'esecuzione delle query 
    public function query($sql)
     {
      if(isset(
    $this->attiva))
      {
      
    $sql mysql_query($sql) or die ('errore....' mysql_error());
      
      return 
    $sql
      }
      else
      {
      return 
    false
      }
     }
     
    //funzione per l'inserimento dei dati in tabella

    public function inserisci($t,$v,$r null)
        {
             if(isset(
    $this->attiva))
              {
                
    $istruzione 'INSERT INTO '.$t;
                if(
    $r != null)
                {
                    
    $istruzione .= ' ('.$r.')';
                }

                for(
    $i 0$i count($v); $i++)
                {
                    if(
    is_string($v[$i]))
                        
    $v[$i] = '"'.$v[$i].'"';
                }
                
    $v implode(',',$v);
                
    $istruzione .= ' VALUES ('.$v.')';

                
    $query mysql_query($istruzione) or die ('errore....' mysql_error());

                }
                else
                {
                    return 
    false;
                }
            }
    //funzione per l'estrazione dei record 

    public function estrai($risultato)
     {
      if(isset(
    $this->attiva))
      {
      
    $r mysql_fetch_object($risultato);
      return 
    $r;
      }
      else
      {
      return 
    false
      }
     }
    // funzione per la formattazione della data
    public function format_data($d)
    {
      
    $vet explode("-"$d); 
      
    $df $vet[2]."-".$vet[1]."-".$vet[0]; 
      return 
    $df
    }
     

    // funzione per l'anteprima degli articoli
    public function preview($post$offset$collegamento) {
    return (
    count($anteprima explode(" "$post)) > $offset) ? implode(" "array_slice($anteprima0$offset)) . $collegamento $post;
    }


    // funzione per la chiusura della connessione
    public function disconnetti()
    {
        if(
    $this->attiva)
        {
            if(
    mysql_close())
            {
             
    $this->attiva false
             return 
    true
            }
            else
            {
                return 
    false
            }
        }
     }
        
    }
    ?> 

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    yessssss nuovo look
    sicuro di avere i campi nome e cognome nella tabella getori??

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    Eh! si, la cosa che mi lascia perplesso è proprio questa, i campi nella tabella gestori sono quelli, 3! ma la cosa strana è che la riga 37 mi restituisce e valorizza id_gestore

    37 $id_gestore =$commento_obj->id_gestore ;
    38 $nome_gestore = $commento_obj->nome;
    39 $cognome_gestore = $commento_obj-> cognome

    la 38 e la 39 mi danno errore, ma i nomi sono nome =varchar(50)
    cognome =varchar(50)

  6. #6
    Hai dimenticato le graffe sul ciclo while()

    Codice PHP:
    ...
    while(
    $commento_obj $data->estrai($commento_sql)) {
        
    $id_gestore =$commento_obj->id_gestore ;
        
    $nome_gestore $commento_obj->nome;
        
    $cognome_gestore $commento_obj-> cognome;
    }
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da satifal
    Hai dimenticato le graffe sul ciclo while()

    Codice PHP:
    ...
    while(
    $commento_obj $data->estrai($commento_sql)) {
        
    $id_gestore =$commento_obj->id_gestore ;
        
    $nome_gestore $commento_obj->nome;
        
    $cognome_gestore $commento_obj-> cognome;
    }
    ... 
    azz strasuperlol
    quando arriva a quella riga la variabile è nulla e quindi non è un oggetto

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    p.s.

    ogni volta che fate un if un while un for etc etc è bene abituarsi subito ad aprire e chiudere le parrentesi graffe, anche se il corpo dovesse essere di una sola istruzione. Si evità così di perdere tempo successivemnte

  9. #9
    Bravo satifal a trovare l'errore e quoto assolutamente quanto detto da bstefano

    Aggiungo che quel ciclo while non ha comunque senso perche' le variabili vengono continuamente sovrascritte perdendo tutti i valori tranne quelli dell'ultimo record.

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340

    non ho fatto assolutamente caso alle graffe, avendo restituito la prima valorizzata correttamente e non segnalandomi nulla sono andato avanti senza vederle!
    Grazie Raga!

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.