Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: Capoverso

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    311

    Capoverso

    Sto costruendo un form mail in flash e php.
    L'interfaccia è fatta in flash complenta di tre campi testo input a singola riga e uno (quello del messaggio) multiriga.
    Volevo che dopo la voce Messaggio si andasse a capo e ho inserito a fine stringa \r\n e tutto funziona.
    Il problema è che quando digito il messaggio e vado a capoverso, nella mail che ricevo il testo viene tagliato, mi rimane solo la prima riga.
    Per essere più chiaro il mio codice php è il seguente:

    $body .= "Testo del messaggio: " . utf8_decode($_POST['messaggio']) . "\r\n";
    $body .= "Da: " . $_POST['nome'] . ";

    Se io digito una frase vado a capoverso e ne digito un'altra nell mail che ricevo, accanto a "Messaggio:" compare la prima frase ma la seconda frase a capoverso viene sostituita dal nome del mittente:

    Messaggio: Prima frase
    Da: Nome di chi mi hainviato lamail

    La seconda frase quindi non compare.
    Come posso far si che l'utente possa andare a capo ogni volta che vuole e far si che ilmessaggiomi arrivi completo?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    vediamo come adoperi la funzione mail()
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    311
    Questo è l'intero codice, l'utente ha anche la possibilità di ricevere una mail di conferma:

    <?
    header("Pragma: no-cache");
    header("Cache-Control: no-cache, must-revalidate");

    if(isset($_POST['Submit'])){
    $to = "xxxxx@xxxx.it";
    $to2 = $_POST['email'];
    $from2 = "miamail@xxx.it";
    $subject2 = "Conferma spedizione dell'email dal sito www.miosito.it";
    $body2 = "Grazie, $email\n L'e-mail è stata spedita in modo corretto.\n A presto\n www.miosito.it";
    $extraInfo = "Questa Email ti è stata spedita da (IP address " . getenv("REMOTE_ADDR") . "):\n\n";

    $subject = "Mail da Sito: " . $_POST['nome'] . " " . $_POST['cognome'];
    $body = "Da: " . $_POST['nome'] . ", " . $_POST['cognome'] . "\n";
    $body .= "Testo del messaggio: " . utf8_decode($_POST['messaggio']) . "\r\n";
    $body .= "Da: $to2";

    if (@mail($to, $subject,$extraInfo . $body, "From: $email\nX-Mailer: PHP/" . phpversion())){
    if($_POST['desideri'] == "true"){
    mail($to2, $subject2,$extraInfo . $body2, "Return-Path: <miamail@xxxxx.it>\r\n" . "From: $from2\r\n" . "Reply-to: miamail@xxxxx.it\r\n" . "X-Mailer: PHP/" . phpversion());
    }
    echo "attenzione=" . urlencode("Email succesfully sent");
    } else {
    echo "attenzione=" . urlencode("Some errors occurred");
    }
    }
    ?>

    Grazie per l'attenzione.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Allora prova a cominciare con l'eliminare quel @ nell'invio della prima email (visto che sei in fase di sviluppo e debug, VUOI vedere tutti i possibili errori e warning). E poi, proverei a togliere quel "\r\n" in $body .= "Testo del messaggio: "... e ci metterei un \n semplice
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    311
    Niente da fare, mi compare solo la prima riga, quella del capoverso no....

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    altro tentativo (poi la fiera delle cose fatte a caso finisce), togli quel utf8_decode e vedi se senza niente passa.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    311
    Niente da fare, purtroppo niente capoverso.
    Perchè la fiera delle cose fatte a caso?....

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Perché non ho mai avuto problemi ad inviare email con la funziona mail e non capisco (tolti i dubbi su \r\n) perché la cosa non funzioni. Riesci a stampare a video il $body per intero?

    Ossia che succede se fai un echo($body)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    311
    In effetti sembra assurtdo anche a me ma io sono un neofita in php quindi tutto è possibile.
    In flash, visto il tipo di problema, so che non ci sono errori, anche perchè quando digito la mail va a capoverso correttamente.
    Comunque ho corretto la stringa di codice in questo modo:

    echo($body) .= "Testo del messaggio: " . utf8_decode($_POST['messaggio']) . "\r\n";

    è così che intendevi?
    Purtroppo così facendo la mail non mi arriva proprio.

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    No, intendevo un semplice echo (quell'assegnazione non è corretta), ossia una stampa a video del contenuto effettivo di $body.

    Puoi metterlo anche dopo il mail. E' giusto per rendersi conto di quel che viene trasmesso dal form.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.