Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    controllare variabili POST dentro ciclo FOR

    Ciao a tutti, sto cercando di crearmi una classe che mi gestisce i moduli.

    Sono alle prese con una una funzioncina che dovrebbe generarmi un array contenente NOMECAMPO | VALORE prelevati dalle variabili memorizzate in POST (o in get in base ai parametri di richiamo ma non c'entra col problema), quindi a prescindere da come è formato il modulo io vorrei controllare i valori passati.

    Se si selezionano tutti i campi funziona tutto perfettamente.

    Se invece si lasciano vuoti alcuni campi di tipo checkbox, il controllo nel ciclo che mi genera l'array che mi setta un valore di default ai campi vuoti "fa del casino" e si sballa l'array. Più che altro se si lascia vuoto la prima checkbox ma selezionate le altre 2.

    Posto il codice:
    Codice PHP:
              //$n_input sarebbero il numero di valori passati

              
    for($i=1$i<=$n_input$i++)
              {
                 
    //setto un valore di default ai campi vuoti
                 
    if($_POST[$i] == "")
                 {
                  
    $_POST[$i] = "Non selezionato";  
                 }
                 
                 
    //creo l'array
                 
    $VarList[$i] = array($i$_POST[$i]);     
              
              } 
    Ovviamente il nome dei campi è un indice numerico:
    <input name"1"...
    <input name="2"...

    Potete vedere un esempio
    qui

    Grazie!

  2. #2
    Se invece fai così?

    Codice PHP:
    ...
    foreach (
    $_POST as $key => $value) {
        
    $VarList[] = array($key$value);

    ... 
    Se invece vuoi prelevare solo i campi con chiave numerica puoi utilizzare la funzione is_numeric()
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Originariamente inviato da satifal
    Se invece fai così?

    Codice PHP:
    ...
    foreach (
    $_POST as $key => $value) {
        
    $VarList[] = array($key$value);

    ... 
    Se invece vuoi prelevare solo i campi con chiave numerica puoi utilizzare la funzione is_numeric()
    Grazie satifal per la tua risposta. In pratica devo tirar fuori con un ciclo, i dati dalla array POST in base all' identificativo del campo.
    Esempio:
    codice:
    <input type="text" name="1">
    <input type="text" name="2">
    <select name="3">
     <option value="valore1"></option>
     <option value="valore2"></option>
    </select>
    Insomma i campi hanno un indice numerico quindi presumo si costruisca l'array cosi:
    $_POST = array("1" => "valore_campo1" , "2" => "valore_campo2" , "3" => "valore_campo3")

    Non conosco il foreach, se opera tramite chiavi testuali in teoria non lo posso usare giusto?

  4. #4
    Hai provato almeno ad usarlo?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Originariamente inviato da satifal
    Hai provato almeno ad usarlo?

    Si ho fatto così e sicuramente ho sbagliato qualcosa:

    Codice PHP:
    $i 1//creo un indice
    //cerco indice e valore nell'array $_POST
    foreach ($_POST as $i => $_POST[$i])
    {
       
    //setto un valore di default ai campi eventualmente vuoti
       
    if($_POST[$i] == "")
       {
         
    $_POST[$i] = "Non selezionato";
       }

    $VarList[$i] = array($i$_POST[$i]);
    $i++; //incremento l'indice per andare avanti con la ricerca...2...3...4

    Scommetto che non ho capito bene come usarlo il foreach
    Mi da lo stesso risultato di prima con il FOR

  6. #6
    Guarda che il codice che ti ho postato io è funzionante e NON solo un esempio
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Originariamente inviato da satifal
    Guarda che il codice che ti ho postato io è funzionante e NON solo un esempio
    Ho copiato pari pari il tuo codice ma non funge, il risultato è questo

    Quindi $key e $value non sono due var ma 2 parole chiave di PHP?

  8. #8
    Come non detto funziona grazie, però mi sveli l'arcano delle 2 var o parole chiave? Grazie!

    PS: sbagliavo il ciclo nella lettura della nuova array

  9. #9
    Originariamente inviato da camionistaxcaso
    Ho copiato pari pari il tuo codice ma non funge, il risultato è questo
    ...risultato che è assolutamente corretto! Cosa ci trovi di strano?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Si si adesso funge. Solo non mi sfagiolano le 2 paroline $key => $value visto che sono prive di valore...servono semplicemente a PHP per prendere da 0 a fine array l'indice e il valore?

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.