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

    Problema con un form e foreach

    Ciao a tutti,
    ho un problema rispetto a foreach. Ho una pagina con un centinaio di checkbox tipo:

    <td><label><input type="checkbox" name="Posto []" value="N28"></label></td>
    <td><label><input type="checkbox" name="Posto []" value="N27"></label></td>
    <td><label><input type="checkbox" name="Posto []" value="N26"></label></td>
    <td><label><input type="checkbox" name="Posto []" value="N25"></label></td>
    <td><label><input type="checkbox" name="Posto []" value="N24"></label></td>
    <td><label><input type="checkbox" name="Posto []" value="N23"></label></td>
    <td><label><input type="checkbox" name="Posto []" value="N22"></label></td>
    <td><label><input type="checkbox" name="Posto []" value="N21"></label></td>

    mentre nella pagina php vorrei avere la lista dei campi selezionati con il relativo valore, ho provato con questo:
    Codice PHP:
    $posti "Posti prenotati: "
    foreach (
    $_POST['Posto'] as $value) { 
    $posti $posti.$value

    però mi da un errore:
    codice:
    Warning: Invalid argument supplied for foreach() in D:\Inetpub\webs\leportedellarteit\inviamail.php on line 28
    dove la riga 28 è quella del foreach
    Io voglio che la variabile $posti contenga tutti i campi selezionati concatenati da inserire in una mail.
    Non riesco proprio a capire dove sbaglio.
    Help please!
    Ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    40
    Prova a togliere le [] che hai messo su posto nel name delle checkbox cosi:

    <td><label><input type="checkbox" name="Posto" value="N28"></label></td>

  3. #3
    Niente, continua a darmi l'errore:

    Warning: Invalid argument supplied for foreach() in D:\Inetpub\webs\leportedellarteit\inviamail.php

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    40
    il foreach vuole un array...
    $_post['Posto'] non è una stringa?

  5. #5
    in teoria sull'HTML creo un array 'Posto []'

    <td><label><input type="checkbox" name="posto []" value="N24"></label></td>

    che come valore contiene il posto in sala (tipo N24, N25 etc) e con il foreach scorro l'array per creare la stringa $posti che è la concatenazione dei checkbox selezionati.
    Codice PHP:
    foreach ($_POST['posto'] as $value) { 
    Secondo voi le due sintassi sono corrette per fare ciò che ho descritto?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    40
    non so se su html puoi creare o vedere un array...

    non so se su html puoi creare o vedere un array...
    creati l'array prima

    $posto=array();

    poi metti
    <td><label><input type="checkbox" name="<?php $posto ?>" value="N28"></label></td>

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714
    Prova cosi

    Html

    Codice PHP:
    <input type="checkbox" name="posto[1]['value']" value="1" />
    <
    input type="checkbox" name="posto[1]['value']" value="2" />
    <
    input type="checkbox" name="posto[1]['value']" value="3" /> 
    Codice PHP:

    while (list(,$dati) = each($_POST['posto']))
    {
       echo(
    $dati['value']);


  8. #8
    guarda il foreach è fatto bene secondo me è un problema nell' html
    prova così:
    Codice PHP:
    <td><label><input type="checkbox" name="posto[]" value="N24"></label></td
    poi in php devo mettere:
    Codice PHP:
    foreach ($_POST['posto'] as $value) { quello che devi fare 
    secondo me avevi nam="Posto []"

    secondo me devi togliere lo spazio e prova

  9. #9
    Originariamente inviato da serdominik
    guarda il foreach è fatto bene secondo me è un problema nell' html
    prova così:
    Codice PHP:
    <td><label><input type="checkbox" name="posto[]" value="N24"></label></td
    poi in php devo mettere:
    Codice PHP:
    foreach ($_POST['posto'] as $value) { quello che devi fare 
    secondo me avevi nam="Posto []"

    secondo me devi togliere lo spazio e prova
    mi quoto da solo correggendo il foreach è sbagliato:


    Codice PHP:
    foreach($_POST['posto'] as $key => $value) {
    //in $key hai l'indice della variabile


  10. #10
    Bene, ho risolto! Grazie a serdominik
    era semplicemente un problema dello spazio tra 'posto' e le quadre! Vedeva un'altro nome variabile e mi restituiva l'errore. Ho tolto tutti gli spazi ed il tutto funziona esattamente come volevo
    Grazie ancora serdominik

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.