Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    98

    Usare variabile php in name di una select html

    Salve a tutti, come da titolo volevo sapere se fosse possibile identificare una select html con una variabile php: dentro uno script php ho provato ad usare il seguente codice:
    codice:
    echo "<select name=\"squadra_ospite\".$i>";
    dove $i è una variabile incrementata da un ciclo for.

    Provando ad assegnarla ad una variabile php mediante POST:
    [CODE]$squadra_ospite1 = $_POST['squadra_ospite0'];[CODE]
    ottengo il seguente errore:
    Notice: Undefined index: squadra_ospite0 in ...
    quindi è evidente che io commesso un errore nel name della select, ma onestamente non so come porvi rimedio.

    Grazie a chiunque tenterà di aiutarmi

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Hai messo la select in una form ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Hai messo $i fuori dai doppi apici, di conseguenza tutte le select avranno lo stesso name "squadra_ospite".

    Codice PHP:
    echo '<select name="squadra_ospite'.$i.'">'

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    98
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    Hai messo $i fuori dai doppi apici, di conseguenza tutte le select avranno lo stesso name "squadra_ospite".

    Codice PHP:
    echo '<select name="squadra_ospite'.$i.'">'
    Non so come tu abbia fatto, ma funziona.
    Se hai due minuti di tempo, potresti spiegarmi quando e come mettere apici e doppi apici?
    Ti ringrazio in ogni caso, saluti

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    98
    Altro problema: volendo passare adesso all'altro script php il contenuto della variabile come devo fare?
    Sto utilizzando il seguente codice
    codice:
    ($squadra_ospite.$i) = ($_POST['"squadra_ospite'.$i.'"']);
    ma ricevo questo errore: Parse error: syntax error, unexpected '=' in ...

  6. #6
    Puoi recuperare il dato post in questa maniera:
    codice:
    $var=$_POST['squadra_ospite'.$i];


    In precedenza non funzionava perché il tag select risultante dall'echo che facevi era il seguente:
    codice:
    <select name="squadra_ospite"0>
    Come ti ho scritto nel post precedente, $i era fuori dai doppi apici.


    Di conseguenza, per il browser, il name della select era "squadra_ospite" e non "squadra_ospite0".

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    98
    E invece questo echo come dovrei impostarlo?
    codice:
    echo "<input type=\"text\" name=\"'Giorno'.$i.\" required pattern=\"[0-9]{2,2}\" title=\"E' ammessa soltanto una coppia di numeri [01-31]\" placeholder=\" GG*\">";
    Purtroppo non riesco proprio a capire il criterio per la corretta assegnazione degli apici, singoli o doppi che siano

  8. #8
    codice:
    echo "<input type=\"text\" name=\"Giorno".$i."\" required pattern=\"[0-9]{2,2}\" title=\"E' ammessa soltanto una coppia di numeri [01-31]\" placeholder=\" GG*\">";

    Quote Originariamente inviata da Tiime Visualizza il messaggio
    Purtroppo non riesco proprio a capire il criterio per la corretta assegnazione degli apici, singoli o doppi che siano
    Una lacuna non da poco...

    Apici singoli e doppi sono pressoché equivalenti.
    Codice PHP:
    $string='hello world!' 
    E' esattamente equivalente a:
    Codice PHP:
    $string="hello world!" 
    Usando i gli apici doppi potresti incorporare le variabili direttamente nella stringa ma questa è una questione che possiamo tralasciare.

    Per concatenare le stringhe si usa l'operatore "punto" (.) come dovresti già sapere.
    Qui trovi maggiori dettagli ed esempi:
    http://php.net/manual/en/language.operators.string.php

    Per inserire una variabile in una stringa devi "spezzare" la stringa e, tramite l'operatore "punto" incorporare la variabile, quindi è indifferente il tipo di marcatore che usi per dichiarare la stringa, nel senso che puoi racchiudere la tringa sia tra apici doppi che singoli
    Codice PHP:
    $var='due';

    $string="uno ".$var." tre";
    //oppure
    $string='uno '.$var.' tre'
    Personalmente, quando devo racchiudere in una stringa del codice HTML, preferisco usare gli apici singoli per non dover usare il carattere di escape sui doppi apici che delimitano gli attributi dei tags.
    Codice PHP:
    $html='<p class="bold">content</p>'
    Racchiudendo la stessa stringa tra apici doppi, il codice diventerebbe:
    Codice PHP:
    $html="<p class=\"bold\">content</p>"
    L'anteslash prima dei doppi apici indica, all'interprete php, che quell'apice doppio fa parte della stringa e non la delimita.

    Un metodo ancora più pratico per far stampare a PHP del codice HTML è il seguente:
    Codice PHP:
    <?php

    for($i=0$i<10$i++){
        
    ?><select value="squadra_ospite<?php echo $i?>"><?php
    }

    ?>
    Nota che ho chiuso il marcatore di PHP prima dell'HTML da stampare a video e l'ho riaperto subito dopo.

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.