Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    34

    inviare una mail tramite php ad un indirizzo da database

    salve vorrei inviare una mail ad un indirizzo prelevandolo da una tabella nel mio database,
    ho provato in molti modi ma non riesco non c'è verso ,

    quanduno di voi mi puoi aiutare cortesemente
    riesco ad inviare la mail solo se inserisco gia la mail nello script come variabile fissa.
    ma prelevandola dal db no

    la pagina in questione è la seguente... ho eliminato le varie prove fatte, lasciando la pagina così com'era, in breve vorrei che quando si compili il form e si clicca sul tasto mi mandasse una mail prelevandola appunto dalla tabella psico cella 'email'


    <?php

    include("variables.php");

    echo "<html><head><link rel=stylesheet href=$css type=text/css><title>psico</title></head><body>";
    $pass = $password_admin;

    $db = mysql_connect($host,$username,$password) or die ('Errore nella connessione al database');
    mysql_select_db($database,$db) or die(mysql_error());

    if ($_GET['action']=='modify') {
    if (!isset($_GET['id'])||!$_GET['id']) die("Non hai specificato l'id del messaggio");
    if (!isset($_POST['from'])) {
    $query = "SELECT domanda,email FROM psico WHERE id='".$_GET['id']."'";
    $result = mysql_query($query,$db);
    $row = mysql_fetch_array($result);

    if(mysql_num_rows($query)<1)
    {
    echo "nessun valore recuperato!";
    }

    $dom = $row['domanda'];
    echo $dom;
    $inus = $dom;
    echo "<form action=\"\" method=\"post\">
    <input type=\"hidden\" name=\"id\" value=\"".$_GET['id']."\">
    <input type=\"hidden\" name=\"pass\" value=\"".$_GET['pass']."\">
    <input type=\"hidden\" name=\"action\" value=\"modify\">
    <input type=\"hidden\" name=\"from\" value=\"1\">
    <input type=\"hidden\" name=\"inus\" value=\"".$inus."\">
    <textarea name=\"doma\" rows=\"10\" cols=\"85\" ></textarea>
    <input type=\"submit\" value=\"Modifica messaggio\">
    </form>";
    }
    else
    {

    $id=$_POST['id'];
    $inus=$_POST['inus'].$_POST['doma'];
    $query = "UPDATE psico SET domanda='$inus' WHERE id='$id'";
    mysql_query($query,$db) or die(mysql_error());
    echo "Messaggio modificato correttamente, clicca <a href=ad.php?pass=$pass>qui</a> per tornare indietro";
    }
    }
    ?>

  2. #2

    Re: mail da PHP

    1) Dunque l'istruzione per inviare email da PHP è la seguente:

    mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] );

    non ne vedo traccia nel tuo script.

    Questa funzione va settata nel php.ini del tuo server con l'appropriato SMTP e i parametri necessari.
    2) Hai provato se recuperi correttamente i dati dal database?
    ti consiglio, in fase di sviluppo, di mettere a video le variabili per controllare il risultato:
    print_r $row; ecc.

    Vedi un po' se ti è utile.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    34
    si ho editato i dati dal database tramite echo e mi dava la mail in questione stampata, lo script per l'invio l'ho tolto dalla pagina perchè non andava, ma su altre pagine lo sto usando e funziona,posto la pagina con tutto lo script inserito magari è meglio...

    <?php

    include("variables.php");
    //mi calcolo il timestamp attuale
    $timestamp = time();
    //mi converto il timestamp in data e ora
    $data = date("d-m-Y", $timestamp);
    $mess1 = '
    <font color=#FFCC00>----------------------------</font>

    <font color=#FF0000>Risposta di: ';
    $mess = ' del: ';
    $spazio = '

    </font>';
    echo "<html><head><link rel=stylesheet href=$css type=text/css><title>psico</title></head><body>";

    $db = mysql_connect($host,$username,$password) or die ('Errore nella connessione al database');
    mysql_select_db($database,$db) or die(mysql_error());

    if ($_GET['action']=='modify') {
    if (!isset($_GET['id'])||!$_GET['id']) die("Non hai specificato l'id del messaggio");
    if (!isset($_POST['from'])) {
    $query = "SELECT email,domanda FROM psico WHERE id='".$_GET['id']."'";
    $result = mysql_query($query,$db);
    $row = mysql_fetch_array($result);

    $dom = $row['domanda'];
    $nome =$row['email'];


    $inus = $dom;
    echo "<center><table border=0 height=300><tr><td colspan=2><center>Invia una risposta.
    Cortesemente prima di rispondere inserisci un nome</center>

    </td></tr><tr><td><form action=\"\" method=\"post\">
    <input type=\"hidden\" name=\"id\" value=\"".$_GET['id']."\">
    <input type=\"hidden\" name=\"pass\" value=\"".$_GET['pass']."\">
    <input type=\"hidden\" name=\"action\" value=\"modify\">
    <input type=\"hidden\" name=\"from\" value=\"1\">
    <input type=\"hidden\" name=\"inus\" value=\"".$inus."\">
    <input type=\"hidden\" name=\"email\" value=\"".$email."\">
    <input type=\"hidden\" name=\"data\" value=\"".$data."\">
    <input type=\"hidden\" name=\"mess\" value=\"".$mess."\">
    <input type=\"hidden\" name=\"mess1\" value=\"".$mess1."\">
    Nome:</td><td colspan=1><input name=\"nome1\" value=\"".$nome1."\"></tr></td>
    <input type=\"hidden\" name=\"spa\" value=\"".$spazio."\">
    <tr><td colspan=2><center><textarea name=\"doma\" rows=\"10\" cols=\"50\" ></textarea></center></td></tr>
    <tr><td colspan=2><center><input type=\"submit\" value=\"Modifica messaggio\"></center>

    </tr></td>
    </form><tr><td><center></center></td><td><center><a href=dom.php>Indice Domande</td></tr></center></table></center>";
    }
    else
    {
    $email = "$email"; // l'indirizzo mail a cui far giungere le mail
    $subject2 = "E stata inserita una risposta"; // l'oggetto della mail
    $sito = "www";
    if (trim($email != "")) {
    mail("$email", "$subject2", "testo: ", "From: $sito <$sito>\nX-Mailer: RataMail\nContent-Type: text");}



    $id=$_POST['id'];
    $inus=$_POST['inus'].$_POST['mess1'].$_POST['nome1'].$_POST['mess'].$_POST['data'].$_POST['spa'].$_POST['doma'];
    $query = "UPDATE psico SET domanda='$inus' WHERE id='$id'";
    mysql_query($query,$db) or die(mysql_error());
    echo "risposta Inserita correttamente<script language=javascript>setTimeout(\"location.href='op en.php?id=$id'\",100);</script>";
    }

    }
    ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    34
    php.ini ?
    non ho inserito nessun php.ini
    ma perchè se metto al posto della variabile email un indirizzo me lo manda?
    scusa l'ignoranza.

    rettifico, altervista l'ini lo inserisce da se,
    e imposta come mail l'alias mail che scegli quando ti iscrivi...
    quindi il problema restano le variabili.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    356
    scusa ma questa istruzione che fa?
    Codice PHP:
    $email "$email"// l'indirizzo mail a cui far giungere le mail 
    Jekkil

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    34
    sinceramente credo sia un rimasuglio hahaah

    vabbè non me la fa editare piu'
    comunque la variabile di su $dom è sbagliata, ho
    incollato al volo lo stesso lavoretto che avevo fatto ieri

    io conosco poco e nulla di php , mi limito a copiare parti di codice e unirle
    o qualche piccola modifica.
    chiedo scusa se ci sono errori nello script, ma sarei grato se mi aiutaste.
    Sono gia consapevole della mia ignoranza in materia.

  7. #7
    Il form lo invii con post, ma le variabili le recuperi con get.
    Inizierei a sistemare questo, poi vediamo


  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    356
    oh per bacco!!

    Io queste cose non le controllo perchè le do per scontate!!

    Mi sa che devo iniziare a farci caso
    Jekkil

  9. #9
    Originariamente inviato da Jekkil
    oh per bacco!!

    Io queste cose non le controllo perchè le do per scontate!!

    Mi sa che devo iniziare a farci caso
    Questione di abitudine

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    34
    a credo di aver capito quindi

    $email = $_get['email']
    e poi nel form gli piazzo come imput
    la stringa con value = $_get['email']
    e inserisco come gia c'è la variabile
    $email nello script per l'invio...
    è giusto ?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.