[Php-it] Costruire query con valori GET

spacemarc spacemarc at gmail.com
Wed Jun 6 15:09:05 CEST 2007


Il 05/06/07, Marcello Vezzelli<marcello at vezz.it> ha scritto:
> Non ho ben capito dove sia il problema...
> mi auguro che ci sia anche una sessione e qualche controllo su userID...
> a meno che non ti freghi nulla degli impatti sulla sicurezza di uno
> script del genere.
>
> // setti i default
> $start=30;
> $userID=0;
> $sortby='';
> // parsi $_GET
> if (isset($_GET['start'])) {
>     $start=intval($_GET['start']);
> }
> if (isset($_GET['userID'])) {
>     $userID=intval($_GET['userID']);
> }
> if (isset($_GET['sortby'])) {
>     if ($_GET['sortby']=='desc') {
>         $sortby='DESC';
>     }
> }
> $query="SELECT c1,c2,c3 FROM tabella WHERE userID=$userID ORDER BY c1
> $sortby LIMIT 0,$start";
>
> Questo codice non ha pretese di sicurezza o particolare bellezza, è un
> punto da cui partire.
> Se poi chiarisci meglio cosa vuoi fare si può aggiustare meglio.
> Magari vuoi dare errore se manca un parametro, oppure vuoi aggiungere
> ulteriori controlli oltre alla semplice esistenza.
>
> Io comincerei a dare alle variabili dei nomi più pertinenti al loro scopo...
> start sa di record di partenza, più che di numero di record per pagina
> sortby sa di campo di ordinamento, più che di ordine ascendente/discendente
>
> Giusto per capire meglio tra qualche mese il codice con un'occhiata.

in pratica dovevo costruire un link come quello da te suggerito ma a
seconda della pagina potevo avere o meno il parametro UserID.
Infatti ho rivisto poi la funzione della paginazione e riscritto in
parte del codice: ora sembra funzionare e, come dicevi tu a ragione,
va reso sicuro ed ottimizzato


-- 
Scripts: http://www.spacemarc.it


More information about the Php-it mailing list