Eredmény: 1 - 7 (7) összesen

Téma: Sortörések kezelése egy $uzenet változón belül, email küldéskor

  1. #1
    sbs
    sbs nem elérhető
    Google 'n' Roll Man sbs logója
    Csatlakozott
    08-07-03
    Hely
    Tárnok és Budapest
    Hozzászólás
    2.109
    Begyűjtött 3 köszönetet
    3 hozzászólásával

    Üzenet Sortörések kezelése egy $uzenet változón belül, email küldéskor

    Meg lehet-e oldani php-s email küldés során hogy, a weboldalon keresztüli iráskor egy változóban ($uzenet) lévő üzenetben a sortörések megmaradjanak, a megkapott emailban?

    Erre nem találtam semmit a neten.

    EZT IROM A MEZŐBE a weboldalom
    "Tisztelt Cég!
    Ez egy tesztüzenet lesz.

    Kérek ablakokat és ajtókat a következo méretekben:

    100x120 balos
    150x150 jobbos

    köszönöm, várom valaszukat."


    EZT KAPOM AZ EMAILBEN az $uzenet részt megjelenitve.
    "Tisztelt Cég! Ez egy tesztüzenet lesz. Kérek ablakokat és ajtókat a következo méretekben: 100x120 balos 150x150 jobbos köszönöm, várom valaszukat."

    Tehát a "$uzenet"-en belüli sortörésekről beszélek

    (a különböző mezők közötti sortörés rendben megy)


    Ablak és beltéri ajtó :: Netmax: "Mindig van a tiédnél jobb oldal..." :: Építkezés Fórum

  2. #2
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.605
    Begyűjtött 1.332 köszönetet
    828 hozzászólásával

    Alapbeállítás re: Sortörések kezelése egy $uzenet változón belül, email küldéskor

    Az email html-elkent vagy plain text-kent kuldod?
    Ha html-elkent akkor php-ban az nl2br fuggvenyt atalakitja neked a sortoreseket br tagre.
    Elotte viszont celszeru egy htmlspecialchars, vagy striptags a stringen, mert egy xss-el okozhatnak gondot.


    If debugging is the process of removing software bugs, then programming must be the process of putting them in.
    Github Rake tutorial
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
    Respect all, fear none

  3. #3
    Adminisztrátor BagiZoli logója
    Csatlakozott
    07-04-26
    Hely
    8200, Királynék városa
    Hozzászólás
    3.855
    Begyűjtött 320 köszönetet
    154 hozzászólásával

    Alapbeállítás re: Sortörések kezelése egy $uzenet változón belül, email küldéskor

    preg_replace -elni kellene az \r\n -t <br> -rel szerintem.



  4. #4
    sbs
    sbs nem elérhető
    Google 'n' Roll Man sbs logója
    Csatlakozott
    08-07-03
    Hely
    Tárnok és Budapest
    Hozzászólás
    2.109
    Begyűjtött 3 köszönetet
    3 hozzászólásával

    Alapbeállítás re: Sortörések kezelése egy $uzenet változón belül, email küldéskor

    Leegyszerűsítettem és bemásolom a rutint, ami amúgy tükéletesen működik, kivéve ezt az egy bibit. Ez is csak akkor okoz ugye gondot, amikor a látogató az "üzenet" mezőbe egy kisregényt ír, ami tagolatlanul érkezik meg a levelező programba (Winmail, Outlook Express).
    Az alábbi programban a "$user_uzenet" változóról van szó, ami maga az ÜZENET mező változója.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    ...
    <?php

    $ipaddres = $_SERVER['REMOTE_ADDR']; // Látogató IP címe, ha szükség lenne rá...
    $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); // Látogató HOST neve, ha szükség lenne rá...
    $user_nev = $_POST['nev']; // Árajánlatkéro neve
    $user_email = $_POST['email']; // Árajánlatkéro e-mail címe
    $user_uzenet = $_POST['uzenet']; // Árajánlatkérés szövege
    $serv_felado = $_POST['email']; // A feladó, akinek a nevében érkezik a levél
    $serv_targy = "Árajánlatkérés a XXX.xxx - Official .XXX Directory weboldalról."; // A levél tárgya

    /* Ez lesz az üzenet tartalma */

    $uzenet = "
    <html xmlns='http://www.w3.org/1999/xhtml'>
    <head>
    <meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />
    </head>

    <body>
    <h3>Az ajánlatkérő adatai:</h3> <br />
    Név: <b>$user_nev</b> <br />
    E-mail: <b>$user_email</b> <br /><br />

    <h3>Ajánlatkérés szövege:</h3>
    <p>$user_uzenet</p>
    <body>
    </html>
    ";

    /* A levél elküldése */

    require("class.phpmailer.php"); // PHPmailer osztály meghívása
    $mail=new PHPMailer(); // Új levelet kezdünk

    // $mail->IsSMTP(); // SMTP levélküldés fog történni
    // $mail->Host="mail.xxx.net"; // SMTP szerverek
    // $mail->Port = 26; // SMTP port, ha eltér az alapértelmezett 25-östol

    $mail->Mailer = "mail"; // Webszerver belso levelezoprogramját használjuk
    $mail->From=$serv_felado; // Levél feladója
    $mail->FromName=$user_nev; // Feladó neve
    $mail->AddAddress("info@xxx.hu"); // Címzett
    $mail->IsHTML(true); // HTML levél formátum
    $mail->Subject="Ajánlatkérés az xxx weboldalról"; // Tárgy
    $mail->Body="$uzenet"; // A levél tartalma (amit fentebb csináltunk)

    /* Ellenorzés, hogy elment e a levél, ha nem akkor kiírja, hogy mi a baja */

    if (!$mail->Send()) {
    echo " Az üzenetet nem sikerült elküldeni";
    echo " A felmerült hiba: " . $mail->ErrorInfo;
    exit;
    }

    ?>
    ...
    </html>

    Előre is köszi hogy foglalkoztok velem :-)
    Lehet ám, hogy ez igy nem megoldható, én nem tudom...csak kérték, hogy csináljak vele valamit....



  5. #5
    Hekker 0xFF logója
    Csatlakozott
    09-08-21
    Hozzászólás
    1.079
    Begyűjtött 168 köszönetet
    118 hozzászólásával

    Alapbeállítás re: Sortörések kezelése egy $uzenet változón belül, email küldéskor

    PHP: nl2br - Manual

    Kód:
    $user_nev = $_POST['nev'];					            // Árajánlatkéro neve
        $user_email = $_POST['email'];						    // Árajánlatkéro e-mail címe
        $user_uzenet = nl2br($_POST['uzenet']);					    // Árajánlatkérés szövege
        $serv_felado = $_POST['email'];						    // A feladó, akinek a nevében érkezik a levél
        $serv_targy = "Árajánlatkérés a XXX.xxx - Official .XXX Directory weboldalról.";	// A levél tárgya




  6. Az alábbi felhasználók hálásak a válaszért:

    sbs (2013-03-15)

  7. #6
    sbs
    sbs nem elérhető
    Google 'n' Roll Man sbs logója
    Csatlakozott
    08-07-03
    Hely
    Tárnok és Budapest
    Hozzászólás
    2.109
    Begyűjtött 3 köszönetet
    3 hozzászólásával

    Alapbeállítás re: Sortörések kezelése egy $uzenet változón belül, email küldéskor

    KÖSZÖNÖM!! műxik



  8. #7
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.605
    Begyűjtött 1.332 köszönetet
    828 hozzászólásával

    Alapbeállítás re: Sortörések kezelése egy $uzenet változón belül, email küldéskor

    PHP kód:
    $user_uzenet nl2br(strip_tags($_POST['uzenet']));                        // Árajánlatkérés szövege 
    En meg beraknek egy strip_tags-et is az xss ellen.



  9. Az alábbi felhasználók hálásak a válaszért:

    sbs (2013-03-15)

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •