define ("SITENAME", "Lilly CMS");
define ("KEYWORD", "Kulcsszó!");
define ("DESCRIPTION", "Leírás");
define ("FBADMIN", "XXXXXXXX");
define ("FBAPP_ID", "XXXXXXXXX");
metatags.php:
$metatags=array();
if (!empty(KEYWORD)) {
$metatags[] = "\n";
}
majd az index.php-ben foreach-al behúzom a < /head> előtt (a fájl elején természetesen require_once('metatags.php');
):
foreach ($metatags as $metatag) {
echo $metatag;
}
De 500 Errort dob, és nem bírok rájönni, mi baja...
- gkaroly blogja
- A hozzászóláshoz be kell jelentkezni
- 1262 megtekintés
Hozzászólások
Ez (a 4-es sor az az if):
metatags.php|4 error| unexpected ')', expecting T_PAAMAYIM_NEKUDOTAYIM
Tipp: konstanst nem lehet így vizsgálni. Ne így csináld, inkább legyen egy $config array:
$config['sitename'] = "Lilly CMS";
$config['keyword'] = "az";
$config['description'] = "Az az";
$config['fbadmin'] = "FBADMIN";
$config['fbapp_id'] = "FBAPP123456";
Tipp2: egy parancssori PHP-t tessék felrakni a gépre, a vim-ben meg használni a syntastic plugint.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Azt a tippet kaptam, hogy a konstanst éppúgy lehet kezelni, mint a változót... Akkor, hogyan vizsgáljam?
Apache már felkerült a gépre.
--
-- Kezet nyújtok Ganyi Károlynak!
Legyen neked is Dropbox tárhelyed! :)
- A hozzászóláshoz be kell jelentkezni
if(defined(KEYWORD)) {
// az
}
De a jelenlegi kódban én ezt nem konstansokkal oldanám meg. Nem szép, és nem is erre való.
Nem apache-t mondtam, hanem CLI-s php-t, vagyis a parancssorban legyen olyan parancsod, hogy php. A vim syntastic pluginje ugyanis csak ezen keresztül tudja tesztelni a szintaxis helyességét.
Szerk: ez egy annyira híres probléma, hogy még a Wikipedian is cikkeznek róla.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
„De a jelenlegi kódban én ezt nem konstansokkal oldanám meg. Nem szép, és nem is erre való.”
Hanem mivel?
--
-- Kezet nyújtok Ganyi Károlynak!
Legyen neked is Dropbox tárhelyed! :)
- A hozzászóláshoz be kell jelentkezni
Lásd az elsö válaszom.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Igen, már vágom, picit megkavart az oldal... :) Köszi a segítséget. :)
Azt hiszem át kell vennem a PHP-t újra. :) Egy utolsó kérdés:
A tomb['tombelemnev']-ből, mivel íratom ki a tombelemnev-t?
--
-- Kezet nyújtok Ganyi Károlynak!
Legyen neked is Dropbox tárhelyed! :)
- A hozzászóláshoz be kell jelentkezni
"A tomb['tombelemnev']-ből, mivel íratom ki a tombelemnev-t?"
Na most az indexet vagy tudod, vagy nem. Ha meg tömbön iterálsz végig, akkor meg foreach-nál foreach as ($foo as $key => $value) értékkel meg tudod tenni.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Mi az amit valojaban szeretnel? Nincs igazan ertelme ennek a kerdesnek.
A tomb adott indexenek a tartalmat a echo $tomb['tombelemnev'];
kifejezessel tudod kiiratni, de ha a tomb tartalmara vagy kivancsi, akkor a print_r -t tudom ajanlani. De inkabb tedd fel a valodi kerdest.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Helyesen:
if(defined('KEYWORD')) {
Mert a defined() stringet vár, ha te konstanst használnál, akkor:
ha létezik: először behelyettesíti a konstans értékét és egy teljesen másik (jó eséllyel nem létező konstanst fog keresni) -> false
ha nem létezik: átalakítja stringre és elkezdi azt keresni (+1 warning). De mivel ugye nem létezik, ezért false a visszatérési érték.
Szóval ez csak és kizárólag akkor adna vissza true-t, ha pont egy konstans neve.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
uff, igaz, nem programozok annyit php-ban, hogy ez zsigerileg bennem legyen, de igen, abszolut igaz.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Ha változó lenne, akkor változóként lehetne kezelni. De mivel konstans...
Szóval a helyes megoldás az az, hogy kaptál egy hülye tippet és nem néztél utána, hogy az empty() mit csinál. (Egyébként az empty egy külön állatfaj, lévén, hogy nem függvény, hanem nyelvi elem).
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Nem ismeri a KEYWORD szót az if()-ben. Legalábbis ahogyan kipróbáltam.
- A hozzászóláshoz be kell jelentkezni
A KEYWORD konstans lenne...
--
-- Kezet nyújtok Ganyi Károlynak!
Legyen neked is Dropbox tárhelyed! :)
- A hozzászóláshoz be kell jelentkezni
Használj osztályszintű konstansokat, a define()-t meg száműzd a kódodból.
class X
{
const KEYWORD = "...";
}
- A hozzászóláshoz be kell jelentkezni
Ha jól látom, ez nem OOP kód. De nem is érdekes, mert amire használni akarja, arra nem is feltétlen való ez.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Valamit fixálj a postodban, mert ami alattad van, az tt -ben van.
- A hozzászóláshoz be kell jelentkezni
Drupal 6-ban már van kódfixáló...
- A hozzászóláshoz be kell jelentkezni
Az lehet, de ez még 5 :)
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
egy <!--break--> tag kellene az elso code tag elé, hogy a bevezető ne fusson bele a code tagba.
- A hozzászóláshoz be kell jelentkezni
Vagy kockas code taget kene hasznalni.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
De 500 Errort dob, és nem bírok rájönni, mi baja...
php.ini -be:
error_reporting = E_ALL & ~E_NOTICE
error_logs=On
log_error=/var/log/php-error.log (tudja írni, aki a kódot futtatja)
fejlesztői környezetbe esetleg:
display_errors=On
- A hozzászóláshoz be kell jelentkezni
"error_reporting = E_ALL & ~E_NOTICE"
Egy fejleszto legyen mar annyira igenyes, hogy a noticeokat is keruli. Meglepoen sok hibatol tudja megkimelni magat, akar komolyabbaktol is.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
+1 erre
Miert is kene kikapcsolni a notice-okat? Pl. nem letezo tombindexekre csak notice-t kapsz, pedig elegge fontos lehet.. (ha csak letezo indexet akarsz vizsgalni, arra meg ott az http://php.net/manual/en/function.array-key-exists.php )
--
R2D2 a filmtörténet legmocskosabb szájú karaktere.
Minden szavát kisípolták.
- A hozzászóláshoz be kell jelentkezni
Az adott szituációra írtam, hogy könnyebb lehessen megtalálnia, miért kap "500 Error"-t.
- A hozzászóláshoz be kell jelentkezni
empty() only checks variables as anything else will result in a parse error. In other words, the following will not work: empty(trim($name)).
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni