Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    6,034

    Filtrare valore passato via GET

    con un invio di parametri via get (pagina.php?id=16) visualizzo il record del db anche quando, invece di 16, passo:
    <spazio>16
    016
    16.
    +16

    COme posso filtrare tutti questi caratteri prima o dopo affinchè venga accettato solo un numero?
    Il controllo attuale è: controllo se $_GET[id] esiste, se è numerico (is_numeric()), se esiste effettivamente in tabella

  2. #2
    Ciao,
    se si comportano tutti come numeri (passano la prova di is_numeric(trim($stringa)) e il database non fornisce errori (ricavi comunque il record giusto) non hai nessun bisogno di filtrare ulteriormente, non ci sono pericoli.
    Se invece devi anche mostrare a video il contenuto di
    $_GET['id'] (occhio agli apici tra le quadre)

    - Stampi l'id restituito dal db e non quello contenuto in $_GET

    oppure

    - applichi un preg_replace su tutto ciò che non è \d (ovvero un numero), ma mi sembra eccessivo
    per favore NIENTE PVT TECNICI da sconosciuti

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    6,034
    in effetti visulizzo i record associati a $_GET['id'] senza problemi nè errori restituiti da mysql.
    Ss stampo $_GET['id'] in uno dei modi descritti sopra, stampa solo l'id con zero e il punto, ma per la stampa posso benissimo far vedere, come dici tu, l'id restituito dalla query

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.