php email form - nejde diakritika

Programovacie jazyky, rady, poradňa...
MuKkY
Star
Star
Používateľov profilový obrázok
Príspevky: 534
Registrovaný: 03 jún 2004, 20:18
Bydlisko: [Bratislava][BA][Blava]
Kontaktovať používateľa:

php email form - nejde diakritika

Príspevok od používateľa MuKkY »

Ahojte,

mam php formular, ked ho vyplnim a odoslem tak na moj a odosielatelov mejl pride odpoved, ale problem je vtom, ze tam nejde diakritika, neviem cim to je neviem prist co mi tam chyba, tak ak viete tak mi sem napise niake rad.

Dakujem

kod1 :

Kód: Vybrať všetko

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Kontaktný email</title>
</head>
<body>

<!-- Reminder: Add the link for the 'next page' (at the bottom) -->
<!-- Reminder: Change 'YourEmail' to Your real email -->

<?php

$ip = $_POST['ip'];
$httpref = $_POST['httpref'];
$httpagent = $_POST['httpagent'];
$visitor = $_POST['visitor'];
$visitormail = $_POST['visitormail'];
$notes = $_POST['notes'];
$attn = $_POST['attn'];


if (eregi('http:', $notes)) {
die ("Do NOT try that! ! ");
}
if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
{
echo "<h2>Zadajte správny email</h2>\n";
$badinput = "<h2>Feedback was NOT submitted</h2>\n";
echo $badinput;
die ("Go back! ! ");
}

if(empty($visitor) || empty($visitormail) || empty($notes )) {
echo "<h2>Vráťte sa naspäť a vyplnte všetky položky</h2>\n";
die ("Use back! ! ");
}

$todayis = date("l, F j, Y, g:i a") ;

$attn = $attn ;
$subject = $attn;

$notes = stripcslashes($notes);

$message = " $todayis [EST] \n
Attention: $attn \n
Message: $notes \n
From: $visitor ($visitormail)\n
Additional Info : IP = $ip \n
Browser Info: $httpagent \n
Referral : $httpref \n
";

$from = "From: $visitormail\r\n";


mail("[email protected]", $subject, $message, $from);

?>

<p align="center">
Dátum: <?php echo $todayis ?>
<br />
Ďakujeme : <?php echo $visitor ?> ( <?php echo $visitormail ?> )
<br />

Predmet: <?php echo $attn ?>
<br />
Správa:<br />
<?php $notesout = str_replace("\r", "<br/>", $notes);
echo $notesout; ?>
<br />
<?php echo $ip ?>

<br /><br />
<a href="kontakt.php"> naspäť </a>
</p>

</body>
</html>
kod2:

Kód: Vybrať všetko

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Kontaktný email</title>
</head>
<body>

<!-- Reminder: Add the link for the 'next page' (at the bottom) -->
<!-- Reminder: Change 'YourEmail' to Your real email -->

<?php


$name = $_POST['name'];
$surname = $_POST['surname'];
$adresa = $_POST['adresa'];
$mesto = $_POST['mesto'];
$psc = $_POST['psc'];
$krajina = $_POST['krajina'];
$select_product = $_POST['select_product'];
$platba = $_POST['platba'];
$email = $_POST['email'];
$term_agree = $_POST['term_agree'];




if(!$email == "" && (!strstr($email,"@") || !strstr($email,".")))
{
echo "<h2>Zadajte správny email</h2>\n";
$badinput = "<h2>Feedback was NOT submitted</h2>\n";
echo $badinput;
die ("Go back! ! ");
}

if(empty($name) || empty($surname) || empty($select_product) ||empty($adresa) ||empty($mesto) ||empty($psc) ||empty($krajina) ||  empty($platba )|| empty($email )|| empty($term_agree )) {
echo "<h2>Vráťte sa naspäť a vyplnte všetky položky</h2>\n";
die ("Use back! ! ");
}

$todayis = date("l, F j, Y, g:i a") ;


$subject = $select_product;

$notes = stripcslashes($notes);

$message = " $todayis [EST] \n
Meno: $name $surname \n
Adresa: $adresa \n
Mesto: $mesto \n
PSC: $psc \n
Krajina: $krajina \n
-------------------------
Platba: $platba \n
Produkt: $select_product \n
-------------------------
Email : $email \n
";

$from = "From: $email\r\n";


mail("[email protected]", $subject, $message, $from);

?>

<p align="center">
Dátum: <?php echo $todayis ?>
<br />
Ďakujeme : <?php echo $name ?> <?php echo $surname ?> ( <?php echo $email ?> ) za Vašu objednávku
<br />

Adresa: <?php echo $adresa ?>
<br />
Mesto: <?php echo $mesto ?>
<br />
PSČ: <?php echo $psc ?>
<br />
Krajina: <?php echo $krajina ?>
<br />
Produkt: <?php echo $select_product ?>
<br />
Spôsob platby: <?php echo $platba ?>
<br />
Email: <?php echo $email ?>
<br />
IP adresa<?php echo $ip ?>

<br /><br />
<a href="objednavka.php"> naspäť </a>
</p>

</body>
</html>
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

$from = "From: $email\r\n";
skús zmeniť na:

Kód: Vybrať všetko

$from = "From: $email\r\n"
    . "Content-Type: text/plain; charset=UTF-8; format=flowed\n"
    . "MIME-Version: 1.0\n"
    . "Content-Transfer-Encoding: 8bit\n"
    . "X-Mailer: PHP\n";
MuKkY
Star
Star
Používateľov profilový obrázok
Príspevky: 534
Registrovaný: 03 jún 2004, 20:18
Bydlisko: [Bratislava][BA][Blava]
Kontaktovať používateľa:

Príspevok od používateľa MuKkY »

audiotrack napísal:

Kód: Vybrať všetko

$from = "From: $email\r\n";
skús zmeniť na:

Kód: Vybrať všetko

$from = "From: $email\r\n"
    . "Content-Type: text/plain; charset=UTF-8; format=flowed\n"
    . "MIME-Version: 1.0\n"
    . "Content-Transfer-Encoding: 8bit\n"
    . "X-Mailer: PHP\n";
kamo, diky moc. Ide to. :) :wink:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

A ja ešte pridám moju obľúbenú odpoveď: použi nejakú hotovú knižnicu (tá ti tam pridá aj ďalšie hlavičky, takže je menšia šanca, že tvoj email skončí niekde ako spam).
MuKkY
Star
Star
Používateľov profilový obrázok
Príspevky: 534
Registrovaný: 03 jún 2004, 20:18
Bydlisko: [Bratislava][BA][Blava]
Kontaktovať používateľa:

Príspevok od používateľa MuKkY »

chrono napísal:A ja ešte pridám moju obľúbenú odpoveď: použi nejakú hotovú knižnicu (tá ti tam pridá aj ďalšie hlavičky, takže je menšia šanca, že tvoj email skončí niekde ako spam).
asi nerozumiem, prepac, skus mi to nejako spresnit. Dakujem.
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Príspevok od používateľa Mmartin »

Kód: Vybrať všetko

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1250">
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

MuKkY napísal:asi nerozumiem, prepac, skus mi to nejako spresnit. Dakujem.
Skús napr. vygenerovať email pomocou knižnice phpMailer a potom porovnaj hlavičku s tým, čo generuje ten tvoj skript.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

MuKkY napísal:asi nerozumiem, prepac, skus mi to nejako spresnit. Dakujem.
myslel nejakú hotovú triedu, napríklad phpmailer
Mmartin: nie je hlavička ako hlavička :) on myslel hlavičku mailu a nie stránky.
MuKkY
Star
Star
Používateľov profilový obrázok
Príspevky: 534
Registrovaný: 03 jún 2004, 20:18
Bydlisko: [Bratislava][BA][Blava]
Kontaktovať používateľa:

Príspevok od používateľa MuKkY »

mno, zistil som problem, ze to do niektorych mailovych stranok zasle ako SPAM, to je asi sposobene tymi hlavickami, ale neviem co vsetko tam musim zmeni a co pridat... tak ak by ste mi stym viac poradili bol by som nesmierne vdačny :) diky
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

použi ten phpmailer, neposielaj to cez klasickú mail() funkciu. Návod nájdeš tu: http://phpmailer.codeworxtech.com/index.php?pg=tutorial
MuKkY
Star
Star
Používateľov profilový obrázok
Príspevky: 534
Registrovaný: 03 jún 2004, 20:18
Bydlisko: [Bratislava][BA][Blava]
Kontaktovať používateľa:

Príspevok od používateľa MuKkY »

kokso snazim sa ako viem, ale akosi mi to nejde... bud mi to neodosle nic alebo vypisuje chyby :cry:
"J"
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1019
Registrovaný: 13 mar 2007, 17:10

Príspevok od používateľa "J" »

Ake chyby? Zapni si aj oznamovanie vsetkych chyb

Kód: Vybrať všetko

error_reporting(E_ALL);
aj nejaka notice chyba moze pomoct.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

MuKkY napísal:kokso snazim sa ako viem, ale akosi mi to nejde... bud mi to neodosle nic alebo vypisuje chyby :cry:
A aké chyby ti to vypisuje?
tomPD
Star
Star
Používateľov profilový obrázok
Príspevky: 679
Registrovaný: 17 okt 2005, 14:41
Bydlisko: Senec
Kontaktovať používateľa:

Re: php email form - nejde diakritika

Príspevok od používateľa tomPD »

Zdravim, pouzivam PhpMailer-a na odosielanie mailov. Na vacsinu e-mailov to ide bez problemov (gmail, centrum, ...), ale zoznam.sk mi robi problemy. Kod vyzera takto:

Kód: Vybrať všetko

                $mail = new phpmailer();
                $mail->CharSet = "utf-8";
                $mail->From  = "[email protected]";
                $mail->FromName = "www.m.sk";
                $mail->AddAddress($email);
                $mail->WordWrap = 50;
                $mail->IsHTML(false);

                $mail->Subject  =  "Potvrdenie";
                $mail->Body     =  "Vaša objednávka bola potvrdená. Budeme Vás kontaktovať telefonicky.";

                if(!$mail->Send()) {
                    echo '<p class="chyba">Nastala neočakávaná chyba.</p>';
                    exit;
                }
                echo '<p class="oznam">Potvrdenie bolo odoslané</p>';
A na mail (na ten ktory uvadzam ako odosielatela) mi pride takato odpoved:

Kód: Vybrať všetko

Hi. This is the qmail-send program at 1.smtp.pri.crooce.com.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<[email protected]>:
213.81.185.94 failed after I sent the message.
Remote host said: 551 507943167 Tato sprava nemoze byt dorucena. Obsahuje priles vela znakov, na zaklade ktorych je to zrejme SPAM - nevyziadana masova posta.

--- Below this line is a copy of the message.

Return-Path: <[email protected]>
Received: (qmail 96960 invoked from network); 13 Dec 2010 14:30:54 -0000
Received: from unknown (217.67.23.73)
by 1.smtp.pri.crooce.com with QMQP; 13 Dec 2010 14:30:54 -0000
Message-ID: <[email protected]>
To: [email protected]
Subject: Potvrdenie objednávky
X-PHP-Script: www.m.sk/obchod/kosik.php for 91.127.216.238
Received: from phpmailer ([91.127.216.238]) by www.m.sk with HTTP (Apache);

Mon, 13 Dec 2010 15:30:54 +0100

Date: Mon, 13 Dec 2010 15:30:54 +0100

From: "www.m.sk" <[email protected]>
X-Priority: 3

X-Mailer: phpmailer [version 1.50]

MIME-Version: 1.0

Content-Transfer-Encoding: utf-8

Content-type: text/html; charset=utf-8



Vaša objednávka z internetoého obchodu
bola potvrdená. Budeme Vás
kontaktovať telefonicky.
Dik
Napísať odpoveď