URL Ellenőrzése.
Sziasztok.
A segítségeteket szeretném kérni egy olyan dologban,hogy le kellene ellenőriznem egy URL-t.
Például www.honlapom.hu/lap?VÁLTOZÓ
A változó adatbázisban el van tárolva,ezt már elkészítettem.
Ha a változó-t megtalálom az URL-ben akkor a DB-ben megtalált változónál a sorban egy másik mező értékét majd növelem +1-el.
Kódot nem írtam,azért mert nem tudom hogyan is tudnám ezt kivitelezni.
a $SERVER['HTTP_REFERER'] környékén próbálkoztam,de sajnos nem jött igazán össze.
Kérlek adjatok tanácsot hogyan induljak el ebben a dologban.
Előre is köszönöm.
■ A segítségeteket szeretném kérni egy olyan dologban,hogy le kellene ellenőriznem egy URL-t.
Például www.honlapom.hu/lap?VÁLTOZÓ
A változó adatbázisban el van tárolva,ezt már elkészítettem.
Ha a változó-t megtalálom az URL-ben akkor a DB-ben megtalált változónál a sorban egy másik mező értékét majd növelem +1-el.
Kódot nem írtam,azért mert nem tudom hogyan is tudnám ezt kivitelezni.
a $SERVER['HTTP_REFERER'] környékén próbálkoztam,de sajnos nem jött igazán össze.
Kérlek adjatok tanácsot hogyan induljak el ebben a dologban.
Előre is köszönöm.
$_GET
A feladat egyszerű, ahhoz,
Feladat
Azt szeretném megoldani hogy le ellenőrzöm hogy az url-ben benne van e a kód vagy sem.
a $_GET-et ismerem,de hogyan tudnám ezt így alkalmazni?
?$_GET['valtozo']?
Konkrétan az nem megy hogy hogyan ellenőrizzem le,az lenne a legjobb ha a le ellenőrzés után bele teszem egy változóba amivel aztán feltételeket adhatok meg,az menne már,csak az nem hogy hogyan tegyem változóbba az URL-ben lévő ? utáni kódsorozatot.
paraméterek
$_GET
tömbön, és minden egyes kulcsot meg kell vizsgálnod, hogy létezik-e az adatbázisban (vagy ha egy bizonyos formája van - mondjuk tudjuk, hogy 16 karakter hosszú -, akkor csak azokat amik megfelelnek ennek a követelménynek).Ha pedig a keresett paraméter kulcsa előre ismert, és csak az értékben változik, akkor a
$_GET
tömbből kikeresed a kulcs alapján az értéket, és máris mehet az adatbázisba.DB
Csak nem tudom hogyan tudom a getet össze kapcsolni ezzel a művelettel úgy hogy ha már jön az oldalamra már le legyen ellenőrizve a kód,és műveleteket végezhessek vele.
van az URL-jében ? után egy
Akkor az benne lesz a
$_GET
tömbben.Az le is kell ellenőrízni, hogy megvan-e az adatbázisban, ugyanis én hallottam már gonosz Pistikékről, akik mindenféle kódokat összehordanak.
Ebből a mondatból erősen hiányzanak írásjelek, de ami a lényeg, megnézed a
$_GET
tömb elemeit, összehasonlítod az adatbázissal, és ha ez sikeresen teljesült, akkor végezhetsz vele műveleteket.???
STATISZTIKA?
csak mert ha én egy rosszindulatú felhasználó vagyok és írok egy végtelen ciklust, ami folyamatosan meghívogatja az adott címet anélkül hogy megvárná a választ, szerintem percek alatt kivégzem a szervert egy számítógéppel is, főleg hogyha nem perzisztens kapcsolatot használsz az RDBMS-hez..
egyébként jól mondték a többiek, a
$_GET
tömbön kell iterálni, de ha csak http://localhost/?{valami} formátumot használsz, abban az esetben a key-ek között kell keresgélned..csak mert akkor nem kell mindenképp végigmenni az összes elemen, hanem csak akkor megyünk bele a logikai ágba, ha egyáltalán létezik az adott elem..
http://localhost/?s={valami}
:)
Az első példádban miért kell
nem kell, de érdemes..
ahhoz hogy értsd miért használtam, először is tisztában kell lenni azzal mi a változó maga.. ugye a processzor szintjén az csak egy memóriacímke, ahol eltároltuk a kívánt adatot, így az hozzáférhetővé válik későbbi logikai műveletek számára is..
vannak programnyelvek (mint például a Java, Javascript, C#, ..), ahol minden változó referencia, tehát az kerül külön műveletbe, ha le szeretnénk másolni egy másikba (deep copy).. a PHP egy kicsit másképp működik, mert ott minden változót lemásol és azt kell feltüntetned, ha referenciát szeretnél kapni az adott memóriatartományról és nem az értékére vagy kíváncsi.. amennyiben ezt nem jelölöd, minden memóriában tárolt változó értéke lemásolódik, az eredeti pedig bent marad változatlanul..
gondolom így már egyértelmű, milyen előnyei vannak optimalizálás szempontjából, mivel sok kicsi sokszor sokra megy és a PHP amúgy is eléggé hanyagul bánik az erőforrásokkal..
egyszer leástam a C-ben íródott Zend Engine mélyére és meglepődve tapasztaltam, hogy minden változót 4 változóban tárol, a konstans meg nem érinthetetlen memóriaterület, hanem változó, amit plusz logikával véd meg utólag..
tehát különösebb jelentősége nincs az előbbi esetben, inkább megszokás, de jó ha megszokod te is!
ॐ
Akkor ez pont az a fajta
Szerintem érdemesebb nem megszokni így...
Ez mind így van, leszámítva,
~
$_GET
-es kérdésből, ezt már szeretem - :) - mindig szeretek tanulni valami újat, azonban a referenciákra kitérve érdemes megnézni az alábbi oldalt, nagyon hasznos lehet..http://www.phpbench.com/
egyedül kettő vagy annál több dimenziós tömb esetén lassabb, vannak az oldalon külön erre vonatkozó mérések is..
ॐ
Középút
$_GET
éppen nem tartozik ezek közé. De ha pl. egy MVC modelben legyártasz egy nagyobb adathalmazt (pl. adatbázis dump) és controllerben akarod zip-elni illetve kiküldeni letöltésre - ilyen esetekben jó referenciaként átadni.a konstans meg nem
ma is tanultam valamit, eddig
Már ’89 óta része a nyelvnek.
Ezt egy kicsit túlbonyolítottad :)
Meglepődtem, hogy van const,
const
, mert határozott emlékeim vannak, hogy anno előadáson a C++ újdonságai között ki volt emelve, mint okosabb #define (bár lehet, hogy tévedek, lassan 3 éve volt). A kódod szép megoldás, én is faragtam rajta :)Meglepődtem, hogy van const,
Onnan került vissza a C szabványba :)
Nem rossz :)
Fatal error
Passing by Reference
:)
azonban igazad van, a függvény definiálásánál kell ügyelni rá:
ॐ