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

    Come ricevere un numero indefinito di var

    Salve ragazzi, vi espongo subito il mio problema.

    Ho uno script che inserisce diversi dati in un file di testo.

    Fino a che questi dati erano limitati era tutto normale, ora però mi si è presentato un problema al quale non riesco a trovare soluzione.

    Lo script dà la possibilità di selezionare tramite il TAG option quanti elementi avere (da 2 a 8).

    Ora se si seleziona l'opzione 4 vengono create 4 text box in cui inserire i dati.

    Ma io non so mai quante possibilità l'utente vuole creare, un giorno potrebbero essere 8 o 3, come faccio a ricevere queste variabili se non so mai quante sono??

    Prima erano sempre due e semplicemente facevo:

    $dato1=$_POST['1'];
    $dato2=$_POST['2'];

    Ora invece non posso scriverne 8 così!!!

    Avevo pensato ad un array che poi viene letto tramite un ciclo for o while, ma non so come metterli dentro a questo array!!!

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    se l'utente seleziona un numero, in qualche modo dovresti avere quel numero dopo aver premuto sul submit.
    tieniti quel numero di riferimento,lo passi e poi fai il ciclo con un for magari.
    for($i=1;$i<=$dato_col_numero;$i++) {
    qui crei le text area a secondo di quante ne sono state selezionate dall'utente
    }

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    le variabili sono in un array, e metterle in variabili normali non ha senso, cicla l'array e scrivi tutto dentro il file:

    codice:
    foreach($_POST as $dato) {
      echo $dato;
    }
    ciao ciao

  4. #4
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    c'è un thread se non sbaglio, fai una ricerca parlava appunto del tuo problema, non so ma prova così:
    <input type="text" name="array[]">
    <input type="text" name="array[]">
    <input type="text" name="array[]">
    <input type="text" name="array[]">

    e poi estrai così:
    foreach($_POST['array'] as $value)
    print($value);
    print("
    ");
    }
    e ti stampa (se non sbaglio) tutti i valori immessi

  5. #5
    X gianiaz: il punto è che non "spedisco" solo quelle variabili. Quel ciclo mi include tutte le variabili POST, giusto?


    X php_34: avevo cercato ma non avevo trovato niente.
    Cmq ora provo il tuo ciclo che è uguale a quello di gianiaz solo che specifichi il nome!!
    Ok grazie raga!

    Spero di non aver più problemi.

  6. #6
    Allora ho dei problemi:

    Questo è lo script:
    codice:
    $i = "1";
    for($i;$i<$num_news+1;$i++){
      foreach($_POST["link$i"] as $link){
      $content .= "<a target=bau href=$link>";
        foreach($_POST["data$i"] as $data){
        $content .= "$data - ";
        }
          foreach($_POST["titolo$i"] as $titolo){
          $titolo = addslashes($titolo);
          $content .= "$titolo
    
    \n
    
    ";       
          }
      }
    }
    Come vedete ho messo nel foreac $_POST["titolo$i"] perchè io ho sei variabili mandate per POST dal nome titolo, cioè --> titolo1 titolo2 .....

    PErò lo script si blocca perchè trova errore...

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    ma $titolo1 è un array? allora usi il foreach come hai specificato tu usando questa sintassi:

    codice:
    $_POST['titolo'.$i]
    se invece $titolo1 è una stringa devi fare una cosa del genere:
    codice:
    for($i=1; $i<= $numerochevuoi; $i++) {
      echo $_POST['titolo'.$i];
    }
    ciao

  8. #8
    Non è un array, sono tante variabili quante ne ha scelte l'utente.

    Se l'utente ha scelto 6 variabili saranno $var1, $var2... $var6

    Ora provo con la seconda!

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.