Visualizzazione dei risultati da 1 a 8 su 8

Discussione: problema link in mail

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583

    problema link in mail

    Ciao a tutti,
    ho un editor html su un sito che dà la possibilità al cliente di compilare un form e di spedire una mail.

    funziona tutto perfettamente a parte i link....
    I link che mi appaiono nella mail sono preceduti e seguiti da \" e di conseguenza non funzionano....

    credo l'errore sia qua, ma non so correggerlo:
    $message = str_replace("%%", "\"", $message);
    $mess = str_replace("%%", "\"", $mess);

    credo debba eliminare le " dalle variabile $mess (che arriva dall'editor html), ma non so come fare.

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Possibile che non esista un comando che mi elimina le " da una variabile o me le sostituisca con qualcos'altro?

    Aiutate una webdesigner sfruttata.............

  3. #3
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    per eliminare le virgolette:
    $messaggio=str_replace("\"","",$messaggio);


    www.php.net/str_replace
    think simple think ringo

  4. #4
    In alternativa se il problema sono gli slash come sembrerebbe capirsi dal primo post puoi usare direttamente la funzione stripslashes che ti elimina gli slash in una stringa.

    Codice PHP:
    $stringa stripalshes($stringa); 
    <a href=\"http://www.html.it\">HTML.IT</a> -> Prima
    HTML.IT -> Dopo

    http://php.libero.it/manual/it/funct...ripslashes.php

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    uffa.........

    l'editor mi trascrive tipo

    sdfbhadfb

    se manualmente levo le " funziona tutto. Per automatizzare questo processo ho messo

    $mess = str_replace("%%", "\"", $mess);
    $mess = str_replace("\"","", $mess);
    $mess = stripalshes($mess);

    senza l'ultima riga vedo

    \http://www.miosito.it\

    con l'ultima riga addirittura mi da:
    Fatal error: Call to undefined function: stripalshes()


  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    usa solo stripslashes:

    $mess = str_replace("%%", "\"", $mess);
    $mess = stripslashes($mess);
    think simple think ringo

  7. #7
    Originariamente inviato da Chimira
    Scusa...errore mio, scrivendo ho fatto un errore di battitura, la funzione non è stripalshes(), ma stripslashes(), vedi il link che ti ho postato nel mio post precedente.

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Vi ringrazio, ma mi funziona solo in parte e non capisco perchè.
    Lo so che sto chiedendo molto, ma vi posto il codice....

    function admin_send_msg_confirm() {
    // Confirms the message before sending.
    global $username, $password, $subject, $message, $mess, $owner_email, $list_name, $list_file, $admin_keyword, $use_sig;
    $subject = str_replace("%%", "\"", $subject);
    $subject = stripslashes($subject);
    $message = str_replace("%%", "\"", $message);
    $message = stripslashes($message);
    $mess = str_replace("%%", "\"", $mess);
    $mess = stripslashes($mess);
    echo "
    <form method=\"post\">
    <table align=\"center\" border=\"0\" width='700'>
    <tr><td colspan=\"2\" align=\"center\" valign=\"top\"><font size=\"+1\">Per favore conferma che questo è ciò che vuoi spedire:
    </td></tr>
    <tr><td align=\"left\" valign=\"top\">From: </td><td align=\"left\" valign=\"top\">\"$list_name\" &lt;$owner_email&gt;</td></tr>
    <tr><td align=\"left\" valign=\"top\">Subject: </td><td align=\"left\" valign=\"top\">$subject</td></tr>
    <tr><td align=\"left\" valign=\"top\" >Message: </td><td align=\"left\" valign=\"top\" width='700'>$message</td></tr>";


    $headers = "From: \"$list_name\" <$owner_email>\r\nReply-To: $owner_email\nMIME-version: 1.0\nContent-Type: text/html; charset=iso-8859-1\n boundary=\"Message-Boundary\"\nContent-Transfer-Encoding: 8BIT\n Content-description: Mail message body\n\n";
    $msg_body = $mess;

    mail("mia@mail.it.it", $subject, $msg_body, $headers);


    echo"
    <input type=\"hidden\" name=\"username\" value=\"$username\">
    <input type=\"hidden\" name=\"password\" value=\"$password\">
    <input type=\"hidden\" name=\"message\" value=\"$message\">
    <input type=\"hidden\" name=\"subject\" value=\"$subject\">
    <input type=\"hidden\" name=\"use_sig\" value=\"$use_sig\">
    <input type=\"hidden\" name=\"action\" value=\"$admin_keyword\">
    <input type=\"hidden\" name=\"q\" value=\"send_msg\">
    <tr><td></td><td align=\"left\" valign=\"top\"><input type=\"submit\" value=\"Invia\"><input type=\"reset\" value=\"Edit\" OnClick=\"history.go(-1); return true;\"></td></tr></table>
    </form>";
    }

    function admin_send_msg() {
    // Sends the message to all subscribers on the list.
    global $username, $password, $subject, $message, $mess, $owner_email, $list_name, $list_file, $admin_keyword, $use_sig;
    $subject = stripslashes($GLOBALS[subject]);
    $message = stripslashes($GLOBALS[message]);
    $subject = str_replace("%%", "\"", $subject);
    $message = str_replace("%%", "\"", $message);
    $message = stripslashes($message);
    $mess = str_replace("%%", "\"", $mess);
    $mess = stripslashes($mess);

    $headers = "From: \"$list_name\" <$owner_email>\r\nReply-To: $owner_email\nMIME-version: 1.0\nContent-Type: text/html; charset=iso-8859-1\n boundary=\"Message-Boundary\"\nContent-Transfer-Encoding: 8BIT\n Content-description: Mail message body\n\n";

    $sucess_count = 0;
    $fail_count = 0;

    $msg_body = $mess;

    $addresses = @file($list_file) or die("<center>La list data file non può essere aperta.
    Check the path and permissions.</center>");
    $addresses[] = $owner_email;
    foreach ($addresses as $email) {
    $email = trim($email);
    if (mail($email, $subject, $msg_body, $headers)) $sucess_count++;
    else $fail_count++;
    }
    echo "<h3 align=\"center\">Il tuo messaggio è stato spedito correttamente a $sucess_count iscritti</h3><h4 align=\"center\">$fail_count Non spedite.</h4>";
    }


    La prima funzione spedisce la mail solo a me per un controllo e con le dritte che mi avete dato funziona tutto a meraviglia. La seconda spedisce la mail a tutti gli indirizzi e continua a darmi problemi.


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.