Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: problemi form select

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    77

    problemi form select

    Ciao a tutti,
    avevo un semplicissimo form in html e php che funzionava, poi ho dovuto inserire delle variabili per delle selezioni multiple e non funziona più: probabilmente non riesco a passare dei parametri corretti...ma non riesco a trovare nessun script già fatto per vedere dove sbaglio.
    così ora ho la pagina dei contatti fuori uso
    Qualcuno ha voglia di aiutarmi? Grazie!!!!!

    Vi allego il codice html e php

    <form method="post" action="mailto.php">
    ....
    .......
    <td> Oggetto </td>
    <td> <select name="a">
    <option value"Selezione">Selezione</option>
    <option value="offerte"> Offerte </option>
    <option value="promozioni">Promozioni</option>
    <option value="servizi">Servizi</option>
    <option value="prodotti">Prodotti</option>
    <option value="supporto">Supporto</option>
    <option value="assistenza">Assistenza</option>
    </select> </td>
    </tr>
    ........
    <td> <input type="button" value="Invia" onClick="Modulo()"> <input type="reset" value="Reset">
    </td>
    </tr>
    </table>
    </form>

    e questo è il mio codice php

    <?php
    $oggi = date("j F Y G:i");
    $sito = "http://www.miosito.it";
    $ip = "$_SERVER[REMOTE_ADDR]";
    $browser = "$_SERVER[HTTP_USER_AGENT]";
    $to = "hekate88@libero.it";
    $soggetto = "Modulo da $sito";
    $var = $_POST['a'];


    if(trim($_POST['nome']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == ""OR trim($_POST['a']) == "" ) {
    echo "<font color=\"#FF0000\" face=\"verdana\" size=\"2\">Tutti i campi sono obbligatori</font>";

    } else {

    $body = "Modulo inviato il $oggi da $ip - $browser \n\n";
    $body = "Nome: $_POST[nome] \nEmail: $_POST[email] \nMessaggio: $_POST[messaggio]";

    mail("$to","$soggetto", "$a", "$body");

    ?>

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221

    Re: problemi form select

    Originariamente inviato da La roby
    e questo è il mio codice php

    <?php
    $oggi = date("j F Y G:i");
    $sito = "http://www.miosito.it";
    $ip = "$_SERVER[REMOTE_ADDR]";
    $browser = "$_SERVER[HTTP_USER_AGENT]";
    $to = "hekate88@libero.it";
    $soggetto = "Modulo da $sito";
    $var = $_POST['a'];


    if(trim($_POST['nome']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == ""OR trim($_POST['a']) == "" ) {
    echo "<font color=\"#FF0000\" face=\"verdana\" size=\"2\">Tutti i campi sono obbligatori</font>";

    } else {

    $body = "Modulo inviato il $oggi da $ip - $browser \n\n";
    $body = "Nome: $_POST[nome] \nEmail: $_POST[email] \nMessaggio: $_POST[messaggio]";

    mail("$to","$soggetto", "$a", "$body");

    ?>
    il terzo parametro della funzione mail dovrebbe essere il corpo del messaggio, con $a che cosa vuoi passare? $a non esiste nel tuo codice, non viene mai definita, a che ti serve?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    77
    Grazie!, quella variabile mi serve per la select a scelta multipla <select name="a"> che corrisponde all'oggetto del mio form.
    Per l'oggetto del mio form l'utente può scegliere tra 5 opzioni e volevo fare passare quella variabile a php, in modo che invii il dato all'interno della mail...

    Nella mail dovrebbe venire fuori:
    nome
    mail
    oggetto: scelta multipla quindi promozioni or servizi or prodotti or ....
    testo

    pensavo di averla dichiarata $var = $_POST['a']; ma evidentemente no...

    Grazie!!!!!!!

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    con $var = $_POST['a']; crei una variabile che si chiama var .... che non è la stessa cosa di $a, e in oltre la devi mettere in $body per fartela arrivare nel messaggio.

    prova così:

    Codice PHP:
    $oggi date("j F Y G:i");
    $sito "http://www.miosito.it";
    $ip "$_SERVER[REMOTE_ADDR]";
    $browser "$_SERVER[HTTP_USER_AGENT]";
    $to "hekate88@libero.it";
    $soggetto "Modulo da $sito";


    if(
    trim($_POST['nome']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == ""OR trim($_POST['a']) == "" ) {
    echo 
    "<font color=\"#FF0000\" face=\"verdana\" size=\"2\">[b]Tutti i campi sono obbligatori[/b]</font>";

    } else {

    $body  "Modulo inviato il $oggi da $ip - $browser \n\n";
    $body .= "Nome: $_POST[nome] \nEmail: $_POST[email] \n";
    $body .= "Oggetto: $_POST[a]\n";
    $body .= "Messaggio: $_POST[messaggio]";

    mail("$to","$soggetto""$body"); 

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    77
    Grazie mille ma purtroppo niente, è come se la pagina html e php non si parlassero, infatti quando schiaccio invio, non succede nulla e neanche quando schiaccio invio senza compilare i campi non appare la pagina php come dovrebbe...
    Eppure prima di aggiungere la selection form, il form funzionava quindi non dovrebbe essere un problema di collegamenti...

  6. #6
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    c'è un errore di sintassi, non hai chiuso l'else, e io ho copiato e corretto dal tuo quindi è sbagliato anche il mio codice.

    Così dovrebbe andare:

    Codice PHP:
    $oggi date("j F Y G:i");
    $sito "http://www.miosito.it";
    $ip "$_SERVER[REMOTE_ADDR]";
    $browser "$_SERVER[HTTP_USER_AGENT]";
    $to "hekate88@libero.it";
    $soggetto "Modulo da $sito";


    if(
    trim($_POST['nome']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == ""OR trim($_POST['a']) == "" ) {
    echo 
    "<font color=\"#FF0000\" face=\"verdana\" size=\"2\">[b]Tutti i campi sono obbligatori[/b]</font>";

    } else {

    $body  "Modulo inviato il $oggi da $ip - $browser \n\n";
    $body .= "Nome: $_POST[nome] \nEmail: $_POST[email] \n";
    $body .= "Oggetto: $_POST[a]\n";
    $body .= "Messaggio: $_POST[messaggio]";

    mail("$to","$soggetto""$body");


  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    77
    Hai ragione, infatti l'avevo già corretto, ma proprio non va e proprio a questo punto non riesco a capire perchè... ho provato a riguardalo, ma non vedo niente di strano, e non mi da nessun errore neanche di sintassi...proprio non carica il php... ma spero proprio chi la dura la vince..

    Grazie di tutto!!!!!!!!

  8. #8
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Cerchiamo di capire dove è l'errore mettendo un po di segnalatori, prova così e se la pagina di inoltro continua a essere vuota posta il codice del form, altrimenti riporta che cosa ottieni.

    Codice PHP:
    echo "Inizio procedura di invio mail</br>";
    $oggi date("j F Y G:i");
    $sito "http://www.miosito.it";
    $ip "$_SERVER[REMOTE_ADDR]";
    $browser "$_SERVER[HTTP_USER_AGENT]";
    $to "hekate88@libero.it";
    $soggetto "Modulo da $sito";


    if(
    trim($_POST['nome']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == ""OR trim($_POST['a']) == "" ) {
    echo 
    "<font color=\"#FF0000\" face=\"verdana\" size=\"2\">[b]Tutti i campi sono obbligatori[/b]</font>";

    } else {
    echo 
    "Tutti i campi risultano completi procedo all'invio dell'email</br>";

    $body  "Modulo inviato il $oggi da $ip - $browser \n\n";
    $body .= "Nome: $_POST[nome] \nEmail: $_POST[email] \n";
    $body .= "Oggetto: $_POST[a]\n";
    $body .= "Messaggio: $_POST[messaggio]";

       if(!
    mail("$to","$soggetto""$body")){
       echo 
    "Attenzione! un problema nella funzione mail ha impedito l'invio";
       }else {
        echo 
    "Email inviata correttamente a $to";
       }


  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    77
    Grazie mille, ma non funziona ovvero non mi segnala nessun errore...

    Ho cercato di semplificare il problema: ho creato ex novo una pagina contenente solo il form, e una pagina solo con codice php che mi hai segnalato (prova.php) il risultato lo puoi vedere su digitalhandworks.it che è il mio sito di prova.

    Precedente il pulsante di invio onClick richiamava una funzione modulo () in javascript che serviva per controllo e per scomporre il problema e semplificarlo ho tolto questo collegamento richiamando direttamente la pagina php col codice che gentilmente mi hai corretto.
    Come vedrai da sorgente pagina c'è solo il form che attraverso il metodo action richiama la pagina prova.php col codice che mi hai postato. quando clicci invio non succede nulla...
    Nel mentre mi sono rivista tutti i manuali per creare form e collegarli a php, perchè a questo punto il mio dubbio è che ho collegato male le pagine, ma non mi sembra...
    Probabilmente non capisco niente di php...
    Cmq continuo
    Grazie mille!

  10. #10
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Si il problema è in realtà che la pagina prova.php non viene proprio richiamata, nel senso che se vuoi togliere il javascript che ti faceva il submit il pulsante non deve essere più di tipo 'button' ma 'submit' inoltre nella pagina php per controllare le variabili usi POST quindi anche nel form devi dichiarare il metodo in cui intendi spedire la variabili alla pagina php:

    prova così:

    codice:
    <form method="post" action="prova.php" method="post" >
    <table id="oggetto" border="0" cellspacing="2" cellpadding="2">
      <tr>
        <td>Nome:</td>
    
        <td><input type="text" size="31" name="nome" maxlength="30"></td>
      </tr>
      <tr>
        <td>Email:</td>
    
        <td><input type="text" size="31" name="email" maxlength="30"></td>
      </tr>
      <tr>
     <tr>
        <td> Oggetto </td>
        <td> <select name="a">
         <option value="Selezione">Selezione</option>
    	 <option value="offerte"> Offerte </option>
    
         <option value="promozioni">Promozioni</option>
         <option value="servizi">Servizi</option>
         <option value="prodotti">Prodotti</option>
         <option value="supporto">Supporto</option>
         <option value="assistenza">Assistenza</option>
        </select> </td>
    
        </tr>
        <td>Messaggio:</td>
        <td><textarea rows="7" cols="24" name="messaggio"></textarea></td>
      </tr>
      <tr>
      <td></td>
      <td><input type="submit" name="invia" value="Invia" /> <input type="reset" name="reset" value="Reset">
    
        </td>
      </tr>
    </table>
     </form>

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.