Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258

    Invio dati form multilinea

    codice:
    <form method="post" action="pagina2.php">
    
    <input name="nome" value="Marco"> <input name="eta" value="30"> 
    
    <input name="nome" value="Luca"> <input name="eta" value="25">
    
    </form>
    come leggo i dati nella pagina2.php se gli input hanno un nome duplicato?

    p.s.: devo effettuare un insert per ogni riga

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Devi cambiare
    name="nome"
    in
    name="nome[]"

    così lato PHP ti ritrovi un array con tutti i valori, stessa cosa per eta.

  3. #3
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    Grazie mille.

  4. #4
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    Come faccio a sapere se tutti i nome[] (cioè nome[0], nome[1] etc etc.) sono uguale a Luca?

    mi spiego meglio:
    codice:
    $nome= ($_POST['nome']);
    $quanti = count($nome);
    
    for ( $i = 0; $i < $quanti; $i++ )
    {                                                            {
    
    
    if ($nome[$i] == 'Luca')
    {
    solo che nel mio esempio l'if lo fa singolarmente, per ogni valore dell'array mentre io vorrei sapere se tutti i valori dell'array sono == "Luca".

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Intanto non serve contare quanti sono gli elementi di un array per poi usare un ciclo for, sugli array si può ciclare con foreach() che in automatico ti controlla tutti gli elementi.
    Per il controllo puoi inizializzare PRIMA del ciclo una variabile a true, dentro l'if la cambi a false, quando ti serve controlli tale variabile e decidi cosa fare a seconda che sia true (solo Luca) o false (c'è almeno un nome diverso).

  6. #6
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    Vediamo se ho capito, in pratica avrei:

    variabile al ciclo 1 = Marco
    variabile al ciclo 2 = Luca
    variabile al ciclo 3 = Marco

    e il codice potrebbe essere questo:
    codice:
    $variabile = 0
    
    for ..... ciclo...
    
    $variabile  = $variabile  + 1;	
    fine ciclo...
    
    echo variabile

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Il codice che hai scritto non riesco a ricondurlo al tuo caso specifico.
    Dicevo una cosa tipo questa

    Codice PHP:
    // ti dice se i nomi sono tutti uguali
    $unico true;

    foreach( 
    $_POST['nome'] as $nome )
    {
        if ( 
    $nome != 'Luca' )
        {
            
    $unico false;
        }
    }

    if( 
    $unico )
    {
        echo 
    "C'è solo Luca";
    }
    else
    {
        echo 
    "Ci sono nomi diversi da Luca";


  8. #8
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    Ah ok, così è perfetto.

  9. #9
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    Aspetta, forse mi sfugge qualcosa.

    se al primo ciclo $unico fosse true, al secondo false e al terzo di nuovo true, alla fine, se facessi un echo fuori dal ciclo, non mi verrebbe stampato che $unico è true?

    in pratica, fuori dal ciclo, la variabile $unico assumerebbe il valore dell'ultimo.
    Ultima modifica di Luca1317; 18-07-2018 a 16:28

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 © 2024 vBulletin Solutions, Inc. All rights reserved.