Emailovy formular / spatne kodovani

Programovacie jazyky, rady, poradňa...
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Emailovy formular / spatne kodovani

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

Ahojte,

nejsem programator a proto se na Vas obracim s prosbou o radu. Jak docilit spravneho zobrazeni diakritiky v mejlu.

Kód: Vybrať všetko

<?php
	/*
		CONFIGURATION
	*/
	//$to = '[email protected]'; // YOUR email address
        $to = '[email protected]'; // YOUR email address
	$from = '[email protected]'; // email from
	$subject = 'Objednávka vzorků'; // Subject line you will see
	$redirect_to = "./";  // note: use ./ to redirect home.	
	
	/* END CONFIGURATION */

	$hasErrors = false;
	if(empty($_POST["jmeno"]) || empty($_POST["adresa"]) || empty($_POST["mesto"]) || empty($_POST["psc"]) || empty($_POST["email"]))
	{
		$hasErrors = true;
	}else{
		if(preg_match("/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/", $_POST["email"]) == 1) {
			$hasErrors = false;
		}else{
			$hasErrors = true;
		}
	}
	if($hasErrors == false)
	{
		$headers = "From: <".$from . ">"; 		
		$body = "\nObjednávka vzorků:\n\n";
		$body .= "Jméno a příjmení: " . $_POST["jmeno"] ."\n";
                $body .= "Ulice: " . $_POST["adresa"] ."\n";
                $body .= "Město: " . $_POST["mesto"] ."\n";
                $body .= "PSČ: " . $_POST["psc"] ."\n\n";
                $body .= "Email: " . $_POST["email"] ."\n";
		$body .= "Telefon: " . $_POST["telefon"] . "\n";
                $body .= "Vzorek: " . $_POST["sex"] ."\n";
		$body .= "\nPoznámka k objednávce:\n" . $_POST["message"] . "\n\n";
		mail($to,$subject,$body,$headers);
	}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=WINDOWS-1250" />
	<title>Objednávka vtzorků</title>
	<link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
	<?php if($hasErrors == false){ ?><meta http-equiv="refresh" content="2;URL=<?php echo $redirect_to; ?>" /><?php } ?>
	<link rel="shortcut icon" href="favicon.ico" />
	<meta name="robots" content="noindex,follow" />
</head>
<body>
	<?php if($hasErrors == false){ ?>
		<div class="send-status" id="loading"><h4>Zpráva odeslána!</h4></div>
	<?php }else{ ?>
		<div class="send-status" id="error"><h4>Chyba!</h4><p>Vyplňte prosím potřebná políčka.</p></div>
	<?php } ?>
</body>
</html>
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Emailovy formular / spatne kodovani

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

Kód: Vybrať všetko

<?php
   /*
      CONFIGURATION
   */
   //$to = '[email protected]'; // YOUR email address
        $to = '[email protected]'; // YOUR email address
   $from = '[email protected]'; // email from
   $subject = 'Objednávka vzorků'; // Subject line you will see
   $redirect_to = "./";  // note: use ./ to redirect home.   
   
   /* END CONFIGURATION */

   $hasErrors = false;
   if(empty($_POST["jmeno"]) || empty($_POST["adresa"]) || empty($_POST["mesto"]) || empty($_POST["psc"]) || empty($_POST["email"]))
   {
      $hasErrors = true;
   }else{
      if(preg_match("/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/", $_POST["email"]) == 1) {
         $hasErrors = false;
      }else{
         $hasErrors = true;
      }
   }
   if($hasErrors == false)
   {
      $headers = "From: <".$from . ">\r\n"
                . "MIME-Version: 1.0\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";      
      $body = "\nObjednávka vzorků:\n\n";
      $body .= "Jméno a příjmení: " . $_POST["jmeno"] ."\n";
                $body .= "Ulice: " . $_POST["adresa"] ."\n";
                $body .= "Město: " . $_POST["mesto"] ."\n";
                $body .= "PSČ: " . $_POST["psc"] ."\n\n";
                $body .= "Email: " . $_POST["email"] ."\n";
      $body .= "Telefon: " . $_POST["telefon"] . "\n";
                $body .= "Vzorek: " . $_POST["sex"] ."\n";
      $body .= "\nPoznámka k objednávce:\n" . $_POST["message"] . "\n\n";
      mail($to,$subject,$body,$headers);
   }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>Objednávka vtzorků</title>
   <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
   <?php if($hasErrors == false){ ?><meta http-equiv="refresh" content="2;URL=<?php echo $redirect_to; ?>" /><?php } ?>
   <link rel="shortcut icon" href="favicon.ico" />
   <meta name="robots" content="noindex,follow" />
</head>
<body>
   <?php if($hasErrors == false){ ?>
      <div class="send-status" id="loading"><h4>Zpráva odeslána!</h4></div>
   <?php }else{ ?>
      <div class="send-status" id="error"><h4>Chyba!</h4><p>Vyplňte prosím potřebná políčka.</p></div>
   <?php } ?>
</body>
</html>
A dokument formátovať ako UTF-8
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Emailovy formular / spatne kodovani

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

Ahoj Weroro :-)

diky .. ale hlasi mi to chybu na "sendmail.php on line 27" to je to . "MIME-Version: 1.0\r\n"
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Emailovy formular / spatne kodovani

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

neviem prečo tam má weroro dvakrát mime-version, ale to by malo hlásiť chybu až pri posielaní mailu (alebo nehlásiť žiadnu). Napíš čo za chybu ti to na tom 27. riadku hádže
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Emailovy formular / spatne kodovani

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

audiotrack napísal:neviem prečo tam má weroro dvakrát mime-version, ale to by malo hlásiť chybu až pri posielaní mailu (alebo nehlásiť žiadnu). Napíš čo za chybu ti to na tom 27. riadku hádže
ano kdyz kliknu na odeslat tak se zobrazi nova stranka a je tam jen tohle:
Parse error: syntax error, unexpected

a na radku 27 je tohle:
¨. "MIME-Version: 1.0\r\n"
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Emailovy formular / spatne kodovani

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

máš tam zkopírovaný nejaký bordel. Čo je ten znak na začiatku toho čo uvádzaš že je na riadku 27? Nejaké dve bodko hore. Werorovi ten riadok začína iba bodkou
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Emailovy formular / spatne kodovani

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

Aj to se tam nejak nechte dostal bordel. V kodu to nemam. Asi se to tam ted nejak pridalo nechtene kdyz sem daval ctrl+v :oops:
v kodu to mam takhle:

Kód: Vybrať všetko

		$headers = "From: <".$from . ">";
                . "MIME-Version: 1.0\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";
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Emailovy formular / spatne kodovani

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

v tomto riadku

Kód: Vybrať všetko

$headers = "From: <".$from . ">";
máš na konci bodkočiarku čo tam nemá čo hľadať
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Emailovy formular / spatne kodovani

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

vymazal sem ji :-) super uz to ukazuje ze byl email odeslan ale zda se ze na email nic neposlalo :(
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Emailovy formular / spatne kodovani

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

Uf, tak to s tým dvojitým MIME som si teda nevšimol a to ten php z ktorého som to zobral používam už dlhú dobu. Ďakujem za upozornenie.

//autoeditácia príspevku (25 Mar 2011, 15:29)
Fikotek:

Kód: Vybrať všetko

$headers = "From: <".$from . ">\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";
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Emailovy formular / spatne kodovani

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

Excelentni prace :-) uz o funguje .. sice se jako predmet v emailu objevi: Předmět: Objedn??vka vzork?? ale to az tak nevadi.

mozna to bude ten:
$subject = 'Objednávka vzorků'; // Subject line you will see
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Re: Emailovy formular / spatne kodovani

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

Použi PHPMailer a nebudeš musieť riešiť takéto veci (a bude ti správne fungovať aj tá diakritika v predmete správy). :)
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Emailovy formular / spatne kodovani

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

chrono napísal:Použi PHPMailer a nebudeš musieť riešiť takéto veci (a bude ti správne fungovať aj tá diakritika v predmete správy). :)
ty jo to slysim prvne :-) mas na mysli tohle?? http://phpmailer.worxware.com/
Napísať odpoveď