ugrás a tartalomhoz

Archívum

október 23, 2013

PHP - amit senki nem mondd el egy kezdőnek

Mikulasche · 2013. Okt. 23. (Sze), 20.18
Erre is magamnak kellett rájönnöm.

Meghívsz egy php file-t amiben nincs echo/print csak összerak valamit és visszaküldi annak a lapnak ahonnan meghívták.

header locationnal megy vissza

ha a location átirányítás sor után még vannak utasítások és függvények
azok végrehajtódnak annak ellenére, hogy az átirányítás már átdob.

/Ha csak nem irsz neki exit; -et location után/

Te már rég messsze jársz a php azonban szépen lefuttja a location utáni kódot.

Persze hogy hiba miatt jöttem rá erre.

Bent maradt egy session destroy a kód végén.
De én már jóval előbb header locationnal átmentem onnan.
Nem értettem mért nem működik a kódom.
Mert nem volt exit-em a session destroy lefutott,
csak néztem hol vannak a session változók.

Ez annyira egyszerű, épp ezért nem mondja el senki.
 

Object-Oriented Programming for Heretics

Hidvégi Gábor · 2013. Okt. 23. (Sze), 15.54
Egy alternatív megközelítés
 

header(Location: változóval, és session változó átadása

Mikulasche · 2013. Okt. 23. (Sze), 14.59
Ez nem kérdés, csak leírom a tapasztaltakat.
Mert leírva sehol nem volt és magamtól kellett két nap kínszenvedés, próbálkozás után rájönnöm.

Egy form-al elküldtem adatokat egy feldolgozo.php -nak ami azt rendben fel is dolgozta.
Az eredményt betettem $_SESSION[eredmeny], majd header location vitte vissza oda ahonnan a form el lett küldve.

Ahonnan a form el van küldve, az mindíg más hely lehet, mert a form includolva van egy csomó oldalba.
Ezért lekértem a form elküldése előtt az URI-t -

$_SESSION['innen_jott'] = $_SERVER['SCRIPT_URI']

és a visszairányításnál
header("Location: $_SESSION[innenjott]"); /aposztróf kihagy!/
szépen vissza is küldte.

De a visszaküldésnél a $_SESSION[eredmeny] csak akkor jött át,
ha másodszor küldtem el a formot.
Az első elküldésnél semmi nem jött vissza.

Sokáig tartott míg ezer próbálkozással rájöttem, hogy

$_SESSION['innen_jott'] = $_SERVER['SCRIPT_URL']

a jó megoldás.

Vissza is küld, és ott a $_SESSION[eredmeny] is.

A $_SESSION['innen_jott'] = $_SERVER['SCRIPT_URI'] - teljes útvonalat ad
A $_SESSION['innen_jott'] = $_SERVER['SCRIPT_URL'] - a domain utáni teljes útvonalat.

Csak leírom ezt, hátha valaha valakinek hasonló problémája lenne, pláne kezdőnek - mint én vagyok.
 

október 22

18 promóciós tipp webdesigner-ek számára

Wishmylove · 2013. Okt. 22. (K), 17.04
A szabadúszó webdesignerek élete nem olyan könnyű, mint az elsőre tűnik
 

Sass bemutató

T.G · 2013. Okt. 22. (K), 17.01
Rövid leírás – telepítéssel, egyszerű példákkal – az egyik népszerű CSS preprocesszorról
 

rest routing

inf · 2013. Okt. 22. (K), 15.57
Szeretnék rest routing-ot csinálni, úgy, hogy ne kelljen kézzel megadni a mapping-et, hanem teljesen automatikus legyen.

Két koncepció jutott eszembe:

1.)
Megadom annotációban minden resource osztály mellé, hogy milyen url template tartozik hozzá, ebből aztán generáltatok egy config fájlt, ami tartalmazza a mapping-et, ezt beolvasva fel tudja konfigolni a routert a rendszer, illetve meg tudja mondani egyes erőforrás példányokról, hogy milyen url tartozik hozzájuk.

@url = /user/@id
class User implements Resource {
...
}
$user = new User();
$user->setId(123);
$url = $user->getUrl();
2.)
Az url-ben az egyes csomópontokat megfeleltetem egy-egy property-nek. Csinálok egy $api nevű változót, és egyesével lépkedve rajta a csomópontokon kikeresem az adott erőforrást.

$user = $api->user->_id(123);
$url = $user->_url();
Ez routing-ban gyorsabb, mint a hagyományos megoldás, viszont ahhoz, hogy resource példányokat lehessen csinálni az adatbázisból vagy az input-ból érkező adatok alapján, végig kell lépdelni minden alkalommal a csomópontokon.

Szerintetek melyik a jobb megoldás?
(az autocomplete mindkét típusú kódra megoldható...)
 

Miért pont sablon ?

Vilmos · 2013. Okt. 22. (K), 09.17
tgr, pp
Drupal alap sablonnyelve a PHP ...

Köszönöm a pontosítást a drupállal kapcsolatban (hogyan ragozzák ezt helyesen?). A belinkelt hozzászólás furcsa a maga módján. A fejlesztők nem a karbantartást választották egy bejáratott elemnél, hanem dobták, és visszatértek az alapokhoz.

inf3rno
Nekem a sablonnyelvektől van ilyen érzésem, nem értem minek újra és újra feltalálni a kereket...

Nekem pont ellentétes a véleményem. Még nem találták fel a kereket. Azért van a sokféle próbálkozás. A kerék univerzális eszköz, nekünk nincs ilyen.

Azt hiszem, a sablonok interfésznek tekinthetők a szerver oldali program és böngésző között. Adattal való feltöltésükre készültek a sablonozó megoldások.
A Smarty, a saját nyelvet alkalmazók mintha zsákutcában járnának. Nem a futtatható nyelv a lényeg, ez elég jól látszik. Van ilyen, és akkor hogyan tovább?
Ami kell, az a böngészőnek megfelelő adatok összeállítása. Erre kétféle művelet elegendő. Sztring beillesztése egy kijelölt helyre, illetve "zárójelezett" tartalom duplikálása, iterálása. Például a Mustache és személyes kedvencem az xTemplate képességeiből elég mindössze ennyit használni. Aki ezt kitalálta, szerintem ráhibázott valamire.
 

október 21

Text Compression for Web Developers - HTML5 Rocks

janez · 2013. Okt. 21. (H), 06.50
Szöveg tömörítés web fejlesztőknek
 

Python like decorators in Javascript with pseudo operator overloading

MadBence · 2013. Okt. 21. (H), 06.22
Python dekorátorokhoz hasonló viselkedés JavaScriptben.
 

A Google algoritmus frissítések története 13 évre visszamenőleg

esotanc · 2013. Okt. 21. (H), 06.17
Mintegy 50 ezer karakteres leírás a Google ismert algoritmus változtatásairól napjainkig