Visualizzazione risultati 1 fino 8 di 8

Discussione: problema if e else aiuto

  1. #1
    Guest

    Predefinito problema if e else aiuto

    ho questo form con collegato un file invio php
    funziona tutto tranne il maledetto if ed else nel php o meglio se riempio tutti i campi svolge le funzioni nell'else ma poi a video restituisce il risultato dell'if
    viceversa se non compilo un campo non fa nulla di quello che c'e' nell'else e svolge l'if

    chiaro no?

    allego i due codici dei 2 file in oggetto
    vi prego aiutatemi sto impazzendo
    premessa son un totale inetto di php ma mi piace cosi' tanto....


    codice del form html modulo.html
    Codice HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>La Coccinella form iscrizione</title>
    <style type="text/css">
    <!--
    body {
    	background-image: url(../sfondo.jpg);
    }
    .style3 {font-family: English; font-size: 24px; }
    -->
    </style></head>
    
    <body>
    <form action="invio.php" method="post" id="modulo">
        <p align="center"><img src="http://forum.it.altervista.org/TESTATA.jpg" width="30%" /></p>
        <table align="center">
      <tr>
        <td width="196"><span class="style3">E - Mail</span></td>
        <td width="455"><label>
          <input name="mail" type="text" id="mail" size="30" />
        </label></td>
      </tr>
      <tr>
        <td><span class="style3"> Ragione Sociale </span></td>
        <td><label>
          <input name="object" type="text" id="object" size="30" />
        </label></td>
      </tr>
      <tr>
        <td><span class="style3"> Partita Iva</span></td>
        <td><label>
          <input name="piva" type="text" id="piva" size="30" />
        </label></td>
      </tr>
      <tr>
        <td><span class="style3"> Indirizzo </span></td>
        <td><label>
          <input name="ind" type="text" id="ind" size="30" />
        </label></td>
      </tr>
      <tr>
        <td><span class="style3"> Cap </span></td>
        <td><label>
          <input name="cap" type="text" id="cap" size="30" />
        </label></td>
      </tr>
      <tr>
        <td><span class="style3"> Citt&agrave;</span></td>
        <td><label>
          <input name="citta" type="text" id="citta" size="30" />
        </label></td>
      </tr>
      <tr>
        <td><span class="style3">Provincia</span></td>
        <td><label>
          <input name="prov" type="text" id="prov" size="30" />
        </label></td>
      </tr>
      <tr>
        <td><span class="style3"> Telefono </span></td>
        <td><label>
          <input name="tel" type="text" id="tel" size="30" />
        </label></td>
      </tr>
      <tr>
        <td><label>
          
        </label></td>
        <td><label>
         <input type="submit" name="submit" id="submit" value="Invia" /> <input type="reset" name="cancella" id="cancella" value="Ripristina" />
        </label></td>
      </tr>
    </table>
        
    </form>
    </body>
    </html>
    codice del file invio.php
    Codice PHP:
    <?php

    //assegnazione variabili per check
    $var_ind=$_POST['ind'];
    $var_object=$_POST['object'];
    $var_mail=$_POST['mail'];
    $var_tel=$_POST['tel'];
    $var_piva=$_POST['piva'];
    $var_citta=$_POST['citta'];
    $var_prov=$_POST['prov'];
    $var_cap=$_POST['cap'];

    //CONTROLLI

    if($var_mail == "")
    {
    echo
    "Attenzione campo mancante!";exit();
    }
    if(
    $var_object == "")
    {
    echo
    "Attenzione campo mancante!";exit();
    }
    if(
    $var_piva == "")
    {
    echo
    "Attenzione campo mancante!";exit();
    }
    if(
    $var_ind == "")
    {
    echo
    "Attenzione campo mancante!";exit();
    }
    if(
    $var_cap == "")
    {
    echo
    "Attenzione campo mancante!";exit();
    }
    if(
    $var_citta == "")
    {
    echo
    "Attenzione campo mancante!";exit();
    }
    if(
    $var_prov == "")
    {
    echo
    "Attenzione campo mancante!";exit();
    }
    if(
    $var_tel == "")
    {
    echo
    "Attenzione campo mancante!";exit();
    }

    else
    {
    $to = "questionariococci@gmail.com";
    $headers = "From: " . $_POST['mail'] . "\n";
    // soggetto della mail
    $subject = "REGISTRAZIONE";

    // corpo messaggio
    $body = "Contenuto del modulo:\n\n";

    $body .= "Inviata da: " . trim(stripslashes($_POST["mail"])) . "\n"; //indirizzo e-mail che manda la mail, come si vede riprende l'id del campo destinato all'inserimento della mail del mittente

    $body .= "Ragione Sociale: " . trim(stripslashes($_POST["object"])) . "\n"; //oggetto del messaggio
    $body .= "p.iva: " . trim(stripslashes($_POST["piva"])) . "\n"; //messaggio
    $body .= "indirizzo: " . trim(stripslashes($_POST["ind"])) . "\n"; //messaggio
    $body .= "cap: " . trim(stripslashes($_POST["cap"])) . "\n"; //messaggio
    $body .= "città: " . trim(stripslashes($_POST["citta"])) . "\n"; //messaggio
    $body .= "provincia: " . trim(stripslashes($_POST["prov"])) . "\n"; //messaggio
    $body .= "telefono: " . trim(stripslashes($_POST["tel"])) . "\n"; //messaggio

    //database
    $DB_host = 'localhost';
    $DB_user = 'user';
    $DB_password = 'password';
    $DB_name = 'nomedatabase';

    $link = mysql_connect($DB_host, $DB_user, $DB_password);
    $db_selected = mysql_select_db('nomedatabase', $link);

    $mail1 = trim($_POST['mail']);
    $object1 = trim($_POST['object']);
    $piva1 = trim($_POST['piva']);
    $ind1 = trim($_POST['ind']);
    $cap1 = trim($_POST['cap']);
    $citta1 = trim($_POST['citta']);
    $prov1 = trim($_POST['prov']);
    $tel1 = trim($_POST['tel']);

    //preparo query
    $query = "INSERT INTO clienti (mail,object,piva,ind,cap, citta, prov, tel)
    VALUES ('
    $mail1','$object1','$piva1','$ind1','$cap1','$citta1','$prov1','$tel1')";
    //invio
    $result = mysql_query($query);
    //chiudo connessione
    mysql_close();

    $messaggio = urlencode("Inserimento effettuato con successo (ID=$id_inserito)");
    header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);




    // invio mail
    mail($to, $subject, $body, $headers); // SE L'INOLTRO E' ANDATO A BUON FINE...

    echo "<script>window.location = 'http://www.lacoccinella.it/grazie.html'</script>";

    }
    ?>
    Ultima modifica di alemoppo : 06-03-2014 alle ore 18.16.25 Motivo: +tag

  2. #2
    Guest

    Predefinito

    Prova a farlo in questa forma
    Codice PHP:
    if (isset($_POST['submit')) {
    if (isset(
    $_POST['1..CAMPO'])) { $_POST['1..CAMPO'] = $Campo1 ;} else {echo"Manca Campo 1" ; }
    if (isset(
    $_POST['2..CAMPO'])) { $_POST['2..CAMPO'] = $Campo2 ;} else {echo"Manca Campo 2" ; }
    etc
    }
    Ultima modifica di alemoppo : 06-03-2014 alle ore 18.22.48 Motivo: +tag

  3. #3
    Guest

    Predefinito grazie ma..

    Citazione Originalmente inviato da interessantissimo Visualizza messaggio
    Prova a farlo in questa forma
    Codice PHP:
    if (isset($_POST['submit')) {
    if (isset(
    $_POST['1..CAMPO'])) { $_POST['1..CAMPO'] = $Campo1 ;} else {echo"Manca Campo 1" ; }
    if (isset(
    $_POST['2..CAMPO'])) { $_POST['2..CAMPO'] = $Campo2 ;} else {echo"Manca Campo 2" ; }
    etc
    }


    ho provato mi da errore sulla prima riga dove metti il campo submit

  4. #4
    Guest

    Predefinito

    per essere piu' preciso ho compilato cosi'

    $var_ind=$_POST['ind'];
    $var_object=$_POST['object'];
    $var_mail=$_POST['mail'];
    $var_tel=$_POST['tel'];
    $var_piva=$_POST['piva'];
    $var_citta=$_POST['citta'];
    $var_prov=$_POST['prov'];
    $var_cap=$_POST['cap'];

    if (isset($_POST['submit')) {
    if (isset($_POST['ind'])) { $_POST['ind'] = $ind ;} else {echo"Manca indirizzo" ; }
    if (isset($_POST['object'])) { $_POST['2..object'] = $object ;} else {echo"Manca ragione sociale" ; }
    if (isset($_POST['mail'])) { $_POST['mail'] = $mail ;} else {echo"Manca la mail" ; }
    if (isset($_POST['tel'])) { $_POST['tel'] = $ind ;} else {echo"Manca il telefono" ; }
    if (isset($_POST['piva'])) { $_POST['piva'] = $piva ;} else {echo"Manca la partita iva" ; }
    if (isset($_POST['citta'])) { $_POST['citta'] = $citta ;} else {echo"Manca la città" ; }
    if (isset($_POST['prov'])) { $_POST['prov'] = $prov ;} else {echo"Manca la provincia" ; }
    if (isset($_POST['cap'])) { $_POST['cap'] = $cap ;} else {echo"Manca il cap" ; }
    }


    poi ho messo l'else con tutto il resto del codice

    potresti postarmi il codice completo grazie mille
    Ultima modifica di FORMCONTATTI : 06-03-2014 alle ore 18.46.45

  5. #5
    Guest

    Predefinito

    Manca una parentesi quadra:
    Codice PHP:
    if (isset($_POST['submit'])) {
    Ciao

  6. #6
    Guest

    Predefinito

    Ciao,
    potresti semplificarti la vita usando jquery e validare il form prima di inviarlo.
    Trovi una guida semplice a questo link:
    http://www.3techweb.it/index.php/blo...-validate.html

  7. #7
    Guest

    Predefinito

    ho messo la parentesi quadra il mio problema e' che con il codice che ho postato in origine funziona tutto cioe'
    se manca un campo mi da errore
    se e' tutto compilato manda la mail, compila il dbase ma poi mi da comuqnue messaggio di errore a video invece che reindirizzarmi alla pagina richiesta
    perche' dannazione?

    con il tuo codice mathis mi fa la stessa cosa e in piu' non mi compila i dati nell'invio
    che maledetto rompicapo

  8. #8
    Guest

    Predefinito

    Il problema è logico...
    Se tu fai un
    PRIMO if
    SECONDO if
    TERZO if
    else

    L'else vale per il TERZO if quindi ti consiglio di provare a fare:
    PRIMO if
    else if
    else if
    else

    Se anche così ti da errore provo a controllare meglio il codice..

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •