• User

    Problema inserimento dati in Database

    Salve, sto lavorando ad un form che deve funzionare in modo che inserendo Nome ed Email si riceva, alla email inserita nel form, un contenuto scaricabile e che poi salvi i dati inseriti in un Database. Per velocizzare il tutto ho creato sull'hosting un email Autoresponder, in questo modo appena si inviano i dati inseriti l'autoresponder invia il contenuto, ma per quanto riguarda l'inserimento nel Database non riesco a farlo funzionare (Pur essendo tutti i dati corretti). Ecco il sorgente:

    HTML

    <form name="formcoupon" method="post" action="inviamail.php"><tr>
     <td>
      <label for="name">Nome e Cognome</label>
      <input  type="text" name="name">
     </td>
    </tr>
    <br>
    <tr>
     <td>
      <label for="email">Email</label>
      <input  type="text" name="email">
     </td>
    </tr>
    <tr>
     <td>
      <input type="submit" value="Submit">   
     </td>
    </tr>
    </form>
    

    PHP

    <?php
    $dbhost = "HOST DEL DATABASE"; // Hosta database (localhost su altervista) 
    $dbuser = "NOME UTENTE DATABASE"; // Username database (tuo nick su altervista) 
    $dbpass = "PASSWORD UTENTE DATABASE"; // facoltativa su altervista 
    $dbname = "NOME DATABASE"; // Nome database (my_nick su altervista) 
    
    
    $db = mysql_connect($dbhost, $dbuser, $dbpass); // Connessione al database 
    mysql_select_db($dbname, $db); // Selezione database 
    
    
    mysql_query("INSERT INTO NOME TABELLA (name,email) VALUES(\"".$_POST['name']."\",\"".$_POST['email']."\")"); // Inserimento dati 
    
    
    mysql_close($db); // Disconnessione dal database
    
    
    if(isset($_POST['email'])) {
         
        // EDIT THE 2 LINES BELOW AS REQUIRED
        $email_to = "EMAIL AUTORESPONDER";
        $email_subject = "Coupon";
         
        $first_name = $_POST['name']; // required
        $email_from = $_POST['email']; // required
         
        $email_message = "Dati.\n\n";
         
        function clean_string($string) {
          $bad = array("content-type","bcc:","to:","cc:","href");
          return str_replace($bad,"",$string);
        }
         
        $email_message .= "First Name: ".clean_string($first_name)."\n";
        $email_message .= "Email: ".clean_string($email_from)."\n";
         
    // create email headers
    $headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
    @mail($email_to, $email_subject, $email_message, $headers);  
    ?>
     
    <!-- include your own success html here -->
     
    Le Abbiamo Inviato un Coupon!
     
    <?php
    }
    ?>
    

    Grazie :smile5:


  • User

    Ciao,
    prova a fare il catch dell'errore in fase di insert utilizzando il comando "die" come nel seguente esempio:
    mysql_query("INSERT INTO NOME TABELLA (name,email) VALUES("".$_POST['name']."","".$_POST['email']."")") or die ('Error insert: ' . mysql_error());

    Ciao
    Mik


  • User

    Ciao, grazie mille per aver risposto. Comunque alla fine ho risolto! C'era un piccolo problema di comunicazione all'interno del Database stesso!


  • User

    Ok, alla prossima!