• User

    controllo dati db in apertura e ricerca

    Ciao,

    ho un problema con php...
    ho una tabella, e di questa tabella l'utente digitando un codice, viene a conoscenza del prezzo...

    quindi ho usato l'istruzione SELECT a in una query, e tutto funziona...
    (cioè inserendo il codice corretto, il risultato viene visualizzato correttamente)
    ho inserito anche un controllo IF che se l'utente inserisce un valore = 0, mi ritorna un messaggio di errore; la stessa cosa se l'utente non inserisce nulla....

    1) Come faccio io ad inserire un controllo sul codice inserito...non posso mica inserire tutti i codici nell'istruzione IF vero?
    Cioè un controllo che verifichi il codice inserito dall'utente e se non corrispondente ad un codice esistente, mi ritorni il messaggio di errore.
    devo inserire un controllo sulla query giusto? ma come?
    2all'apertura della pagina, nel campo dove dovrebbe comparire il risultato mi compare la scritta "Undefined variable: ......prova.php on line 77"; stessa cosa attualmente quando non inserisco un codice corretto.
    Perchè? e come risolvo anche questo?

    Grazie
    Mappex

    [/code]


  • Moderatore

    Ciao 🙂

    1) Fai una query al db, se esiste quel valore fai la select successiva, altrimenti stampi un errore.

    2) E' buona regola, definire le variabili prima di usarle.

    pensi di usare $pippo più avanti nel codice, variabile intera?

    $pippo = 0;

    settype($variabile, "integer"); # <--- questo non è obbligatoria, ma è può evitare alcuni problemi

    :ciauz:


  • User

    Grazie.... 🙂

    ora controllo ed eseguo....

    popi se vuoi guarda anche il mio post successivo che forse cambia anche le cose per questo...(spero di no)


  • User

    niente da fare...

    anche facendo come mi hai detto tu...non funziona...

    
    
    $_POST&#91;'codice'&#93; = 0; 
    
    settype&#40;$_POST&#91;'codice'&#93;, "integer"&#41;;
    
    if&#40;isset&#40;$_POST&#91;'code_ins'&#93;&#41;&#41;&#123; 
       $code = $_POST&#91;'code_ins'&#93;; 
       
         if &#40;'$code' == 0&#41;&#123;
    		$attenzione = &#40;'inserisci un codice corretto'&#41;;
    		$def = $attenzione;
    		&#125;
    		 
    		 else &#123;	
    
    

    ora se tolgo l'istruzione "if ('$code' == 0){" , funziona ma mi da il solito errore (il 2 errore del primo post) se invece la lascio mi restituisce sempre il valore di $attenzione...

    grazie per gli aiuti


  • Moderatore
    if &#40;isset&#40;$variabile&#41; && is_integer&#40;$variabile&#41;&#41; &#123;
    
    #fai ciò che devi fare;
    
    &#125; else &#123;
    
    echo "WEEEEEEEE, metti un intero e non rompere con sti giochini"; 
    
    &#125;