[RISOLTO] valori all'interno di una select postato il 13/10/2017 15:31:01 nel forum programmazione, gdrcd, open source, hosting e modificato da darkblade il 25/10/2017 16:26:24
ho bisogno quando faccio un submit di portarmi dietro l'oggetto select, per poi prendermi in un ciclo tutti i valori al suo interno, esempio:
Pagine → 1 2
13/10/2017 15:38:52
Con un po' di javascript al momento del submit si potrebbe risolvere facilmente, ma io te lo sconsiglierei.
Se ti ritrovi a dover fare una cosa del genere forse è perchè stai usando in modo inappropriato la select. Prova a spiegarci come mai ti serve una cosa del genere, magari ci sono soluzioni più consone
13/10/2017 16:08:05
in pratica quella select si popola in modo dinamico in base alle scelte che vengono fatte con tante option sulle schermate precedenti, per cui se scelgo caffè, latte, maionese ecc me li mette in questa select, anche perchè io posso selezionando caffè, toglierlo dalla lista prima del submit, poi al submit lui dovrebbe con un ciclo prendere il primo valore e inserirlo nel db, poi passo al secondo ecc.., non c'e' modo di portarsi dietro tutto l'oggetto "select"?
13/10/2017 17:11:16 e modificato da gdr-online.com il 13/10/2017 17:51:40
(pagina1.php)
13/10/2017 22:55:12
Se proprio vuoi fare una form a più passaggi, il metodo più veloce, è portarti dietro un array.
14/10/2017 20:27:49
Io lo implementerei con una di queste due soluzioni:
1_Mantieni il tag select, ma gli aggiungi l'attributo multiple="multiple" e a ogni option ti assicuri di mettere l'attributo selected="selected"
In questo modo avrai una select che accetta una selezione multipla di valori. (NOTA: il nome della select deve avere le [] per poter diventare un array quando arriva a php. Quindi se prima la select si chiamava pippo ora dovrà chiamarsi pippo[])
2_Invece di una select utilizzare una collezione di checkbox, tutte con lo stesso name (per esempio tutte devono essere chiamate pippo[] in modo da diventare un array in PHP). Ti fai una checkbox per ogni valore che vuoi e le selezioni tutte (impostando l'attributo checked="checked" al tag input)
Così ti eviti javascript e utilizzi una soluzione già standard
17/10/2017 16:28:04
grazie ho fatto così:
23/10/2017 15:02:37 e modificato da gdr-online.com il 24/10/2017 13:20:17
stavo provando la soluzione proposta ma non mi funziona, non capisco se sto sbagliando qualcosa, ovviamente il valore lo passo selected(ma non cambia):
23/10/2017 15:22:03
La parte di codice che hai citato sembra corretta (a parte le option non selezionate). Potrebbero esserci altri dettagli nella pagina che non la fanno funzionare correttamente.
P.S.: io starei attento ai problemi di sicurezza della tua land. Quella query con $op inserita dentro senza controlli è pericolosissima.
24/10/2017 13:10:37 e modificato da darkblade il 24/10/2017 13:13:20
ho notato che se faccio:
print_r($_POST['option1']);
print_r($_POST);
[option1] => Array ( [0] => 1 ) [option2] => Array ( [0] => 55 )
il primo mi torna vuoto, il secondo lo vede pieno, ora mi chiedo dove sto sbagliando???
24/10/2017 14:00:16
Ciao,
considera quello che ha detto leo riguardo alla struttura del codice ed alla sicurezza. Considera poi anche quello che ha detto rays per una migliore funzionalità.Il tutto si traduce in creare un file header dove andrai a salvare l'array contenente tutte le opzioni della select. In questa maniera ogni volta che vorrai aggiornare un'opzione ti basterà operare su un unico file senza andare in tutti gli altri dove la select è richiamata. Per quanto riguarda la sicurezza puoi iniziare a guardare le funzioni filter_var del php http://php.net/manual/en/filter.filters.sanitize.php sapendo però che non sono un punto di arrivo.
--
header.php
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
I dati del generatore di rank sono stati aggiornati!