• User Newbie

    invio mail solo ad alcuni destinatari

    Innanzi tutto un salutone a tutti, spero che qualcuno mi possa aiutare perchè non riesco a trovare nessuna risposta alla mia domanda.
    Vi pongo il mio quesito.
    Ho realizzato un piccolo script che consente l'invio di una mail ad una lista di utenti registrati e fin qui tutto funziona.
    Ora il mio problema è questo, se io volessi scegliere solo alcuni destinatari a cui inviare la mail, ad esempio mettendo un check sui destinatari voluti, come devrei fare? Non riesco proprio a trovare una soluzione.
    Non se se mi sono spiegata, cmq vi posto il codice così forse è più chiaro.

    In questa prima pagina creo un form in cui inserire l'oggetto e il testo della mail>
    <html>
    <head>
    <title></title>
    </head>
    <body>
    <form name="newsletter" action="checkNewsletter.php">
    Oggetto
    <input type="text" name="oggetto" size="65">
    Testo
    <textarea name="testo" cols="60" rows="10"></textarea>
    <input type="submit" name="submit" value="Procedi" action="checkNewsletter.php">
    </form>
    </body>

    In questa seconda pagina richiamo con la select,dalla mia tabella utenti, i valori relativi al campo mail, ciclo il risultato e poi lo appico alla funzione mail.

    <?php
    session_start();
    include("config.inc.php");
    $oggetto=$_REQUEST['oggetto'];
    $testo=$_REQUEST['testo'];

    $sqlpg ="SELECT mail FROM utenti";
    $risultatipg = mysql_query($sqlpg) or die("Error #". mysql_errno() . ": " . mysql_error());
    while ($row = mysql_fetch_array($risultatipg))
    {
    $mail=$row['mail'];
    echo"<table width='100%' border='0'>
    <tr>
    <td><div align='center'>$mail</div></td>
    </tr>
    </table>
    ";
    //$result = mysql_query("SELECT mail FROM utenti");
    //$login_check = mysql_fetch_row$result);
    if(mail($mail, $oggetto, $testo))
    {
    echo "Email inviata con successo.<br>";
    }
    else
    {
    echo "errore invio email.<br>";
    }

    }
    ?>

    Se io inserissi vicino ai campi mail una colonna per mettere una checkbox cosa dovrei scrivere per fargli inviare la mail sono agli utenti checkati?
    Non riesco a capire quale è la logica di questa operazione.
    Per favore, potete aiutarmi???? :ciauz:


  • User Attivo

    In pratica quello che dovresti fare è modificare anche la prima pagina, quella del form.
    In quella devi aggiungere il ciclo php/mysql sui destinatari e la crezione del check, qualcosa tipo (è proprio buttato lì, devi adattarlo):

    
    $sqlpg ="SELECT mail FROM utenti";
    $risultatipg = mysql_query($sqlpg) or die("Error #". mysql_errno() . ": " . mysql_error());
    $i = 1;
    while ($row = mysql_fetch_array($risultatipg))
    {
    echo $row['mail'] . "<input type=check id=$i><br />\n";
    }
    
    

    Poi nel secondo fai devi controllare i check e nel caso siano a on mandare la mail.


  • User Newbie

    @Senamion said:

    In pratica quello che dovresti fare è modificare anche la prima pagina, quella del form.
    In quella devi aggiungere il ciclo php/mysql sui destinatari e la crezione del check, qualcosa tipo (è proprio buttato lì, devi adattarlo):

    >
    $sqlpg ="SELECT mail FROM utenti";
    $risultatipg = mysql_query($sqlpg) or die("Error #". mysql_errno() . ": " . mysql_error());
    $i = 1;
    while ($row = mysql_fetch_array($risultatipg))
    {
    echo $row['mail'] . "<input type=check id=$i><br />\n";
    }
    
    >```  
    Poi nel secondo fai devi controllare i check e nel caso siano a on mandare la mail.
    
    Grazie  Senamion ma  non ho capito se devo comunque  creare un nuovo campo nella mia tabella utenti per eseguire il  check e quindi devo effettuare un aggiornamento di quella tabella oppure se posso fare il tutto senza andare a toccare la tabella .... pardon ma sono neofita e questa cosa mi sta facendo impazzire.... non riesco a trovare nulla da nessuna parte:x

  • User Attivo

    Non è necessario creare un nuovo campo.
    Fai un passo alla volta. Per prima cosa modifica il form (la prima pagina che hai postato) come ti ho detto, mettendo la mail è il check.
    A questo punto quando quella è sistemata cerca di ricavare i dati nella seconda. Vedrai che è meno difficile di quello che sembra.


  • User Newbie

    @Senamion said:

    Non è necessario creare un nuovo campo.
    Fai un passo alla volta. Per prima cosa modifica il form (la prima pagina che hai postato) come ti ho detto, mettendo la mail è il check.
    A questo punto quando quella è sistemata cerca di ricavare i dati nella seconda. Vedrai che è meno difficile di quello che sembra.

    Ok.... ho modificato il primo file inserendo il check ma ora come faccio ad inviare tutte le mail ricavate al secondo file? Credevo fosse sufficiente scrivere nel secondo file
    $mail = $_REQUEST['mail'];

    ma se poi faccio
    echo ("$mail");
    non mi fa vedere nulla, i dati relativi alle mail non sono trasmessi....
    SOS :bho: