« 1 2 3 4 5 6 »
Autor Zpráva
Alphard
Profil
Již delší dobu slibuji úpravu FAQ. Konečně jsem se k tomu dostal.
Jsou opravené nefunkční odkazy, upravené některé kódy, doplněn nějaký obsah a přidané kotvy na konkrétní problémy.
Snažil jsem se dohledat starší návrhy, některé jsem zohlednil, jiné jsem se rozhodl do FAQ zatím nedávat.

Pro další návrhy zakládám toto vlákno (podobně jako Diskuse k častým potížím, zajímavostem a poučným debatám, tohle bude ale zvýrazněné a najdete ho vždy nahoře v kategorii PHP).

Můžete sem dávat návrhy věci, které by se mohly objevit ve FAQ. Pokuste se ale prosím vyhnout dlouhým debatám. Časem bude stejně nutné tady uklízet, ale ať to není za týden :-).
__construct
Profil
Páčil sa mi tento Chamurappiho návrh a preto aj keď sú jednotlivé chybové hlášky celkom jednoducho a zrozumiteľne napísané, vysvetlil by som konštrukciu chybovej hlášky PHP parsera a odkázal na zoznam PHP tokenov kde nájdu ku každej „nepochopiteľnej hláške písanej veľými písmenami“ príslušnú PHP syntax a odkaz na miesto v dokumentácii s popisom ako sa čo používa. Tiež by som odporučil používanie nejakého editora ktorý upozorňuje na zlú syntax (napr. Komodo Edit )
Alphard
Profil
__construct:
keď sú jednotlivé chybové hlášky celkom jednoducho a zrozumiteľne napísané
Již delší dobu přemýšlím o něčem podobném, ale byl bych rád, kdyby mi v budoucnu Chamurappi upravil javascriptové kontroly při zakládání vlákna. Mám představu, že jak se objeví např. "supplied argument is not a valid MySQL result", javascript se zeptá, jestli si uživatel vypsal chybu funkcí mysql_error(). Podobně bychom mohli odchytávat i jiné chyby.

odkázal na zoznam PHP tokenov
Obávám se, že tohle začátečníkům (nikdo jiný se na podobné chyby neptá) moc neřekne.

Tiež by som odporučil používanie nejakého editora ktorý upozorňuje na zlú syntax
Souhlasím, že to můžeme doporučovat. Ale ve chvíli, kdy někdo řeší problém, asi nebude instalovat nové programy.
Chamurappi
Profil
Reaguji na Alpharda:
Podobně bychom mohli odchytávat i jiné chyby.
Ano, kromě integrovaného hledání plánuji do nového vkládacího formuláře i jakýsi automatický odpovídač. Moderátoři nejspíš budou mít možnost doplňovat regulární výrazy a k nim patřičné automatické rady/odpovědi.

Pár technických drobností:
1) Všiml jsem si, že má jeden z nadpisů kotvu #lomítka. S diakritikou v kotvách nejspíš nikdo nemá problém, ale ostatní kotvy většinou máme bez diakritiky.
2) Nedoporučuju odkazovat na čísla příspěvků, protože bude-li FAQ bobtnat, může být jednou nutné rozdělit první příspěvek do dvou (jako se stalo u JS FAQ) — kotvy pak nebudou sedět. Koukám, že první příspěvek už u desetikilové hranice je.
3) Kdybys chtěl nějak hnout s datumy, aby mezi nimi nezářily ty časové prodlevy, stačí říct.
Alphard
Profil
Chamurappi:
plánuji … i jakýsi automatický odpovídač
Vynikající, počkám.

že má jeden z nadpisů kotvu #lomítka
Sjednotil jsem na verzi bez diakritiky.
Koukám, že první příspěvek už u desetikilové hranice je.
Už ji překročil :-( Některý kolega se moc rozpovídal o hashování + zapomenutém hesle a ztratili jsme návod jak měnit <title> includovaným souborem. Ale mám na druhém počítači zálohu, snad ji najdu.
Kdybys chtěl nějak hnout s datumy, aby mezi nimi nezářily ty časové prodlevy, stačí říct.
Mně nevadí. Jestli to vadí uživatelům nechám na širší diskusi.

Nedoporučuju odkazovat na čísla příspěvků
Pozůstatek z doby, kdy nebyly nadpisy. Časem to zmizne.
__construct
Profil
Alphard:
Odporúčam sem doplniť tento odkaz.
Ešte mám otázku - akým spôsobom bude FAQ vznikať? Bude sa odkazovať na riešenia z jednotlivých príspevkov, alebo ho budú budovať moderátori/členovia? Pokiaľ by som mohol pomôcť napísať riešenie nejakého problému ozvi sa mi na mail :-)
Majkl578
Profil
__construct:
odkázal na zoznam PHP tokenov
To bych nedělal, PHP je totiž v blízké době možná přestane používat - současný bison by nahradil lemon (už je to hotové). Jako vedlejší efekt této změny by zmizely právě tokeny T_*, takže místo unexpected T_ARRAY by bylo unexpected 'array'. Víc v RFC.
Alphard
Profil
__construct:
Odporúčam sem doplniť tento odkaz.
Nevešlo se, opět se smazal konec. K registraci se to také nevešlo, takže vznikl nový oddíl Nejčastější potíže s PHP (FAQ)

akým spôsobom bude FAQ vznikať? Bude sa odkazovať na riešenia z jednotlivých príspevkov, alebo ho budú budovať moderátori/členovia?
Tohle je pracovní vlákno, kde mohou všichni navrhovat změny/nové věci. Konečné změny budou provádět moderátoři. Nechat to vlákno otřevřené nefunguje (zkoušeli jsme), jiná možnost není a asi není třeba ji dělat.
Některá řešení kopíruji a upravuji, minimálně aby byl jednotný coding standard. Snažili jsme se s Majklem upravovat i více, ale jsme dost limitováni tím, že to musí být na začátečníkcé úrovni. Jiné věci odkazuji do diskuse i ven.

Jestli bude obsah, může vzniknout vlákno "Pokročilé techniky v PHP", nevidím v tom problém.
tiso
Profil
Alphard: Uvovzovky?
Joker
Profil
Alphard:
Některý kolega se moc rozpovídal o hashování + zapomenutém hesle a ztratili jsme návod jak měnit <title> includovaným souborem.
To jsem byl já. Toho jsem si nevšiml, omlouvám se.
Alphard
Profil
[#9] tiso
Přepsal jsem se, mělo to být česky, teď je to správně. Jestli si přeješ, abych to nadepsal slovensky, tak vyhovím, ale prvně to zkusím takhle :-)

Joker:
To jsem byl já. Toho jsem si nevšiml, omlouvám se.
Nevadí. Jen jsem chtěl veřejně zmínit možný problém, aby se nikdo nepoštěl do rozsáhlejší doplňování dlouhých příspěvků.
tiso
Profil
Alphard: na jazyku nezáleží, išlo o to písmenko navyše.
__construct
Profil
Navrhujem upraviť registraci uživatelů tak aby obsahovala použitie „osoleného hashu
Alphard
Profil
[#13]
Stačí vám statický salt, nebo chcete dynamický? Osobně si myslím, že to není nezbytné, protože začátečníci využívající tento script stěží dělají něco natolik významného, aby bylo třeba to solit, a je to další komplikace v pochopení celého principu.
Raději bych do části o hashování přidal odstavec o solení a propojil křížovým odkazem.
__construct
Profil
Alphard:
Stačí vám statický salt, nebo chcete dynamický?
Napadlo ma to keď som videl tento príspevok

Raději bych do části o hashování přidal odstavec o solení a propojil křížovým odkazem.
Myslím, že to znie rozumne :-)
Joker
Profil
Přidal jsem na první místo v FAQ bod o „syntax error“. Překvapující, že tam o chybách syntaxe nic nebylo, když to je snad nejčastější typ dotazů v kategorii PHP.
__construct
Profil
Píšem to sem, lebo som nenašiel podobné vlákno k MySQL.
V MySQL FAQ je v časti o češtine písané :
stačí po každém connectu zavolat:
mysql_query("set names utf8"); //(utf8 nahraďte za cp1250 pro stránky ve windows-1250 a latin2 pro iso-8859-2)
Pričom v manuále PHP je v poznámkach doporučovaný spôsob nastavovania kódovania pre MySQL 5.0.7 a vyššie funkcia mysql_set_charset poprípade metóda mysqli::set_charset nie volanie dotazu SET NAMES …
Alphard
Profil
Přidal jsem odkazy na solený hash.

Do obsahu db FAQ Kajmanovi nezasahuji, jestli si toho tady nevšimne, podstrčíme mu odkaz někam do databází.
__construct
Profil
Alphard:
Práveže toto je záležitosť PHP; z hľadiska MySQL na tom nie je nič zlé.
Kajman_
Profil *
__construct:
Nastavuje ta funkce i character_set_connection?

Nezkomplikuje to text nápovědy, kde se bude stejně muset napsat návod pro starší verze php a tam použít set names?
__construct
Profil
Kajman:
Nastavuje ta funkce i character_set_connection
Podľa testu čo som teraz spravil áno:
mysql_set_charset('utf8');
echo "<pre>";
$q = mysql_query('SHOW VARIABLES LIKE "%character_set%"')or die(mysql_error());
while ($r = mysql_fetch_assoc($q)){
    var_export($r);
    echo "\n";
}
Tu je výstup:
array (
  'Variable_name' => 'character_set_client',
  'Value' => 'utf8',
)
array (
  'Variable_name' => 'character_set_connection',
  'Value' => 'utf8',
)
array (
  'Variable_name' => 'character_set_database',
  'Value' => 'utf8',
)
array (
  'Variable_name' => 'character_set_filesystem',
  'Value' => 'binary',
)
array (
  'Variable_name' => 'character_set_results',
  'Value' => 'utf8',
)
array (
  'Variable_name' => 'character_set_server',
  'Value' => 'latin1',
)
array (
  'Variable_name' => 'character_set_system',
  'Value' => 'utf8',
)
array (
  'Variable_name' => 'character_sets_dir',
  'Value' => 'c:\\wamp\\bin\\mysql\\mysql5.1.36\\share\\charsets\\',
)

Nezkomplikuje to text nápovědy, kde se bude stejně muset napsat návod pro starší verze php a tam použít set names?

Na php.net je k tej funkcii písané, že tá funkcia je preferovaný spôsob nastavovania znakovej sady. Použitie dotazu SET NAMES … sa nedoporučuje.
Myslím, že keď tam bude poznámka že sa na to používa tá funkcia/metóda a pre staršie verzie MySQL treba zavolať dotaz bude to prehľadné. Ale to je môj názor.
Timy
Profil
Tady je nejspíš překlep:

"From: =?UTF-8?B?".base64_encode(autoUTF("Moje Jméno"))."?=<ja@email.cz> /r/n";
Alphard
Profil
[#22] Timy
Děkuji, opraveno.
Kajman_
Profil *
__construct:
Pričom v manuále PHP je v poznámkach doporučovaný spôsob nastavovania kódovania pre MySQL 5.0.7 a vyššie funkcia mysql_set_charset poprípade metóda mysqli::set_charset nie volanie dotazu SET NAMES

Nakonec jsem tam nechal přeci jenom to set names a jen připsal pro pokročilejší uživatele, že je doporučené tuhle to. Oni sem spíše stejně chodí začátečníci a takhle nemusí řešit, kterou verzi toho a toho vlastně používají.
Joker
Profil
Přidal jsem do FAQ položku pro chybu „supplied argument is not a valid (atd.)“
Připomínky vítány.
Alphard
Profil
Joker:
Připomínky vítány.
Už delší dobu jsem se chystal trochu rozepsat o chybách. Často se zde objevuje rada "zapni si zobrazení chyb", ale už ne, jak to udělat. FAQ je nekompletní, jen útržkovitě zmiňuje syntaktické chyby, headers already sent, překročení limitu paměti a teď sql chyby. Snad ti nebude vadit, kdybych tvůj příspěvěk někdy v budoucnu přesunul a možná trochu upravil.
Joker
Profil
Alphard:
FAQ je nekompletní
To rozhodně, vždyť třeba moje poslední dva příspěvky (tenhle a ještě parse error) vznikly tak, že jsem chtěl někomu omlátit o hlavu odkaz do FAQ a následně s překvapením zjistil, že to tam není :-)

Snad ti nebude vadit, kdybych tvůj příspěvěk někdy v budoucnu přesunul a možná trochu upravil.
To určitě nebude.

Dodatek, akorát myslím, že parse error patří na první místo FAQ (už proto, že to je úplně základní a přitom velice častá chyba).
__construct
Profil
Mohla by sa do FAQ časti o BOM doplniť informácia o tom, že BOM signatúra sa prejavuje aj „prázdnym miestom“ na stránke a že jej existenciu vie odhaliť Chamurappiho validátor.
Davex
Profil
V PHP FAQ navrhuji v částech Kódování e-mailu a Odeslání více položek nahradit znaky pro konec řádku \r\n v odesílané hlavičce za konstantu PHP_EOL.

Již několika lidem to pomohlo a pro konstantu PHP_EOL platí následující:
1) Na Unixu/Linuxu bude mít hodnotu \n, kterou tam bude předpokládat i program sendmail, který funkce mail() použije k odeslání e-mailu dál. (Některé staré/chybné verze mohou při předání e-mailu poštmistrovi/mailserveru hloupě doplňovat znak \r před každé \n, přestože tam už je, a způsobí to rozbití hlavičky.)
2) Na Windows bude mít hodnotu \r\n a funkce mail() zprávu odesílá protokolem SMTP, který tyto znaky jako konec řádku předpokládá.
Alphard
Profil
[#29] Davex
Souhlasím, udělám to.
Tak jsem to udělal. Nevím, jestli to bylo potřeba u skládání zprávy z více položek, ale škody snad nebudou.
« 1 2 3 4 5 6 »

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: