Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problemi con array$_POST[??]

    Salve ragazzi ho un problema. Sto creando una specie di pannello per amministrare un sito. Vi spiego cosa devo fare e dove mi blocco.

    Data un prima pagina con un <input>, l'utente inserisce un numero n.
    Nella seconda pagina viene generato n volte in un form una riga con un input di testo e una select:

    Mettiamo che il numero sia 10 nella seconda pagina avviene questo:

    $cont = 0;
    $num_cols = $:POST['n'];
    while ($cont < $num_cols) {

    <input type="text" name="testo_<? echo $cont; ?>">


    <select name="select_<? echo $cont ?>">
    <option value="0">0</option>
    <option value="1">1</option>
    </select>



    $cont ++; }


    Ora una volta inviato questo form alla pagina 3, dovrei acquisire i dati $_post.
    come faccio in base al numero n?
    Cioè se n = 10

    $testo_1 = $_POST['testo_1'];
    $select_1 = $_POST['select_1'];
    .
    .
    .
    .
    $testo_10 = $_POST['testo_10'];
    $select_10 = $_POST['select_10'];

    Come faccio quindi a personalizzare il codice in base ad n?
    sarebbe (sbagliando) una cosa del genere:


    $cont = 1;
    while ($cont <= n) {
    $testo_$cont = $_POST['testo_$cont'];
    $select_$cont = $_POST['select_$cont'];
    $cont++; }


    Qualcuno puo aiutarmi??? grazie!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    86

    ci possiamo provare

    ciao se vuoi ci proviamo insiem serve anche a me per ripassare alcune cose.
    In primo luogo ci sono delle cose che non si capiscono e in piu molti errori di sintassi
    Per esempio:

    $cont = 0;
    $num_cols = $:POST['n']; diventa $_POST["n"]
    echo '<form method="POST" action="Metti qui la pagina dove invii i dati">';
    while ($cont < $num_cols) {
    echo '<input type="text" name="testo_'.$cont.'" maxlength="20"/>


    <select name="select_'.$cont.'">
    <option value="0">0</option>
    <option value="1">1</option>
    </select>


    ';
    $cont ++; }
    echo '<input type="submit" value="invia"/>
    </form>

    Seconda cosa che non riesco a capire il valore lo scegli nella pagina numero 1 e nella seconda stampi su video tante select quante input in base al numero scelto poi una volta riempite le invii ad un'altra pagina che dovrebbe ricevere anche il valore di "n" e lo puoi inserire nel form della seconda pagina.. spero di essere stato chiaropero ti ripeto la tua spiegazione nn è molto chiara.....

  3. #3
    Ciao

    invece di:
    Codice PHP:
    <input type="text" name="testo_<? echo $cont?>">
    <select name="select_<? echo $cont ?>">
    metti:
    Codice PHP:
    <input type="text" name="testo[<? echo $cont?>]">
    <select name="select[<? echo $cont ?>]">
    in questo modo riceverai i dati testo e select sotto forma di array.
    Ovvero
    Codice PHP:
    $_POST['testo'];     //array contenente tutti i testi
    $_POST['select']:    //array contenente tutte le select 
    Per sapere quanti sono ti basterà usare
    Codice PHP:
    count($_POST['testo']); 
    I dati saranno, ovviamente, in:
    Codice PHP:
    $_POST['testo'][1];
    $_POST['testo'][2];
    $_POST['testo'][3];
    ...

    $_POST['select'][1];
    $_POST['select'][2];
    $_POST['select'][3];
    ... 
    Alessandro
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  4. #4
    Magicale Grazie 1000
    problema risolto!! grazie anche a te atameya!
    Ho risolto!!

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.