Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    131

    passare un valore di una select in una variabile php

    ciao vorrei sapere come passare la scelta effettuata in una select html ad una variabile php....io ho una file php dove c'è una form con una select(ecco il codice):

    <?php
    mysql_connect("localhost", "root", "root") or die(mysql_error());
    mysql_select_db("sviluppo") or die(mysql_error());

    $queryid="SELECT nome FROM materiale";
    $risultatiid = mysql_query($queryid);
    ?>




    <html>

    <head>
    <title>Inserimento</title>
    </head>

    <body>
    <div>
    <table align=center bgcolor=#FFFFCC border=2 cellpadding=10 bordercolordark=#CC9900>
    <form action= vaiinsecosa.php method=post>
    <tr><td>Nome</td> <td><input type="text" name="nome2"/></td></tr>
    <tr><td>Materiale</td> <td>
    <select>
    <?php
    while ($record = mysql_fetch_array($risultatiid)) {
    echo "<option>$record[nome]</option>";
    }
    ?>
    </select> </td></td></tr>

    </table>
    </div>
    <div>
    <p align="center"> <input type="submit" name="submit" value="Registra"/></p>
    </div>
    </form>
    </body>

    </html>


    e poi ho la pagina "vaiinsecosa.php" dove mi stampo la stringa della textbox(questa me la stampa) invece la scelta della select mi da errore...cosa devo fare?

    <?php
    mysql_connect("localhost", "root", "root") or die(mysql_error());
    mysql_select_db("sviluppo") or die(mysql_error());


    $nome=$_POST['nome2']; //nome2 è la stringa che prendo dalla textbox

    $nomemat = $_POST["nome"]; //scelta select

    echo $nome;
    echo $nomemat;


    ?>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Devi rivederti un po' la sintassi html.

    <select>

    non hai assegnato alcun attributo name, come fa php a sapere come si chiama il campo da recuperare? $_POST['... cosa? ... ']

    <option>blabla</option>
    il value dove sta?

    inoltre, gli attributi mettili sempre tra apici, e al form dagli almeno un "name".
    <form action= vaiinsecosa.php method=post>

    diventa

    <form name='nome_form' action='vaiinsecosa.php' method='post'>

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    131
    scusa l'attributo un record di "nome" ...come lo devo modificare?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    L'attributo di un record? What?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    131
    io per mettere la stringa "nome2" della tabella faccio $nome=$_POST['nome2'];
    per assegnare alla variabile $nomemat=???????

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    <select name='nome2'>

    inoltre agli <option> devi metterci un value, altrimenti $_POST['nome2'] sarà sempre vuota.
    <option value='...'>blabla</option>

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    131
    si ma se vedi dalla prima pagina la select è riempita dagli elementi di una tabella di cui tiene un attributo di nome "nome"....scusa il gioco di parole

  8. #8
    Utente di HTML.it L'avatar di DjBart
    Registrato dal
    Jan 2009
    Messaggi
    346
    se ho capito bene tu devi prendere i valori che il while da in uscita ?!?

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Originariamente inviato da vide91
    si ma se vedi dalla prima pagina la select è riempita dagli elementi di una tabella di cui tiene un attributo di nome "nome"....scusa il gioco di parole
    echo "<option>$record[nome]</option>";

    questo stampa semplicemente l'elemento, ma non associa alcun valore all'option.

    Link

    E studia prima, invece di avventurarti a fare delle cose a caso.

  10. #10
    Utente di HTML.it L'avatar di DjBart
    Registrato dal
    Jan 2009
    Messaggi
    346
    Come ha detto Alhazred basta che cambi
    Codice PHP:
    echo "<option>$record[nome]</option>"
    con
    Codice PHP:
    echo "<option value=".$record['nome'].">$record[nome]</option>"

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.