#1 2016-02-11 08:52:46

rydloscz
Endora uživatel
Registrován: 2014-02-05
Příspěvky: 51

Problém s Formulářem v php

Dobrý den mohl by mi někdo pomoct už jsme bezradnej.
Pořád zkouším a zkouším možnosti hledal jsem na google atd nic moc nepomohlo.
Když se odešle Email tak jsou v něm Diakritické chyby.
Babrám se stím už dosti dlouho nemohl by mi někdo z vás pomoct.

Kodování stránky je v UTF-8 ale nic a nic.

Zde vám posílám kod a zhodnoťte co může být špatně.

$to = "můj@email.cz"; 
$from ="FajnDemoMailer@podpora.cz";
$extra = "From: $from\r\nReply-To: $email\r\n";
$headers .= "Content-Type: text/plain; charset=UTF-8\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
$headers = "Vzkaz od ".$_POST[$nick]." ";
$mess = "Priorita Problemu: ".$_POST['priorita_problemu']."\nPriorita: ".$_POST['priorita']."\nOznámení Podal: ".$_POST['nick']."\nTéma: ".$_POST['$tema']."\nEmail: ".$_POST['email']."\nNahlášen: ".$_POST['$nahlasit']."\nText:\n".$_POST['text']."";

mail ($to, $headers, $mess, $extra);
	?>
	  
	 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<div class="container">
<table height="100%" width="100%" cellSpacing="0" cellPadding="0" border="0">
<tr><td align="center" valign="top">
<form action="podpora.php" method="post">
<table width="200" border="0" class="text">
	Priorita Problému
	<select name="priorita_problemu" size="1">
<option value="web">Web
<option value="cheater">Cheater
<option value="sms">Problem s Aktivaci SMS
</select>
	
	Priorita
<select name="priorita" size="1">
<option value="nizka">Nizká
<option value="normalni">Normální
<option value="vysoka">Vysoká
</select>
	
<tr><td width="50">Nick: </td><td><input name="nick" accesskey="j" type="text" value="Tvůj MineCraft Nick"></td></tr>
	<p>
<tr><td width="50">Téma: </td><td><input name="tema" accesskey="e" type="text" value="Téma Nahlášení"></td></tr>
		<p>
<tr><td width="50">Email: </td><td><input name="email" accesskey="f" type="text" value="váš@email.cz"></td></tr>
			<p>
				<tr><td width="50">Nahlásit: </td><td><input name="nahlasit" accesskey="f" type="text" value="Jmeno Hráče"></td></tr>
				<p>
<tr><td width="50" valign="top">Text :</td><td><textarea name="text" accesskey="t" rows="5" cols="25" ></textarea></td></tr>
<tr><td colspan="2" align="center"><input type="submit" class="button" value="Odeslat"> &nbsp; <input type="reset" value="Vymazat"></td></tr>
</form></table>
	</td></tr></table>

Offline

#2 2016-02-11 09:15:25

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Problém s Formulářem v php

Zkuste si doplnit tečku v řádku:

$headers .= "Vzkaz od ".$_POST[$nick]." ";

Pokud to i nadále nebude fungovat, na webu naleznete spoustu řešení jak správně kódovat emaily. Např. zde.

Script samozřejmě obsahuje bezpečnostní chyby - nejsou ošetřeny vstupy ($_POST). To představuje bezpečnostní riziko!
Takový email bych rozhodně nechtěl dostat.


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#3 2016-02-11 12:27:49

rydloscz
Endora uživatel
Registrován: 2014-02-05
Příspěvky: 51

Re: Problém s Formulářem v php

Děkuji velice za pomoc Diakritika se zdá být v pořádku.
Pokud možno mohl by jste mi pomoct dál jak se zbavit bezpečnostních vrátek.

A nějak vymyslet ověření toho že je to dopravdy email.
Jestli mě chápete.

Offline

#4 2016-02-11 12:53:34

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Problém s Formulářem v php

rydloscz napsal:

... jak se zbavit bezpečnostních vrátek. ...

Nevím nakolik dále pracujete se vstupními proměnnými, ale pro to co jste zde ukázal by postačovalo použití funkce htmlspecialchars() pro výpis do emailu.

rydloscz napsal:

... A nějak vymyslet ověření toho že je to dopravdy email. ...

Máte na mysli relevantnost emailové adresy? Pokud ano, použijte např. funkci filter_var().


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#5 2016-02-11 13:08:29

rydloscz
Endora uživatel
Registrován: 2014-02-05
Příspěvky: 51

Re: Problém s Formulářem v php

Zdravím a je tu zase problém.
Teď to ukazuje zase tyto nesmysli no takové otazníky na foru se to asi neukazuje big_smile .

Nemá te promě nějaké řešení big_smile. Jelikož už jsem z toho jelen předtím to šlo a teď zas ne big_smile.

Upravil rydloscz (2016-02-11 13:09:48)

Offline

#6 2016-02-11 13:34:24

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Problém s Formulářem v php

V jaké kódování je zdrojový soubor?

Doména, název a umístění souboru?


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#7 2016-02-11 13:57:58

rydloscz
Endora uživatel
Registrován: 2014-02-05
Příspěvky: 51

Re: Problém s Formulářem v php

no je to napsáno v php
doména www.fajnproject.g6.cz/podpora.php
a kodování v UTF-8

Koukně te na to.

Offline

#8 2016-02-11 15:55:55

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Problém s Formulářem v php

Sice jsem musel trochu hledat, protože Vámi uvedený soubor neexistuje, ale pokud se jedná o soubor fajnproject.g6.cz/pages/podpora.php tak obsahoval BOM znaky.
Odstranil jsem je, vyzkoušejte si funkčnost.


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#9 2016-02-12 04:22:17

rydloscz
Endora uživatel
Registrován: 2014-02-05
Příspěvky: 51

Re: Problém s Formulářem v php

Zdravím tak již to je v pohodě ale musím vyřešit jeden problém a to s tím že když někdo dá Refresh Stránky tak se Email odešle a to nějak potřebuji fixnout aby se to neodesílalo jenom prostě když někdo klikne na to tlačítko odeslat.

Offline

#10 2016-02-12 09:08:02

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Problém s Formulářem v php

Script odešle email vždy, i s prázdnými hodnotami.
Netestujete stisknuté tlačítko pro odeslání a proto dochází k odeslání pouhým spuštěním scriptu. Způsobů jak to ošetřit je více.
Lze např. pojmenovat odesílací tlačítko a vyhodnocovat existenci proměnné:

<?php
if (isset($_POST["odesli"]))
{
 $to = "můj@email.cz"; 
 $from ="FajnDemoMailer@podpora.cz";
 $extra = "From: $from\r\nReply-To: $email\r\n";
 $headers .= "Content-Type: text/plain; charset=UTF-8\r\n";
 $headers .= "Content-Transfer-Encoding: 8bit\r\n";
 $headers = "Vzkaz od ".$_POST[$nick]." ";
 $mess = "Priorita Problemu: ".$_POST['priorita_problemu']."\nPriorita: ".$_POST['priorita']."\nOznámení Podal: ".$_POST['nick']."\nTéma: ".$_POST['$tema']."\nEmail: ".$_POST['email']."\nNahlášen: ".$_POST['$nahlasit']."\nText:\n".$_POST['text']."";

 mail ($to, $headers, $mess, $extra);
}
?>
	  
	 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<div class="container">
<table height="100%" width="100%" cellSpacing="0" cellPadding="0" border="0">
<tr><td align="center" valign="top">
<form action="podpora.php" method="post">
<table width="200" border="0" class="text">
	Priorita Problému
	<select name="priorita_problemu" size="1">
<option value="web">Web
<option value="cheater">Cheater
<option value="sms">Problem s Aktivaci SMS
</select>
	
	Priorita
<select name="priorita" size="1">
<option value="nizka">Nizká
<option value="normalni">Normální
<option value="vysoka">Vysoká
</select>
	
<tr><td width="50">Nick: </td><td><input name="nick" accesskey="j" type="text" value="Tvůj MineCraft Nick"></td></tr>
	<p>
<tr><td width="50">Téma: </td><td><input name="tema" accesskey="e" type="text" value="Téma Nahlášení"></td></tr>
		<p>
<tr><td width="50">Email: </td><td><input name="email" accesskey="f" type="text" value="váš@email.cz"></td></tr>
			<p>
				<tr><td width="50">Nahlásit: </td><td><input name="nahlasit" accesskey="f" type="text" value="Jmeno Hráče"></td></tr>
				<p>
<tr><td width="50" valign="top">Text :</td><td><textarea name="text" accesskey="t" rows="5" cols="25" ></textarea></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="odesli" class="button" value="Odeslat"> &nbsp; <input type="reset" value="Vymazat"></td></tr>
</form></table>
	</td></tr></table>

Script neobsahuje téměř žádné kontroly, zejména na vyplnění povinných polí.


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#11 2016-02-12 18:43:56

rydloscz
Endora uživatel
Registrován: 2014-02-05
Příspěvky: 51

Re: Problém s Formulářem v php

Zdravím
Myslím že cajk.
Ale mohl bych se zeptat jak dlouho by dal asi zabrat nějakej lehčí ticket system.
Naprogramovat aby se dalo odpovídat a dělalo to random id atd snad to znáte.

Mají to například zde: http://dubcat.fakaheda.eu/?mode=ticket

Offline

#12 2016-02-12 19:20:58

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Problém s Formulářem v php

Bohužel na uvedené stránce není nic, respektive pravděpodobně obsahuje chyby.

Proč chcete vymýšlet něco již dávno vymyšlené? Můžete se poohlédnout po hotovém řešení.

rydloscz napsal:

... Ale mohl bych se zeptat jak dlouho by dal asi zabrat nějakej lehčí ticket system. ...

Záleží také na tom, kdo by to programoval...


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#13 2016-02-13 00:48:47

rydloscz
Endora uživatel
Registrován: 2014-02-05
Příspěvky: 51

Re: Problém s Formulářem v php

No takhle já bych to chtěl dostat do stránky přímo do zdroje.
Aby to nebylo zvlášť ale přímo v desingu.
No ono se musíte zaregistrovat na ten web aby vám to zobrazilo všechny ostatní položky v menu.
Popřípadně vám hodím obrázek jak to asi vypadá.

3b56c6e6092ed5bc.jpg

Offline

#14 2016-02-13 00:49:39

rydloscz
Endora uživatel
Registrován: 2014-02-05
Příspěvky: 51

Re: Problém s Formulářem v php

Například kdyby jste to programoval vy.

Offline

Zápatí

Založeno na FluxBB | CZ a SK