Hai ragione. Anche se amichevole, la risposta non è stata molto d'aiuto dal punto di vista pratico.
Detto questo, cito menzionando parti del messaggio iniziale:
Qui manca il contesto pratico. Che tipo di variabili? Che tipo di "determinata ricerca"?
Ci potrebbero essere diversi tipi di variabili e/o diversi tipi di "determinata ricerca" (ad esempio basase sull' "AND", o sull' "OR" di determinati parametri. O entrambi.).
Nel momento in cui qualcosa "manca" e "tutto va in errore", direi che:
1) dovresti prevenire che tutto vada in errore in anticipo
2) se c'è un errore, dovresti mostrare all'utente finale un messaggio significativo che la ricerca o qualsiasi cosa essa fosse non è andata a buon fine. Nota che qui non intendo dire che dovresti sputare fuori uno stack trace del codice. L'utente non ha bisogno di vedere questo. Per non menzionare che far ciò potrebbe tradursi in un problema di sicurezza.
3) dato che c'è un errore, dietro le quinte dovresti fare in modo di venire a conoscenza di tale errore in qualche modo (logging, monitoring) e agire di conseguenza (direttamente o in differita).
Com'è il tuo form? Che tipo di ricerca stai cercando di far girare?
Non dai contesto e minimi dettagli. Si può solamente assumere come ha fatto Alzaret.
E riguardo quell'esempio, seppur pienamente valido, è assolutamente insicuro. Se la sicurezza non ti preoccupa in questo caso d'uso specifico, allora continua pure. Se invece c'è anche solo la minima preoccupazione da parte tua (o chi per te) che qualcuno possa creare danni al tuo sistema, allora ti consiglio vivamente di rivedere il modo in cui stai progettando il tutto.
Personalmente ti consiglierei di usare prepared statements e/o query escaping. In questo modo potrai garantire almeno un minimo di sicurezza ed evitare potenziali attacchi di SQL injection. E nota che non so come stai sputando fuori le variabili passate nel frontend quando queste sono sbagliate. Qui mi riferisco anche a potenziali attacchi XSS.
Si. Un form invia sempre i dati selezionati di solito. Non c'è magia dietro a questo meccanismo.
Se poi vuoi inviare i dati sputati fuori E ANCHE quelli selezionati, permettimi di dire che il tuo design è sbagliato. In tal caso che bisogno hai di inviare avanti e indietro TUTTI i dati + quelli selezionati e inviati dall'utente? Nessuno probabilmente, tanto tu tratterai solo quelli inviati al 99%.
Se c'è qualcosa che non è chiaro sarò più che felice di chiarire.


Rispondi quotando