Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    TRUE/FALSE non funzionano

    Sapete dirmi perchè il seguente codice, qualunque sia il valore di $validazione (TRUE o FALSE) mi restituisce sempre "tutto ok"?


    Codice PHP:
    public function inserisciCommento($Commento){ 
    $this->Commento $Commento
    if(
    $this->validaCommento($this->Commento["validazione"]) == TRUE){ 
    echo
    "Tutto Ok"
    var_dump($this->Commento);
     
    // SCRIVI LA QUERY 
    // EFFETTUA L'ESCAPE DEI DATI 
    //EFFETTUA L'INSERIMENTO 
    } else 
    { echo 
    "Tutto Sbagliato";
     
    var_dump($this->Commento); 
    // RESTITUISCI L'ERRORE } 


  2. #2
    Puoi postare anche la funzione validaCommento?

    Oppure prova a fare un echo di $this->validaCommento($this->Commento["validazione"])
    Realizzazione Software, Siti Web ed E-commerce. Consulenza Software ed esperti open source ...
    Scopri i nostri servizi...

  3. #3
    Codice PHP:
    public function inserisciCommento($Commento){  //COMMENTO CONTIENE UN ARRAY CON I DATI DA INSERIRE E LID DEL LOCALE DI RIFERIMENTO
            
    $this->Commento $Commento;
            if(
    $this->validaCommento($this->Commento["validazione"]) == true){
                echo
    "Tutto Ok

    "
    ;
                
    var_dump($this->Commento);
                
    // SCRIVI LA QUERY
                // EFFETTUA L'ESCAPE DEI DATI
                //EFFETTUA L'INSERIMENTO
            
    } else {
                echo 
    "Tutto Sbagliato

    "
    ;
                
    var_dump($this->Commento);
                
    // RESTITUISCI L'ERRORE 
            
    }
        }
        
        private function 
    validaCommento(){
            if (
    $this->Commento["Nome"] != "" and $this->Commento["Mail"] != "" and $this->Commento["TitoloCommento"] != "" and $this->Commento["Commento"] != ""){
                
    $this->Commento["validazione"] = true;
                return 
    $this->Commento;
            } else {
                
    $this->Commento["validazione"] = false;
                return 
    $this->Commento;
            }
        
    // RESTITUISCE TRUE IN CASO DI ESITO POSITIVO O FALSE IN CASO DI ESITO NEGATIVO
        

    Ora la funzione valida è appena abbozzata, ma se io non inserisco un campo valida prende valore false, altrimenti true. In ogni caso è il confronto che non funziona...

  4. #4
    Hai provato a fare un echo di $this->validaCommento($this->Commento["validazione"]) prima del confronto?
    Realizzazione Software, Siti Web ed E-commerce. Consulenza Software ed esperti open source ...
    Scopri i nostri servizi...

  5. #5
    Uso il var_dump, che restituisce, a seconda:


    Codice PHP:
    array(6) { ["Nome"]=> string(0"" ["Mail"]=> string(0"" ["TitoloCommento"]=> string(0"" ["Commento"]=> string(29"Inserisci qui il tuo commento" ["DataCommento"]=> string(10"1230390073" ["validazione"]=> bool(false) } 
    oppure


    Codice PHP:
    array(6) { ["Nome"]=> string(1"1" ["Mail"]=> string(1"2" ["TitoloCommento"]=> string(1"3" ["Commento"]=> string(29"Inserisci qui il tuo commento" ["DataCommento"]=> string(10"1230390074" ["validazione"]=> bool(true) } 

  6. #6
    Sostituisci:

    Codice PHP:
    if($this->validaCommento($this->Commento["validazione"]) == TRUE){ 
    con:

    Codice PHP:
    $this->validaCommento();
    if(
    $this->Commento["validazione"] == TRUE){ 

  7. #7
    Originariamente inviato da filippo.toso
    Sostituisci:

    Codice PHP:
    if($this->validaCommento($this->Commento["validazione"]) == TRUE){ 
    con:

    Codice PHP:
    $this->validaCommento();
    if(
    $this->Commento["validazione"] == TRUE){ 
    Quoto
    Realizzazione Software, Siti Web ed E-commerce. Consulenza Software ed esperti open source ...
    Scopri i nostri servizi...

  8. #8
    Ok, perfetto.
    Ma perchè non reagisce come una normale funzione di php?

    Cioè se io faccio
    Codice PHP:
    if(substr($ciao,0,1) == "i"){
    echo 
    "Ciao"

    funziona.

  9. #9
    Credo di avere capito già in realtà, cioè io applico la funziona ad una variabile che non esiste ancora e che crea la funzione stessa, giusto?

  10. #10
    Ci sono due problemi di base:

    1. Passi un parametro al metodo validaCommento() quando questo NON accetta parametri in input.
    2. Ti aspetti che validaCommento() restituisca TRUE o FALSE quando, in effetti, restituisce un array.

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.