Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    3

    Passare dei valori a delle email predefinite

    Ciao a tutti,
    ho un problemino che proprio non so come risolvere, magari è una cavolata, aiutatemi voi.

    Nella pagina register.php ho un form per la registrazione di un nuovo utente del tipo:

    <form method='post'>
    Username: <input type='text' name='1' id='username'>
    Password: <input id="password" type='password' name='2'>
    Confirm Password: <input id="cpassword" type='password' name='3'>
    Email Address: <input id="email" type='text' name='4'>
    <input class='input' type='submit' value='Register Account'>

    Quando il form viene inviato viene eseguito il seguente codice:

    if($_POST)
    {

    $username =$_POST[1];
    $password =$_POST[2];
    $confirm_password = $_POST[3];
    $email = $_POST[4];

    //preleva il soggetto ed il testo di un email predefinita da una tabella
    $em_reg = mysql_query("SELECT * FROM emails WHERE em_name='Registration' LIMIT 1;");
    $em = mysql_fetch_array($em_reg);


    $from = $set['support_name']."<".$set['support_email'].">";

    $to = $username."<".$email.">";
    $subject = $em['em_subj'];

    $body = $em['em_body'];

    $host = $set['smtp_server'];

    $username = $set['smtp_user'];
    $password = $set['smtp_pwd'];

    $headers = array ('From' => $from,
    'To' => $to,
    'Subject' => $subject);
    $smtp = Mail::factory('smtp',
    array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));

    $mail = $smtp->send($to, $headers, $body);

    if (PEAR::isError($mail)) {
    echo("

    " . $mail->getMessage() . "</p>");
    } else {
    echo("

    Message successfully sent!</p>");
    }
    }

    Tutte le variabili del tipo $set['nome_variabile'] sono delle variabili di sistema precedentemente definite

    Il mio problema è il seguente, nelle email predefinite vorrei mettere dai tag o direttamente delle variabili da sostituire automaticamente con i rispettivi valori. Ad esempio se

    $em['em_subj'] corrisponde a "Ciao $username, benvenuto su $set['nome_sito']"

    vorrei che l'email inviata avesse il soggetto: "Ciao Pippo, benvenuto su Casa del Forum", dove "Pippo" è lo username utilizzato per iscriversi nel form e "Casa del Forum" è il valore della variabile $set['nome_sito'].

    Ho provato in tutti i modi che mi venovano in mente, ma ricevo sempre solo delle email con il soggetto: "Ciao $username, benvenuto su $set['nome_sito']"

    Spero di essere stato abbastanza chiaro. Quello che mi servirebbe alla fine è come in molti forum o blog, dove l'amministratore può personalizzare i testi dei messaggi utilizzando dei tag tipo {username}, {link} ecc.

    Potete aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Probabilemnte questo $username che usi nella stringa non ha valore o cmq c'e' un passaggio a monte che ignoro.
    Potresti mettere :
    codice:
    $em['em_subj'] =  "Ciao NOMEUTENTE, benvenuto....";
    e usare
    codice:
    $em['em_subj'] = str_replace('NOMEUTENTE',$username,$em['em_subj'] );

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    3
    Ciao,
    ti ringrazio per la risposta.

    Così diventa un po' macchinoso, perchè vorrei dare la possibilità all'amministratore del sito di utilizzare tutte le variabili settate, quindi tutte quelle del form più quelle di sistema, tipo link, nome del sito ecc.

    Il fatto è che se io uso:

    codice:
    $subject = "Ciao $username, benvenuto su $set['nome_sito']";
    tutto funziona perfettamente, mentre invece se gli passo la variabile $em['em_subj']:

    codice:
    $subject = $em['em_subj'];
    prelevandola da una tabella sql che contiene appunto "Ciao $username, benvenuto su $set['nome_sito']", non mi fa la sostituzione delle variabili interne. Forse c'è una sintassi particolare, boh!

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.