Visualizzazione risultati 1 fino 16 di 16

Discussione: Email dal sito.....

  1. #1
    Guest

    Predefinito Email dal sito.....

    Come molti staranno già pensando io voglio mandare delle email dal sito e mi serve il codice ma nn è del tutto così,in pratica io il codice già ce l'ho e funziona così:
    si apre una finestra popup con il mittente già impostato tramite prendendo l'email da una tabella
    Quello ke vorrei fare io è prendere l'email del destinatario da un link ke è scritto nella pagina
    In pratica l'email funziona come link per aprire il popup e una volta aperto ci dovrebbe essere già il destinatario ke viene preso dal nome del link
    Forse mi sono un pò spiegato male quindi riporto un esempio

    riporto un esempio:
    prova.html
    Codice HTML:
    <script type="text/javascript">
     <!--
     function PopupCentrata() {
       var w = 500;
       var h = 320;
       var l = Math.floor((screen.width-w)/2);
       var t = Math.floor((screen.height-h)/2);
          window.open("invia.php","","width=" + w + ",height=" + h + ",top=" + t + ",left=" + l);
     }
     //-->
    </script>
    
    <a href="javascript:PopupCentrata()">destinatario@hotmail.it</a>
    invia.php
    Codice PHP:
    <?
    $username
    = "gbtchiaravalle";
    $password = "password";
    $host = "localhost";
    $database = "my_gbtchiaravalle";

    $db=mysql_connect($host, $username, $password) or die("Errore durante la connessione al database");
    mysql_select_db($database, $db) or die("Errore durante la selezione del database");
    if(isset(
    $_COOKIE['ID_my_site']))
    {
    $username = $_COOKIE['ID_my_site'];
    $pass = $_COOKIE['Key_my_site'];
    $check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
    while(
    $info = mysql_fetch_array( $check ))
    {

    if (
    $pass != $info['password'])
    {
    header("Location: index.php");
    }

    else
    {
    }
    }
    }
    else

    {
    header("Location: index.php");
    }
    $user=$_COOKIE['ID_my_site'];
    $dati=mysql_query("SELECT email FROM users WHERE username='$user'");
    while(
    $array=mysql_fetch_array($dati)){
    $tuaemail=$array[email];
    }
    ?>
    <table border="0">
    <form action="<?php echo $PHP_SELF;?>" method="post">
    <tr><td>Tua Email:</td><td>
    <? echo $tuaemail; ?>
    </td></tr>
    <tr><td>Email Destinatario:</td><td>
    <input type="text" name="emaild"> </td></tr>
    <tr><td>Titolo Email:</td><td>
    <input type="text" name="oggetto"></td></tr>
    <tr><td>Testo:</td><td>
    <textarea name="testo" rows="10" cols="40">
    </textarea>
    </td></tr>
    <tr><th colspan=2><input type="submit" name= "submit" value="Invia"></th></tr></table></form>
    <?
    $oggetto
    =$_POST['oggetto'];
    $testo = $_POST['testo'];
    if (isset(
    $_POST['submit'])) {

    if (!
    $_POST['emaild'] | !$_POST['oggetto'] | !$_POST['testo']) {
    die(
    '<div align=center><font color=red>Non hai completato tutti i campi richiesti!</font></div>');
    }
    $intestazioni= "From:$tuaemail\r\n";
    $intestazioni .= "X-Mailer: PHP/".phpversion();
    mail($_POST['emaild'],"$oggetto","$testo", $intestazioni);
    ?>
    <div align=center><font color=red>Email inviata!</font></div>
    <?
    }
    ?>
    Se nn avete capito provo a spiegarmi meglio!
    Fatemi sapere!

  2. #2
    Guest

    Predefinito

    Se non ho capito male ti basta cambiare il link che generi.

    invece che farlo cosi :
    Codice PHP:
    <a href="javascript:PopupCentrata()">destinatario@hotmail.it</a>
    lo crei cosi :
    Codice PHP:
    <a href="javascript:PopupCentrata('destinatario@hotmail.it')">destinatario@hotmail.it</a>
    e la funzione :
    Codice PHP:
    <script type="text/javascript">
    <!--
    function
    PopupCentrata(mail) {
    var
    w = 500;
    var
    h = 320;
    var
    l = Math.floor((screen.width-w)/2);
    var
    t = Math.floor((screen.height-h)/2);
    window.open("invia.php?mail=" + mail,"","width=" + w + ",height=" + h + ",top=" + t + ",left=" + l);
    }
    //-->
    </script>
    e nello script lo recuperi con
    Codice PHP:
    $_GET['mail']

  3. #3
    Guest

    Predefinito

    allora io ho modificato così:
    prova.html
    Codice HTML:
    <script type="text/javascript">
     <!--
     function PopupCentrata() {
       var w = 500;
       var h = 320;
       var l = Math.floor((screen.width-w)/2);
       var t = Math.floor((screen.height-h)/2);
          window.open("invia.php?mail=" + mail","","width=" + w + ",height=" + h + ",top=" + t + ",left=" + l);
     }
     //-->
    </script>
    
    <a href="javascript:PopupCentrata('prova@hotmail.it')">Apri la popup</a>
    invia.php
    Codice PHP:
    <?
    $username
    = "gbtchiaravalle";
    $password = "password";
    $host = "localhost";
    $database = "my_gbtchiaravalle";

    $db=mysql_connect($host, $username, $password) or die("Errore durante la connessione al database");
    mysql_select_db($database, $db) or die("Errore durante la selezione del database");
    if(isset(
    $_COOKIE['ID_my_site']))
    {
    $username = $_COOKIE['ID_my_site'];
    $pass = $_COOKIE['Key_my_site'];
    $check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
    while(
    $info = mysql_fetch_array( $check ))
    {

    if (
    $pass != $info['password'])
    {
    header("Location: index.php");
    }

    else
    {
    }
    }
    }
    else

    {
    header("Location: index.php");
    }
    $user=$_COOKIE['ID_my_site'];
    $dati=mysql_query("SELECT email FROM users WHERE username='$user'");
    while(
    $array=mysql_fetch_array($dati)){
    $tuaemail=$array[email];
    }
    $emaild=$_GET['mail'];
    ?>
    <table border="0">
    <form action="<?php echo $PHP_SELF;?>" method="post">
    <tr><td>Tua Email:</td><td>
    <? echo $tuaemail; ?>
    </td></tr>
    <tr><td>Email Destinatario:</td><td>
    <? echo $emaild; ?> </td></tr>
    <tr><td>Titolo Email:</td><td>
    <input type="text" name="oggetto"></td></tr>
    <tr><td>Testo:</td><td>
    <textarea name="testo" rows="10" cols="40">
    </textarea>
    </td></tr>
    <tr><th colspan=2><input type="submit" name= "submit" value="Invia"></th></tr></table></form>
    <?
    $oggetto
    =$_POST['oggetto'];
    $testo = $_POST['testo'];
    if (isset(
    $_POST['submit'])) {

    if (!
    $_POST['oggetto'] | !$_POST['testo']) {
    die(
    '<div align=center><font color=red>Non hai completato tutti i campi richiesti!</font></div>');
    }
    $intestazioni= "From:$tuaemail\r\n";
    $intestazioni .= "X-Mailer: PHP/".phpversion();
    mail($_GET['mail'],"$oggetto","$testo", $intestazioni);
    ?>
    <div align=center><font color=red>Email inviata!</font></div>
    <?
    }
    ?>
    Ma nn apre più per niente la finestra poup!!

  4. #4
    Guest

    Predefinito

    Ti sei scordato di mettere la variabile mail nella dichiarazione della funzione js e se non vedo male c'e' un " in piu :)

    Prova cosi :

    Codice PHP:
    <script type="text/javascript">
    <!--
    function
    PopupCentrata(mail) {
    var
    w = 500;
    var
    h = 320;
    var
    l = Math.floor((screen.width-w)/2);
    var
    t = Math.floor((screen.height-h)/2);
    window.open("invia.php?mail=" + mail,"","width=" + w + ",height=" + h + ",top=" + t + ",left=" + l);
    }
    //-->
    </script>

  5. #5
    Guest

    Predefinito

    grande adesso apre il popup!! però nn arriva l'email!
    Ultima modifica di gbtchiaravalle : 07-04-2008 alle ore 22.04.31

  6. #6
    Guest

    Predefinito

    da qualche errore o dice che va tutto bene ma non arriva nulla?

  7. #7
    Guest

    Predefinito

    dice ke l'email l'ha inviata ma nn arriva assolutamente nulla:è probabile ke sia lo script xkè l'ho creato modificando uno già esistete(per il reucpero delle password perse) e quello funziona!

  8. #8
    Guest

    Predefinito

    Non so per la gestione dei cookie ma gli ho dato una ritoccatina veloce, se non mi è sfuggito nulla cosi dovrebbe andare :

    Codice PHP:
    <?
    $username
    = "gbtchiaravalle";
    $password = "password";
    $host = "localhost";
    $database = "my_gbtchiaravalle";

    $db=mysql_connect($host, $username, $password) or die("Errore durante la connessione al database");
    mysql_select_db($database, $db) or die("Errore durante la selezione del database");

    if(isset(
    $_COOKIE['ID_my_site']))
    {
    $username = $_COOKIE['ID_my_site'];
    $pass = $_COOKIE['Key_my_site'];
    $check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());

    while(
    $info = mysql_fetch_array( $check ))
    {
    if (
    $pass != $info['password'])
    header("Location: index.php");
    }
    }
    else
    header("Location: index.php");

    $user = $_COOKIE['ID_my_site'];
    $dati = mysql_query("SELECT email FROM users WHERE username='$user'");

    $array=mysql_fetch_array($dati);
    $tuaemail=$array[email];

    $emaild = $_GET['mail'];
    ?>
    <table border="0">
    <form action="<?php echo $PHP_SELF;?>" method="post">
    <tr><td>Tua Email:</td><td>
    <? echo $tuaemail; ?>
    </td></tr>
    <tr><td>Email Destinatario:</td><td>
    <? echo $emaild; ?> </td></tr>
    <tr><td>Titolo Email:</td><td>
    <input type="text" name="oggetto"></td></tr>
    <tr><td>Testo:</td><td>
    <textarea name="testo" rows="10" cols="40">
    </textarea>
    </td></tr>
    <tr><th colspan=2><input type="submit" name= "submit" value="Invia"></th></tr></table></form>
    <?
    $oggetto
    = $_POST['oggetto'];
    $testo = $_POST['testo'];

    if (isset(
    $_POST['submit']))
    {
    if ( !
    $_POST['oggetto'] | !$_POST['testo'])
    die(
    '<div align=center><font color=red>Non hai completato tutti i campi richiesti!</font></div>');

    $intestazioni = "From:" . $tuaemail . "\r\n";
    $intestazioni .= "Reply-To:" . $tuaemail . "\r\n";
    $intestazioni .= "X-Mailer: PHP/" . phpversion();
    mail ($emaild, $oggetto, $testo, $intestazioni);
    ?>
    <div align=center><font color=red>Email inviata!</font></div>
    <?
    }
    ?>
    EDIT :

    Principalmente credo sia dovuto al fatto che la funzione mail vuole nelle intestazioni anche il reply-to.
    Ultima modifica di ilpcportal : 08-04-2008 alle ore 21.50.54

  9. #9
    Guest

    Predefinito

    ehmm nn funziona lo stesso!
    Cmq ho scritto all'inizio dello script questo codice per vedere gli errori:
    Codice PHP:
    <?
    $errore
    = error_reporting(E_ALL);
    echo
    "$errore";
    ?>
    e facendo partire lo script mi rileva l'errore "85" sapete di ke errore si tratta?
    EDIT
    ho provato anche un altro script per l'invio delle mail ma si blocca anche quello quindi credo l'errore sia quando passiamo il destinatario allo script,almeno credo!
    Ultima modifica di gbtchiaravalle : 09-04-2008 alle ore 17.41.29

  10. #10
    Guest

    Predefinito

    mi puoi incollare tutto il messaggio di errore?

  11. #11
    Guest

    Predefinito

    il messaggio di errore ke compare è il numero "85" e basta nn compare altro solo "85"

  12. #12
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    (riferimento: http://it.php.net/manual/it/function...-reporting.php)

    La funzione error_reporting non deve essere assegnata ad una variabile... basta inserirla in testa allo script per visualizzare tutti gli errori che questo provoca.

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  13. #13
    Guest

    Predefinito

    ahhh nn lo sapevo! adesso l'errore nn è più 85 ma è questo

    "Notice: Use of undefined constant email - assumed 'email' in /membri/gbtchiaravalle/invia.php on line 32"

    ke fa riferimento a questa porzione di codice:

    Codice PHP:
    $user = $_COOKIE['ID_my_site'];
    $dati = mysql_query("SELECT email FROM users WHERE username='$user'");

    $array=mysql_fetch_array($dati);
    $tuaemail=$array[email];
    Ultima modifica di gbtchiaravalle : 11-04-2008 alle ore 14.23.53

  14. #14
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,264

    Predefinito

    Perché nessuno legge i messaggi di errore? dice che la costante "email" è sconosciuta, mancano un paio di apici attorno ad email nell'ultima riga.

    Codice PHP:
    $tuaemail=$array['email'];
    fra parentesi, non è mai bello dare alle variabili nomi di parole chiave, e non aiuta di certo a capire il codice: $array non dice assolutamente nulla a proposito dei dati contenuti. Meglio $risultati ad esempio.
    Ultima modifica di dreadnaut : 11-04-2008 alle ore 19.02.11

  15. #15
    Guest

    Predefinito

    si i nomi l'ho messi così alla svelta,poi li sistemo a fine script funzionante cmq ora nn compare più quell'errore ma una volta inviata l'email compare quest'altro:

    Notice: Undefined index: mail in /membri/gbtchiaravalle/invia.php on line 34

  16. #16
    Guest

    Predefinito

    in sostanza come risolvo?
    P.S: ho fatto un pò di debug e ho scoperto ke il campo de destinatario(nel mio caso "emaild") rimane vuoto(NULL)!!

Regole di scrittura

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