Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    problema urgente con invio email

    Ragazzi ho fatto questo form per inviare un email con allegato, e farla arrivare al mittente e al destinatario, funziona tutto ma mi duplica

    Codice PHP:

    <?php

    // se viene infiato form controlla
    if (isset($_GET['action']) && $_GET['action'] == "inserimento") { // 1
    // setto le variabili
    //includiamo il file
    include('config.php');

    // controllo del carettere della texarea
    if(($_POST['password'] == '') || ($_POST['username'] == '')){

    echo 
    "<script>";
                echo 
    "alert('Tutti i campi sono obbligatori');";
                echo 
    "</script>";    
    }
    elseif (!
    eregi ('^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+.[a-z]{2,4}$'stripslashes(trim($_POST['username']))))
            {
                echo 
    "<script>";
                echo 
    "alert('inserire un indirizzo email valido');";
                echo 
    "</script>";
            } 
     else {

    $username=$_POST['username'];
    $password=$_POST['password'];

    $sql "INSERT INTO `utente` (nome, cognome, ente_appartenenza, qualifica1, indirizzo, tel1, email,  cf, quota, ricevimento, cena, username, password)  VALUES ('$nome', '$cognome', '$ente_appartenenza', '$qualifica1', '$indirizzo', '$tel1', '$email', '$quota', '$ricevimento', '$cena', '$cf', '$username', '$password')";
                                                    @
    mysql_query($sql);
                                                    
                                                    
    // email 

                                        
    $destinatario "werwolfe@werwolfe.it";
                                        
    $mittente $_POST['username'];
                                        
    $oggetto "AIIA 2009: conferma registrazione all'area riservata";
                                        
    $messaggio "AIIA 2009: conferma registrazione all'area riservata\n";
                                        
    $messaggio .= "\n";
                                        
    $messaggio .= "La registrazione all'area riservata e' avvenuta con successo.\n";
                                        
    $messaggio .= "Queste sono username e password per accedere all'area riservata: \n";
                                        
    $messaggio .= "username:" $_POST['username'] . "\n";
                                        
    $messaggio .= "password:" $password "\n";
                                        
                                    if (
    mail("$destinatario","$oggetto","$messaggio","From:$mittente")) {
      echo 
    "<script>";
                echo 
    "alert('Riceverà un e-mail di conferma al suo indirizzo di posta elettronica registrato.');";
                echo 
    "</script>";
                
                
      }else{
      echo 
    "Si &egrave; verificato un errore nell'invio.";
      }
      if (
    mail("$mittente","$oggetto","$messaggio","From:$mittente"))
        
        
      {
     
    // email doppia
                
      
    }else{
      echo 
    "Si &egrave; verificato un errore nell'invio.";
      }
                                            
    }

    }

    ?>
    Qual'è il problema

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    24
    Hai inserito due volte il codice di invio:

    Codice PHP:
      if (mail("$mittente","$oggetto","$messaggio","From:$mittente")) 

  3. #3
    se lo tolgo mi invierà cmq la a me e al soggetto? la stessa email? ascolta, però spesso me la duplica , quaduplica ecc..? io ho bisogno che la invia a me e a chi l'ha iscritta , una sola volta ciascuno , vabbene codice come sta fatto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    24
    Hai controllato cosa c'è dentro $mittente e $destinatario?

  5. #5
    Guarda è semplice form
    Codice PHP:
    <form action="registrazione.php?action=inserimento" method="post">
                                <
    table border="0" cellpadding="4" cellspacing="4" bgcolor="#CDDCEC">
                                  <
    tr
                                    <
    td colspan="2" valign="top">[b]Per gli utenti 
                                      non ancora registrati
    è necessario richiedere 
                                      una nuova registrazione
    .[/b]</td>
                                  </
    tr>
                                  <
    tr
                                    <
    td valign="top"Username</td>
                                    <
    td valign="top"> <div
                                        <
    input name="username" type="text" id="username" size="30">
                                        
    Inserire la propria e-mailVerranno inviati 
                                        a questa e
    -mail i dati per l'accesso.</div></td>
                                  </tr>
                                  <tr> 
                                    <td valign="top"> Password</td>
                                    <td valign="top"> <div> 
                                        <input name="password" type="text" id="password" size="30">
                                        Inserire una password a piacere.</div></td>
                                  </tr>
                                  <tr> 
                                    <td colspan="2">Dopo aver cliccato su &quot;Invia&quot;, 
                                      è possibile accedere immediatamente all'
    area 
                                      riservata per l
    'iscrizione con e-mail e password 
                                      appena scelti. </td>
                                  </tr>
                                  <tr> 
                                    <td><div> 
                                        <div align="center"> 
                                          <input type="submit" value="Invia">
                                        </div>
                                      </div></td>
                                    <td></td>
                                  </tr>
                                </table>
                </form> 
    NIente di che l'utente mette email, e il modulo dovrebbe arrivare a me e all'altra persona.

    Il bello che provandolo funziona, però se faccio più prove contemporaneamente o con un lasso di tempo di 2 secondi di distanza , mi manda anche 20 volte la stessa email.

    COme posso fare?

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    24
    Non avevo letto con attenzione tutto il codice.

    Mi sembra di capire che
    Codice PHP:
    $destinatario "werwolfe@werwolfe.it"
    sia la tua email, e
    Codice PHP:
    $mittente $_POST['username']; 
    sia quella dell'utente.
    nel primo invio
    Codice PHP:
    if (mail("$destinatario","$oggetto","$messaggio","From:$mittente")) { 
    il destinatario sei tu e il mittente è l'utente che si è registrato.
    In genere il mittente di una email generata da un sito dovrebbe essere una email locale, quindi una tua email oppure postmaster@werwolfe.it. Non ho mai provato, ma non mi semmbra corretto.

    nel secondo invio
    Codice PHP:
    mail("$mittente","$oggetto","$messaggio","From:$mittente"
    in pratica l'utente si invia l'email a se stesso.
    Anche qui il 'From' non mi sembra corretto.

    Prova ad usare la classe PHPMailer per l'invio di email dal sito e non avrai problemi.

  7. #7
    A funzionare funziona, ma non capisco perchè quando faccio più prove , velocemente mi duplica tutto , ma se lo faccio dopo un minuto funziona tutto correttamente come mai? sollecito troppo il server?

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.