Kontaktny formular - diakritika

Programovacie jazyky, rady, poradňa...
sipik
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 102
Registrovaný: 24 sep 2009, 19:59
Kontaktovať používateľa:

Kontaktny formular - diakritika

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

Ahoj
Mam na webe jednoduchy kontaktny formular. Vsetko som spravil ako ma byt a funguje az na chybu v diakritike. Formular odosle text ale bez diakritiky. Viem, ze do suboru kde je zapisany script treba nejako zakomponovat UTF-8 len neviem kde ho tam dat, aby ho snim aj odoslalo.

Tu sú nahlady na kody:

zapis formulara:

Kód: Vybrať všetko

<form method="post" action="spracovanie.php">
					<p>&nbsp;</p>
					<p><input name="meno" type="text" class="form_nm" id="meno" onfocus="if(this.value=='Vaše meno') this.value=''" value="Vaše meno a priezvisko" /></p>
								<p>&nbsp;</p>
							  <p><input name="email" type="text" class="form_nm" id="email" onfocus="if(this.value=='Váš E-mail') this.value=''" value="Váš E-mail" /></p>
					<p>&nbsp;</p>
							 <p><textarea name="sprava" class="form_tf" cols="" rows="" id="sprava" onfocus="if(this.value=='Správa') this.value=''">Vaša správa</textarea></p>
						  <p>&nbsp;</p>
							  <p><input name="odoslat" class="btn-form" alt="" title="odoslat" type="submit" value="Odoslať"/></p>        	
				  	</form>
zapis scriptu (spracovanie.php):

Kód: Vybrať všetko

<?
if(isset($_POST['odoslat'])){

$predmet = "Kontakt";
$sprava = "Meno a priezvisko: ".$_POST['meno'];
$sprava .= "\nE-mail odosielajúceho: ".$_POST['email'];
$sprava .= "\nSpráva: ".$_POST['sprava'];

echo $sprava;

if ( Mail("[email protected]", $predmet, $sprava, "From: " . $_POST['email']) )
  echo "Vaša objednávka bola úspešne spracovaná a odoslaná.";
  else echo "Vašu objednávku sa nepodarilo spracovať.";
}
?>
Prosím ak niekto viete ako tam to UTF-8 zakomponovat tak poradte.
Dakujem :-)
lama2d
VIP
VIP
Príspevky: 1006
Registrovaný: 24 feb 2005, 14:54
Bydlisko: PostgreSQL

Re: Kontaktny formular - diakritika

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

skús takto

Kód: Vybrať všetko

<?
if(isset($_POST['odoslat'])){

$headers = "From: ".$_POST['email']."\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=utf-8\r\n"; 
$headers .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$predmet = "Kontakt";
$sprava = "Meno a priezvisko: ".$_POST['meno'];
$sprava .= "\nE-mail odosielajúceho: ".$_POST['email'];
$sprava .= "\nSpráva: ".$_POST['sprava'];

echo $sprava;

if ( Mail("[email protected]", $predmet, $sprava, $headers) )
  echo "Vaša objednávka bola úspešne spracovaná a odoslaná.";
  else echo "Vašu objednávku sa nepodarilo spracovať.";
}
?>
sipik
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 102
Registrovaný: 24 sep 2009, 19:59
Kontaktovať používateľa:

Re: Kontaktny formular - diakritika

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

Dikes moc :-) No len jedna malinka chybicka . ANi to nieje chybicka len neviem preco to php nespracuje. Ked som tam zadal ten kod co si poslal z malimi pismenami (utf-8) tak to nefungovalo. Ked som to napisal velkym (UTF-8) tak funguje. Dakujem moc :-)...

Ak by ste niekto chceli formular tak tu ho mate :-). Všetko funkcne. A pre vlastny "dizajn" treba prepisat triedu v cssku (class="nieco"...)

Tu mate zdrojaky:

formular:

Kód: Vybrať všetko

<form method="post" action="spracovanie.php">
					<p>&nbsp;</p>
					<p><input name="meno" type="text" class="form_nm" id="meno" onfocus="if(this.value=='Vaše meno') this.value=''" value="Vaše meno a priezvisko" /></p>
								<p>&nbsp;</p>
							  <p><input name="email" type="text" class="form_nm" id="email" onfocus="if(this.value=='Váš E-mail') this.value=''" value="Váš E-mail" /></p>
					<p>&nbsp;</p>
							 <p><textarea name="sprava" class="form_tf" cols="" rows="" id="sprava" onfocus="if(this.value=='Správa') this.value=''">Vaša správa</textarea></p>
						  <p>&nbsp;</p>
							  <p><input name="odoslat" class="btn-form" alt="" title="odoslat" type="submit" value="Odoslať"/></p>        	
				  	</form>
spracovanie a odoslanie:

Kód: Vybrať všetko

<?
if(isset($_POST['odoslat'])){

$headers = "From: ".$_POST['email']."\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$predmet = "Kontakt";
$sprava = "Meno a priezvisko: ".$_POST['meno'];
$sprava .= "\nE-mail odosielajúceho: ".$_POST['email'];
$sprava .= "\nSpráva: ".$_POST['sprava'];

echo $sprava;

if ( Mail("[email protected]", $predmet, $sprava, $headers) )
  echo "Vaša objednávka bola úspešne spracovaná a odoslaná.";
  else echo "Vašu objednávku sa nepodarilo spracovať.";
}
?>
Pochopitelne treba prepisat email na svoj :-) . A na servery musite mat podporovane SMPT aby to odoslalo.
Napísať odpoveď