Autor | Zpráva | ||
---|---|---|---|
Davex Profil |
#1 · Zasláno: 15. 9. 2011, 23:52:17
Alphard:
Ještě bych byl rád, kdyby někdo ověřil funkčnost ve více kombinacích na Windows - s Apache + mod_php/FastCGI a IIS + FastCGI. |
||
Alphard Profil |
#2 · Zasláno: 15. 9. 2011, 23:54:27
Testu Windows - s Apache + mod_php/FastCGI.
IIS nemám. |
||
Časová prodleva: 4 měsíce
|
|||
Mastodont Profil |
#3 · Zasláno: 11. 1. 2012, 12:28:03
Možná by ve FAQ mohlo být něco jako "PHP mýty a skutečnost" .. ? Třeba předevčírem vyšel pěkný článeček o ' a " u řetězců ...
http://nikic.github.com/2012/01/09/Disproving-the-Single-Quotes-Performance-Myth |
||
Alphard Profil |
[#3] Mastodont
Může být, jen jsem sekci nazval trochu jinak Nejčastější potíže s PHP (FAQ) » Výkonnost aplikace. Když bude podobných článků víc, není problém je vyčlenit a dát jim víc prostoru. Jen se obávám že těm, kteří se na to nejčastěji ptají, anglické vysvětlení moc nepomůže. |
||
Časová prodleva: 24 dní
|
|||
Davex Profil |
#5 · Zasláno: 4. 2. 2012, 14:07:06
Ve funkci na posílání e-mailu by se asi měl na výstup
base64_encode() aplikovat wordwrap() . Nevím, zda to tam je takto od začátku, ale teď s tím měl někdo potíže.
Už všude používám Content-Transfer-Encoding: 8bit , který v případě potřeby převede poštovní server sám, ale někde by s tím mohly být problémy, takže bych to ve FAQ nechal s base64.
|
||
Alphard Profil |
#6 · Zasláno: 4. 2. 2012, 14:40:17
[#5] Davex
Ano, to vlákno jsem viděl, v rychlosti jsem to chtěl upravit, ale odeslalo mi to rozsypaný čaj. Teď jsem našel chybu, gmail je ok (posílám cca 90 kB zprávu). Večer to pro jistotu pošlu ještě na pár dalších serverů a pak aktualizuji. base64_endode() je zastaralé, ale co si tak vzpomínám, tak na některých serverech býval problém s vhodnými funkcemi pro escapování. Já sám už dlouho využívám třídu Nette\Mail\Message, takže mi chybí osobní zkušenosti. Jestli někdo máte vyzkoušenou funkci, napište. |
||
Alphard Profil |
#7 · Zasláno: 4. 2. 2012, 22:25:12
[#5] Davex
Dokončeno. Děkuji i Thalii. |
||
abc Profil |
#8 · Zasláno: 5. 2. 2012, 03:17:11
Alphard:
Je teda ješte potřeba nějaká fce? Já mam skvělou fci, která umí posílat maily až se 3 přílohama a úplně bez chyby... Je to jeden z mých prvních skriptů, ale je celkem vychytanej. Pokud má někdo zájem, upravím do normální podoby a poskytnu |
||
Alphard Profil |
#9 · Zasláno: 5. 2. 2012, 04:10:25
abc:
Já jsem reagoval spíš na jiné kódování, jak zmiňoval Davex, protože base64 je mírně zastaralá. Cokoliv, co posílá i přílohy bych tam radši netahal. Ten script má být maximálně jednoduchý a srozumitelný. Nejde mi o to najít funkci, která toho umí co nejvíc :-) |
||
Časová prodleva: 30 dní
|
|||
Majkl578 Profil |
#10 · Zasláno: 6. 3. 2012, 02:21:04
Dal bych do FAQ jednoduchý kus kódu na dynamické načítání podstránek webu (tj. /index.php?page=foo). Například něco takového, možná případně něco benevolentnějšího (ten regulár je celkem striktní). Co myslíte?
|
||
Alphard Profil |
#11 · Zasláno: 6. 3. 2012, 07:33:07
Majkl578:
Já se poslední dva týdny snažím popsat jednoduše MVC a šablony. Jednoduchá ukázka routeru by se tam hodila. Hned bych k tomu ale přidal pravidla pro mod rewrite a pár řádek o tom, jak na pěkné url. Také častý dotaz. |
||
Časová prodleva: 2 měsíce
|
|||
Tori Profil |
#12 · Zasláno: 13. 5. 2012, 21:14:29
Jen maličkost k příspěvku odkázanému z FAQ (nadpis skupiny): ten SQL dotaz by mohl být spíše
select pismeno, slovo from tabulka order by pismeno, slovo , vzhledem k požadovanému výstupu.
|
||
Alphard Profil |
#13 · Zasláno: 13. 5. 2012, 21:35:16
Upravil jsem a doplnil jsem i výpis toho slova do php části kódu.
|
||
peta Profil |
A pokud to bude stare php4, tak tam ta konstanta PHP_EOL je tez? Rikam to proto, ze jeste do nedavna nam tu umiral server, kde dokonce bezelo php3 :) Ale uz je tak pul roku na onom svete.
K reg. vyrazum mam tyhle linky http://peter-mlich.wz.cz/web/links.htm#regularni_vyrazy, ten prvni www.visibone.com je sice pro javascript, ale ty slajdy jsou dobre delane, priklady a tak. Mohlo by to nekomu pomoci. while ($line = mysql_fetch_assoc($result)) // radek tabulky se oznacuje obvykle row. "select den from dny" // select je dobre psat jako "SELECT den FROM dny", abys odlisil SQL syntaxi od promennych. Ono to mozna vypada divne, ale az budes mit slozitejsi dotaz, tak to pochopis. Pro obarveni SQL dotazu je sikovny link http://www.dpriver.com/pp/sqlformat.htm Tady to dokonce mas INSERT INTO `dny` VALUES, tak by bylo dobre, drzet se jednotneho zapisu. $zprava = "Jméno: {$_POST['jmeno']}".PHP_EOL; Tady realescape, ti lide jsou schopni to takto napsat do kodu i jinde, pak. |
||
Tori Profil |
peta:
„A pokud to bude stare php4, tak tam ta konstanta PHP_EOL je tez?“ Od PHP 4.3.10 a PHP 5.0.2. (manuál) > $zprava = "Jméno: {$_POST['jmeno']}".PHP_EOL; > Tady realescape "realescape" = mysql_real_escape_string? Do mailu? |
||
peta Profil |
$result = mysql_query($sql); if(!$result){ /* Kód pro zalogování chyby a zobrazení nějaké chybové stránky uživateli. */ } Na funci autoutf si nekdo tusim stezoval v php, ze mu to nedelalo, co melo. Ale ted si nevzpomenu, zda byl problem ve funkcni nebo jinde. Nevidim tam nikde problem s error_reporting. Obvykle mi na beznem serveru projde toto: define("PHP_DEBUGMODE",false); //config.php //define("SQL_DEBUGMODE",false); if (PHP_DEBUGMODE) { @ini_set('error_reporting', E_ALL); @ini_set("display_errors", "on"); error_reporting(E_ALL); } else { @ini_set('error_reporting', NONE); @ini_set("display_errors", "off"); error_reporting(NONE); } Tori: ok, mozna dobre zminit. |
||
Alphard Profil |
#17 · Zasláno: 15. 5. 2012, 13:45:41
peta:
„komentar neni dostacujici. Pak ti napisi, ze to zadnou chybu nenapsalo. Pochopitelne, v kodu neni vypis chyby“ Ještě nikdo nepsal. Já bych tam zase (když už) chtěl podmíněný výpis debug/production a to by zasahovalo do jiných logických částí aplikace a odvádělo pozornost. Je to základ, ne hotové řešení. „Na funci autoutf si nekdo tusim stezoval v php“ Nevzpomínám si, ale určitě více lidem pomohla. Konkrétní problém budu řešit, ale nevím o něm. Začátečníci často neví, jaké kódování používají a opravit diakritiku v mailu jinak bývala diskuse na 10 příspěvků. „Nevidim tam nikde problem s error_reporting.“ Pravda. Už delší dobu to chci doplnit, ale pořád není nálada nebo čas. Zvýším tomu prioritu. |
||
Tori Profil |
#18 · Zasláno: 15. 5. 2012, 14:00:34
peta:
„Na funci autoutf si nekdo tusim stezoval v php“ Myslíte tohle vlákno: Cteni Content-Transfer-Encoding a Charset z php imap |
||
Časová prodleva: 23 dní
|
|||
Tori Profil |
#19 · Zasláno: 7. 6. 2012, 03:17:42
Jen dvě maličkosti:
* V části ... supplied argument is not a valid MySQL result resource… by se z $result = mysql_query($q = 'select * from tabulka where id = 5'); mohlo to přiřazení dát na samostatný řádek. Přeci jen je to výslovně pro začátečníky a takto to může vypadat jako součást řetězce.
* K Nejčastější potíže s PHP (FAQ) » headers already sent… navrhuji doplnit, že koncová značka je nepovinná a zejména v includovaných souborech je spíš k užitku ji vynechat, aby se předešlo této chybě. |
||
Majkl578 Profil |
Tori:
„mohlo to přiřazení dát na samostatný řádek“ Upravil jsem. „navrhuji doplnit, že koncová značka je nepovinná“ Nevím, jestli je vhodné tím začátečníky mást. Platí to totiž pouze v případě, že soubor PHP kódem končí (což includovaný soubor nemusí). |
||
Keeehi Profil |
#21 · Zasláno: 7. 6. 2012, 05:15:46
Majkl578:
Pokud includovaný soubor PHP kódem nekončí tak tam ?> tak jako tak nebude. Navíc pokud bude v includovaném souboru něco jiného kromě PHP kódu, bude zase s hlavičkami problém (pomineme li ob_start).
|
||
peta Profil |
Ja bych to tam radeji uvadel. Nereknu vam uz kde a co, ale neuvedl jsem ?> a nefungovalo mi neco. Slo o neco specialniho, co se obvykle nepouziva.
Vim, ze zacatecnik, ktery se pusti do reseni chyb pres error_reporting s tim muze mit problem, ale to uz je hold osud. To uz je podobny problemu, kdyz u ifu neukoncis kulatou zavorku v podmince. Pak ti hlasi error na konci php souboru a pak se to tezko hleda. Tori: Slo o jine vlakno, mozna i jine forum. |
||
panther Profil |
#23 · Zasláno: 7. 6. 2012, 07:35:44
Majkl578:
Nejčastější potíže s PHP (FAQ) » headers already sent… - poslední větu „Pokud je text v UTF-8, tím výstupem může být i tzv. BOM signatura, vizte výše zmíněný Divný znak (čtvereček).“ bych dal na konec prvního odstavce. „Přesvědčete se, že před začátkem <?php ?> není žádný text (ani mezera) a že nebylo nic odesláno třeba funkcemi jako echo nebo print. Pokud je text v UTF-8...“. Bude to tam více logicky pasovat. V prvním odstavci popisuješ, co může způsobovat chybu, ve druhém pak pouze doporučení (a na jěho konci opět příčinu vzniku chyby). |
||
Časová prodleva: 9 dní
|
|||
Jan Tvrdík Profil |
#24 · Zasláno: 15. 6. 2012, 20:40:08
Velmi často lidé upravují špatné php.ini. Navrhuji do FAQ doplnit návod, jak najít to správné php.ini.
|
||
Časová prodleva: 2 měsíce
|
|||
Tori Profil |
#25 · Zasláno: 29. 8. 2012, 12:25:20
Do části o register_globals navrhuji doplnit informaci o funkcích session_(un)register, konkrétně že
1. jejich funkčnost je podmíněna nastavením reg.globals, 2. stejně jako reg.globals by se ani tyto funkce neměly používat, 3. od verze 5.4 už v PHP nejsou. |
||
Alphard Profil |
#26 · Zasláno: 29. 8. 2012, 12:39:13
Je to tak častý problém? O vlákně Administrace jak začít vím, Petrovi to připadá strašně zajímavé, ale já už tak nadšený nejsem. Radši bych tyhle funkce nezmiňoval, předpokládejme, že neexistují, brzy to bude pravda.
|
||
Tori Profil |
#27 · Zasláno: 29. 8. 2012, 12:55:11
Alphard:
Google ukazuje jen asi 15 vláken za letošní skororok, kde se ta funkce vyskytla, což je méně, než v předchozích letech (20-35). Takže často to není. Navrhovala jsem to hlavně proto, aby bylo kam odkazovat, ale vlastně se dá odkázat i na manuál php. (= souhlasím s [#26]) |
||
Časová prodleva: 22 dní
|
|||
Onderek Profil * |
#28 · Zasláno: 20. 9. 2012, 11:22:54
Ono je to vsechno krasne jenze nikde neni ani jeden navod jak to rozchodit na OSx
|
||
Joker Profil |
|||
Časová prodleva: 18 dní
|
|||
peta Profil |
Nejčastější potíže s PHP (FAQ) » Kódování e-mailu, aneb abychom neposílali otazníky.
1. Na radku je chyba, $head neni definovane a nemuzes pricitat .= k necemu, co neexistuje. $head .= "MIME-Version: 1.0".PHP_EOL; 2. Pouzil bych radeji array $head = array(); $head[] = "MIME-Version: 1.0"; $head[] = "Content-Type: text/plain; charset=\"utf-8\""; $head[] = "Content-Transfer-Encoding: base64"; $head = implode(PHP_EOL,$head); 3. A ten radek s FRom nemusi byt kazdemu jasny, k cemu patri, ze se to tyka dalsiho radku k $head. "From: =?UTF-8?B?".base64_encode(autoUTF("Moje Jméno"))."?=<ja@email.cz>".PHP_EOL; |
||
Téma pokračuje na další straně.
|
0