Newsgroup: it.comp.www.php
Titolo: variabili get da "validare"

ho una serie di variabili get da validare
possono contenere solo determinati valori, e alcune sono opzionali
(non e' la roba da form) e non interagisce con db
.php?compra=BUY
compra puo contenere solo o buy BUY SELL sell il fatto e' che sono una 
15 di variabili da controllare c'e' qualcosa di cotto (riscrivere 
qualcosa che e' gia fatto....)
in caso che compra sia vuota deve scrivere:
.php?compra=
buy e' vuoto
.php?compra=COMPRA
compra non e' valido
stessa cosa per i numerici
deve solo scrivere le risposte non deve interagire con nulla (le 
variabili sono 10-15 quindi ecco il problema ed alcune sono opzionali)

(non e' la roba da form) e non interagisce con db
foreach(array(
	'compra'	=> '#^(BUY|SELL)$#',
	/* Qui le altre variabili */
) as $v => $r) if (isset($_GET[$v])&&!preg_match($r,$_GET[$]))
	unset($_GET[$v];
Spero tu capisca nel mio codice piu' di quanto io abbia capito dal tuo
messaggio :-)
Leonardo
-- 
Enough, enough!  But, stranger, ere we part,
Glancing farewell to each nefarious bier,
This warning would I beg you take to heart:
There is an end to e'en the worst career!

 	unset($_GET[$v]
manca solo la 2a parte del messaggio
in caso che compra sia vuota deve scrivere:
.php?compra=
echo "compra e' vuoto"
.php?compra=COMPRA
echo "compra non e' valido"


manca solo la 2a parte del messaggio
Ci sono varie strade aperte, in generale.
* Iniziare il messaggio con "Grazie" (io sono un fesso all'antica) e
  propormi di scrivere l'aggiunta (questa non è più disponibile)
* Provare a modificare il codice (è la scelta raccomandata)
* Farmi sentire in debito tramite Paypal o la mia wishlist su Amazon
  (è la strada più costosa)
* Vedere se qualcun altro è meno stucco di me (cosa non difficile)
HTH, HAND


 Ci sono varie strade aperte, in generale.
(applausi)
 r

 HTH, HAND
ACK


Per vedere se la variabile è impostata:
if (isset($_GET['nomevariabile']))
	echo "variabile impostata";
else
	echo "variabile non impostata";
Per recuperare i dati della variabile:
$miaVariabile=$_GET['nomevariabile'];
Per vedere se c'è un dato numerico (sia intero che a decimale):
if (is_numeric($miaVariabile))
	echo "dato numerico";
else
	echo "dato non numerico";
Per le variabili vuote, puoi confrontare con la stringa vuota "" oppure 
usare strlen per verificare che la lunghezza è zero.
Da notare che devi sempre prima controllare che la variabile sia 
impostata e solo dopo puoi recuperarla. Se tenti di recuperare una 
variabile non impostata, otterrai un errore.
Ci sono altri metodi per fare tutto ciò, come scorrere l'array $_GET per 
ricercare i campi che ti interessano, ma credo che queste semplici 
direttive ti siano sufficienti.

solo. Rapidamente. Senza errori.
I PC sono spietati e privi di solidarietà. Anche se una volta mi è
capitato che di due apparati identici, guasti, il secondo senza un
perché ricominciasse a funzionare - e non si è più guastato - dopo
la mia consueta Autopsia Inutile (1) al primo.
Leonardo
(1) "Tanto è guasto... lo apro per vedere cosa c'e' dentro, non si
    sa mai, una volta nel '77 riuscii a capire cos'era guasto ed a
    ripararlo... SPROING! Ooops. Be', tanto era guasto."
