Hirdetés

Új hozzászólás Aktív témák

  • Sk8erPeter
    nagyúr

    Csak azért, mert érdekelne, az egyes módszerek, függvények felhasználástól függően vajon nagyjából mennyi erőforrást (memóriahasználat, prociigény) igényelnek.
    Microtime-al tudsz időt mérni, memory_get_usage-el tudsz memóriahasználatot mérni. Esetleg felrakhatod a zend szervert, ott kapsz pl. profile-ozási lehetőséget.

    ezért akárhányszor frissítek a böngészőben, a microtime() függvény mindig más eredményt ad...
    Rossz végén fogod meg a kérdést. Ha gyorsítani szeretnél egy rendszeren, akkor először azt kell meghatározni, hogy hol lassú és hogy miért, ezután pedig kitalálni, hogy egyáltalán tudsz-e rajta gyorsítani és ha igen, akkor hogyan.
    Ha a rendszered nem lassú, megfelel a sebességi követelményeknek, akkor nem kell gyorsítani rajta. (Pontosabban lehet, csak senki nem fogja neked kifizetni)
    A valóságban úgy néz ki a dolog, hogy van egy rendszer, ami normális sebességgel működik, kivéve 1-2 műveletet/erőforrást. Ezeket hívjuk bottleneck-eknek. Ha gyorsítani kell a rendszeren, akkor ezeket kell megtalálni és ezeknél kell kitalálni, hogy mitől lassú. Weboldalnál szinte mindig egy lassú lekérdezés lesz a bűnös, ha ez megvan, akkor lehet elemezni, hogy mivel gyorsítod fel. Tehát ha lassú egy rendszer, akkor nem attól lassú, mert mysql helyett mysqli-t használsz, vagy fordítva.

    "Microtime-al tudsz időt mérni, memory_get_usage-el tudsz memóriahasználatot mérni. Esetleg felrakhatod a zend szervert, ott kapsz pl. profile-ozási lehetőséget."
    Köszönöm az ötleteket, erre voltam kíváncsi. :R

    "Tehát ha lassú egy rendszer, akkor nem attól lassú, mert mysql helyett mysqli-t használsz, vagy fordítva."
    Ebben igazad van, de most épp azért kellett a mysql_query-s lekérés helyett a mysqli osztály függvényeit használnom, mert még korábban elég csúnya módszerrel úgy oldottam meg a többszörös lekérdezést (pl. több elem törlésekor más táblákból, vagy több sima SELECT-es lekérdezés egymás után, majd az eredmények tárolása, kiíratása - persze itt is elválasztva az alkalmazáslogikát a megjelenítéstől, ahogy illik), hogy egymás utáni mysql_query-ket hajtottam végre, az a kódban meg elég csúful mutat, sokkal szebb, ha konkatenálom egy sztringbe a lekérdezéseket, majd egymás után végrehajtom MySQLi-függvényekkel, ahogy írtam. Pl. van olyan eset, amikor a júzer törölni szeretne az admin felületen egy képet az összes kategóriából, és ilyenkor magából a képtáblából is törölni kell, meg a kategória-kép-összerendelő táblából is, és ilyenkor jó rondán néz ki a kódban az egymás után mysql_query.

    Aztán ha már próbálgattam, kíváncsi voltam arra is, hogy vajon a két lekérdezés (sima mysql_query-vel vagy mysqli-s függvényekkel) között milyen időbeli különbségek vannak. A memóriahasználatbeli különbségekre is kíváncsi vagyok. :)
    Meg egyébként még nem dolgozom komoly cégnél, mint honlapszerkesztő, most egyelőre szeretném magam minél jobban kiképezni, és megtanulni, hogy mik azok a megoldások, amik a lehető legkisebb erőforrást igénylik, és a leggyorsabb megjelenítést eredményezik. :)
    Ezért foglalkozom esetleg apróságoknak tűnő kérdésekkel is. :B

  • Sk8erPeter
    nagyúr

    Igy van, a patternben megadott string tartalmazza a szogletes zarojeleket. Ha mindketto szerepel benne ilyen forman: [ ], akkor behal a fuggveny. Megprobaltam lecserelni (mondjuk en visszaperrel, de azt hiszem az a jo), de azzal se ment.

    Mondjuk amikor atadom, akkor az url-ben %5B es %5D szerepel, de a bongeszoben jol jelenik meg...

    Na basszus, most látom, hogy pont a backslash-t akartam írni, erre csak elcsesztem... :W Úgy látszik, már késő volt. :B

    Na várj, ezt írd már körül kicsit, mert nem értem. Tulajdonképpen mit szeretnél elérni? Hogy a szögletes zárójeleket tartalmazó elérési útvonalakat találja meg? Ezek szerint a backslash nem volt jó ( \[ kjkj \] )
    A [ és ] HTML-kódjával is próbálkoztál?
    [ : [
    ] : ]

  • biker
    nagyúr

    eszem megáll hibába futottam.

    Van egy server, ezen több rendszer, azonos domain, alkonyvtárban, pl domain.hu/teszt/index.php
    domain.hu/teszt2/index.php

    mindkettőnél van beléptetés, és sessionben tárolja a neveket.

    a teszt oldal jól meg van írva (én írtam :) )
    a teszt2 szarul, ezt kell kijavítsam. Ennél volt úgy megírva, amit korábban írtam, hogy register_globals_on, és hasonlók.
    Namost ebbe a teszt2-be neletettem a hack-et register globals-ra, de sajnos van egy hiba, ez a teszt2 rendszer hozzáfér a teszt mappa sessionben tárolt adataihz is, és mivel mindkét rendszeren a kereses az kereses, és a sessionben usernev a változó, ezért összeakad, ha mindkét lapon egy böngésző két tabjában vagy bejelentkezve.

    ez normális dolog? mert így a rendszerben mindenhol $nev van, nem $_POST['nev'], és így a másik oldal sessionben tárolt nev változója felülírja a post-al elküldött nevet. brrrr, nem is nagyon tudom lekövetni.

    A legjobb lenne hackelés helyett átírni mindent $_POST, $_GET és $_SESSION verzióra, igaz?

  • Adott egy mappa és benne X mennyiségű TXT fájl. Ezeket szeretném megnyitni php-ban. Addig már eljutottam, hogy a fájlok nevét kiírja és kiválassza, a csak txt-ket. Tovább sajnos nem...tehát azt szeretném, ha a mappában levő összes txt fájl tartalmát kiírná a script. Tudtok valami megoldást?

    A legegyszerűbb megoldás: foreach()-el végigmész a fileokon, file_get_contents()-el beolvasod az aktuálist egy változóba, nl2br()-el a sortörések elé raksz <br> tageket, majd echo()-val kiírod.

  • DviDee
    csendes tag

    Adott egy mappa és benne X mennyiségű TXT fájl. Ezeket szeretném megnyitni php-ban. Addig már eljutottam, hogy a fájlok nevét kiírja és kiválassza, a csak txt-ket. Tovább sajnos nem...tehát azt szeretném, ha a mappában levő összes txt fájl tartalmát kiírná a script. Tudtok valami megoldást?

  • cucka
    addikt

    Köszönöm a válaszokat, akkor tényleg maradok a lehető legegyszerűbb megoldásnál. :R Ami talán mellesleg ugyanolyan gyors is, vagy gyorsabb, mint ha minden egyes feltételt vizsgálgatnék, annak megfelelően törölnék, stb. Azért jó ebbe a topicba írni, mert végül a segítségetekkel valahogy mindig eljutok a közel legegyszerűbb megoldáshoz. :K

    "Általában egy nagy terhelésű rendszeren az adatbázis i/o a szűk keresztmetszet, nem pedig a processzor sebessége."
    Mondjuk gondolom ilyen esetben érdemes lenne megfontolni, hogy inkább PHP-vel vizsgálgatom a különböző tömböket kicsit komplikáltabb módon, mint hogy több adatot töröljek, majd vigyek be újra az adatbázisba.

    Még egy eszembe jutott, amire kíváncsi lennék:
    -csak érdekességképpen: van olyan módszer, amivel figyelni lehet a felhasznált erőforrások váltakozását? Csak azért, mert érdekelne, az egyes módszerek, függvények felhasználástól függően vajon nagyjából mennyi erőforrást (memóriahasználat, prociigény) igényelnek. Legalább itthoni gépen próbálgatnám, ha a szolgáltató szerverén nem is lehet - van olyan külső progi, amit rá lehet állítani a PHP-s folyamatokra? Vagy akár beépített függvény? A microtime()-mal ugye elvileg jól lehet figyelgetni a lekérdezések idejét, ezzel csak az a probléma, hogy nyilván a saját procim is mindig más folyamatokkal foglalkozik, mást helyez előtérbe (prioritás, megszakítások), ezért akárhányszor frissítek a böngészőben, a microtime() függvény mindig más eredményt ad... így sokszor még ez sem olyan jó összehasonlítási alap.
    Pl. azt akartam tesztelni legutóbb, hogy a többszörös mysql_query($query) utasításnál mennyivel gyorsabb a MySQLi osztály használata, és a $mysqli->multi_query($query) utasítás egy do{...}while($mysqli->next_result()); paranccsal.
    De akárhányszor frissítettem, mindig más eredmény jött ki, egyszer az egyik javára, máskor a másik javára - de összességében a MySQLi osztály használata a multi_query()-vel jött ki győztesen, legalábbis ott szerepeltek a rövidebb értékek a legtöbbször.

    (#4086) cucka: igazad van, a JavaScriptes megoldás a legegyszerűbb, amennyiben szükség van a gomb value mezőjére (már amennyiben egy felhasználónál nincs kikapcsolva a JavaScript, de ez az esetek döntő többségében nem áll fenn).

    Csak azért, mert érdekelne, az egyes módszerek, függvények felhasználástól függően vajon nagyjából mennyi erőforrást (memóriahasználat, prociigény) igényelnek.
    Microtime-al tudsz időt mérni, memory_get_usage-el tudsz memóriahasználatot mérni. Esetleg felrakhatod a zend szervert, ott kapsz pl. profile-ozási lehetőséget.

    ezért akárhányszor frissítek a böngészőben, a microtime() függvény mindig más eredményt ad...
    Rossz végén fogod meg a kérdést. Ha gyorsítani szeretnél egy rendszeren, akkor először azt kell meghatározni, hogy hol lassú és hogy miért, ezután pedig kitalálni, hogy egyáltalán tudsz-e rajta gyorsítani és ha igen, akkor hogyan.
    Ha a rendszered nem lassú, megfelel a sebességi követelményeknek, akkor nem kell gyorsítani rajta. (Pontosabban lehet, csak senki nem fogja neked kifizetni)
    A valóságban úgy néz ki a dolog, hogy van egy rendszer, ami normális sebességgel működik, kivéve 1-2 műveletet/erőforrást. Ezeket hívjuk bottleneck-eknek. Ha gyorsítani kell a rendszeren, akkor ezeket kell megtalálni és ezeknél kell kitalálni, hogy mitől lassú. Weboldalnál szinte mindig egy lassú lekérdezés lesz a bűnös, ha ez megvan, akkor lehet elemezni, hogy mivel gyorsítod fel. Tehát ha lassú egy rendszer, akkor nem attól lassú, mert mysql helyett mysqli-t használsz, vagy fordítva.

  • Alex91
    félisten

    Na várj, a glob függvény fejléce így néz ki:
    array glob ( string $pattern [, int $flags = 0 ] )
    Akkor a $pattern-be megadott sztringbe kerül bele egy szögletes zárójel? Hogy adod meg?
    Ha perjellel escape-eled?
    /[ kjkj /]
    Persze jó lenne többet tudni a problémáról.

    Igy van, a patternben megadott string tartalmazza a szogletes zarojeleket. Ha mindketto szerepel benne ilyen forman: [ ], akkor behal a fuggveny. Megprobaltam lecserelni (mondjuk en visszaperrel, de azt hiszem az a jo), de azzal se ment.

    Mondjuk amikor atadom, akkor az url-ben %5B es %5D szerepel, de a bongeszoben jol jelenik meg...

  • Sk8erPeter
    nagyúr

    Egy kis gondom akadt a glob() fuggvennyel. Ugyanis, ha parameterkent atadott sorban szerepel egy ilyen [ kjkj ] (szogelets zarojel par), akkor valoszinuneg tombkent ertelmezi, es nem jol mukodik. Van valami megoldas, hogy ezt elkeruljem?

    Na várj, a glob függvény fejléce így néz ki:
    array glob ( string $pattern [, int $flags = 0 ] )
    Akkor a $pattern-be megadott sztringbe kerül bele egy szögletes zárójel? Hogy adod meg?
    Ha perjellel escape-eled?
    /[ kjkj /]
    Persze jó lenne többet tudni a problémáról.

  • Alex91
    félisten

    Egy kis gondom akadt a glob() fuggvennyel. Ugyanis, ha parameterkent atadott sorban szerepel egy ilyen [ kjkj ] (szogelets zarojel par), akkor valoszinuneg tombkent ertelmezi, es nem jol mukodik. Van valami megoldas, hogy ezt elkeruljem?

  • Helló. Kellene nekem egy profi programozó aki hobbyból elvállalna egy mmorpg oldal programozását. Az oldalmotor meg van (php,képek,sql....) Csak ki kellene javítani a bug-kat és hozzá írni egy pár frissítést. Kiemelném, hogy csak hobbyból és szórakozásból vállalja el mert sajna fizetni nem tudok! Várom a jelentkezőket. És a többit P.Ü-ben megbeszéljük. :K

  • Sk8erPeter
    nagyúr

    sziasztok

    Szeretném megtanulni php programozást és ehhez szeretnék tőletek segítséget kérni.
    Mégpedig valami jó fajta könyvet (mert kb. 1000 van a piacon) vagy más segédanyagot tudnátok nekem ajánlani? köszi

    Az első hsz.-ben látható könyvek közül én kivettem könyvtárból a Bevezetés a PHP5 programozásába c. könyvet, és nekem eddig pozitívak a tapasztalataim, ezerszer értelmesebb könyvnek látszik, mint pl. a "Tanuljuk meg a PHP5 használatát 24 óra alatt" c. könyv... Előbbi igen vaskos, több mint 1000 oldalas könyv. Én ezt ajánlanám kezdetnek, meg persze a php.net-et.
    Aztán amikor elkezd jobban menni, és a dolgok hátterére is kíváncsi vagy, akkor érdemes lehet olvasgatni a PHP fejlesztés felsőfokon c. könyvet, nagyon érdekes dolgok vannak benne, és jó az író (a fordító?) stílusa is.

  • Sk8erPeter
    nagyúr

    Vagyis így a hozzászólás végére eljutottam arra a következtetésre, hogy lehet, hogy semmivel nem lenne erőforrás-igényesebb az, ha mindent törölnék, és mindent újra hozzáadnék
    Na látod.. :D

    vajon melyik működik gyorsabban, a MySQL törlő és hozzáadó műveletei, vagy a PHP összehasonlítgatásai, majd egy MySQL-törlés illetve -hozzáadás...
    Esetedben mindkettő megfelelően gyors, azt válaszd, amelyikkel kevesebb a munka. Semmi értelme vadászni a századmásodperceket.

    Nyilván, ha olyan rendszered van, ahol a táblában több millió sor van és viszonylag gyakran nézegetik, akkor az a cél, hogy minél kevesebb és minél gyorsabb lekérdezésed legyen, de nálad most gondolom nem ez áll fenn. Általában egy nagy terhelésű rendszeren az adatbázis i/o a szűk keresztmetszet, nem pedig a processzor sebessége. Kis terhelésnél annyira minimális a különbség, hogy nem érdemes túl sokat foglalkozni a kérdéssel.

    Köszönöm a válaszokat, akkor tényleg maradok a lehető legegyszerűbb megoldásnál. :R Ami talán mellesleg ugyanolyan gyors is, vagy gyorsabb, mint ha minden egyes feltételt vizsgálgatnék, annak megfelelően törölnék, stb. Azért jó ebbe a topicba írni, mert végül a segítségetekkel valahogy mindig eljutok a közel legegyszerűbb megoldáshoz. :K

    "Általában egy nagy terhelésű rendszeren az adatbázis i/o a szűk keresztmetszet, nem pedig a processzor sebessége."
    Mondjuk gondolom ilyen esetben érdemes lenne megfontolni, hogy inkább PHP-vel vizsgálgatom a különböző tömböket kicsit komplikáltabb módon, mint hogy több adatot töröljek, majd vigyek be újra az adatbázisba.

    Még egy eszembe jutott, amire kíváncsi lennék:
    -csak érdekességképpen: van olyan módszer, amivel figyelni lehet a felhasznált erőforrások váltakozását? Csak azért, mert érdekelne, az egyes módszerek, függvények felhasználástól függően vajon nagyjából mennyi erőforrást (memóriahasználat, prociigény) igényelnek. Legalább itthoni gépen próbálgatnám, ha a szolgáltató szerverén nem is lehet - van olyan külső progi, amit rá lehet állítani a PHP-s folyamatokra? Vagy akár beépített függvény? A microtime()-mal ugye elvileg jól lehet figyelgetni a lekérdezések idejét, ezzel csak az a probléma, hogy nyilván a saját procim is mindig más folyamatokkal foglalkozik, mást helyez előtérbe (prioritás, megszakítások), ezért akárhányszor frissítek a böngészőben, a microtime() függvény mindig más eredményt ad... így sokszor még ez sem olyan jó összehasonlítási alap.
    Pl. azt akartam tesztelni legutóbb, hogy a többszörös mysql_query($query) utasításnál mennyivel gyorsabb a MySQLi osztály használata, és a $mysqli->multi_query($query) utasítás egy do{...}while($mysqli->next_result()); paranccsal.
    De akárhányszor frissítettem, mindig más eredmény jött ki, egyszer az egyik javára, máskor a másik javára - de összességében a MySQLi osztály használata a multi_query()-vel jött ki győztesen, legalábbis ott szerepeltek a rövidebb értékek a legtöbbször.

    (#4086) cucka: igazad van, a JavaScriptes megoldás a legegyszerűbb, amennyiben szükség van a gomb value mezőjére (már amennyiben egy felhasználónál nincs kikapcsolva a JavaScript, de ez az esetek döntő többségében nem áll fenn).

  • FixY67
    senior tag

    sziasztok

    Szeretném megtanulni php programozást és ehhez szeretnék tőletek segítséget kérni.
    Mégpedig valami jó fajta könyvet (mert kb. 1000 van a piacon) vagy más segédanyagot tudnátok nekem ajánlani? köszi

    Én inkább valami neten megtalálható tutorialt keresnék...
    Perl-t anno úgy khm... tanultam meg.

  • Sickboy25
    addikt

    sziasztok

    Szeretném megtanulni php programozást és ehhez szeretnék tőletek segítséget kérni.
    Mégpedig valami jó fajta könyvet (mert kb. 1000 van a piacon) vagy más segédanyagot tudnátok nekem ajánlani? köszi

  • cucka
    addikt

    Na ja, de előfordul, hogy az alapérték (pl. pont az Elküldés, ezért rossz példa volt, amit írtam) nem megfelelő, hanem a value-ba valami egyedi szöveg kellene (pl. Kiskutyafüle), hogy kerüljön. Mintha egyszer láttam volna már megoldást ilyenre, de nem tudom, hol, és lehet, hogy az valahogyan manipulálva volt, mert nem tudok róla, hogy alapból meg lehetne oldani. De szóljatok, ha mégis (azonkívül, hogy nem adok nevet).

    A GET-ben a gombra vonatkozó érték pusztán annyi információt hordoz, hogy elküldték-e az űrlapot vagy sem.
    - Ha csak egy gombod van, akkor a legegyszerűbb, hogy nem adsz neki nevet, az űrlapba pedig beleraksz egy hidden mezőt, ami átveszi a gomb funkcióját.
    - Javascript-el submit-olod a form-ot, ilyenkor az elküldéshez használt gomb bármi lehet, nem is kell része legyen az űrlapnak.

    Itt nincs semmilyen nagy trükk, amiről még ne hallottál volna :) .

  • cucka
    addikt

    Tényleg, köszi. :R Nem tudom, miért nem jutott eszembe, hogy azt is meg lehetne oldani, hogy még egyszer lekérdezem a feldolgozó fájlban az adatbázist, és összepakolom a lekérdező parancsot sima for ciklussal aszerint, hogy ha mondjuk nem adott azonosítószámú annak a bizonyos post tömbnek az aktuális értéke, akkor insert...
    De mondjuk abban is igazad van, hogy talán adatbázisban átláthatóbb lenne, ha minden egy helyen lenne, bár nem mintha túl sűrűn nézegetné bárki is az adatbázist, de esetleg a kódban is jobban lehetne követni az eseményeket, kevesebb parancs lenne, ha adott azonosítójú elemet törölnék az összerendelő táblából, aztán a kiválasztott kategóriáknak megfelelően ismét feltölteném.
    Na de ez nem lenne sokkal erőforrás-igényesebb művelet? Valóban nem lenne túl sokszor kategória-átrendezgetés, de azért gondolkodom hosszú távon is. :)
    Mondjuk most jobban belegondolva ha azt csinálnám, hogy a feldolgozó fájlban ismét lekérném adatbázisból a kategória-összerendeléseket, és összehasonlítanám a post tömbbel, amiben a bejelölt kategóriák azonosítói vannak, akkor a for ciklusban is lennének if(in_array(...)) és ehhez hasonló ellenőrzések, ráadásul akkor külön kellene figyelni, hogy viszont mi az, ami NINCS benne a korábbi hozzárendelésekhez képest az új kategória-kiválasztásokban, amit meg törölni kell, és akkor lehet, hogy ott vagyok, ahol a part szakad. :D Vagyis így a hozzászólás végére eljutottam arra a következtetésre, hogy lehet, hogy semmivel nem lenne erőforrás-igényesebb az, ha mindent törölnék, és mindent újra hozzáadnék - itt már az a kérdés, hogy vajon melyik működik gyorsabban, a MySQL törlő és hozzáadó műveletei, vagy a PHP összehasonlítgatásai, majd egy MySQL-törlés illetve -hozzáadás...
    Hmm, na ezekkel a különbségekkel mondjuk nem vagyok tisztában, ezt azért nem lenne egyszerű tényleges összehasonlításnak alávetni. :) De inkább az első megoldás tűnik hasznavehetőbbnek.

    Azt hiszem, igazad van abban, hogy ezerszer átláthatóbb és követhetőbb lenne, ha inkább mindent törölnék, majd mindent hozzáadnék a kiválasztottaknak megfelelően.
    Ha esetleg valami kommentár eszedbe jutott még a leírtakkal kapcsolatban, akkor örömmel várom. :K Köszi. :R

    Vagyis így a hozzászólás végére eljutottam arra a következtetésre, hogy lehet, hogy semmivel nem lenne erőforrás-igényesebb az, ha mindent törölnék, és mindent újra hozzáadnék
    Na látod.. :D

    vajon melyik működik gyorsabban, a MySQL törlő és hozzáadó műveletei, vagy a PHP összehasonlítgatásai, majd egy MySQL-törlés illetve -hozzáadás...
    Esetedben mindkettő megfelelően gyors, azt válaszd, amelyikkel kevesebb a munka. Semmi értelme vadászni a századmásodperceket.

    Nyilván, ha olyan rendszered van, ahol a táblában több millió sor van és viszonylag gyakran nézegetik, akkor az a cél, hogy minél kevesebb és minél gyorsabb lekérdezésed legyen, de nálad most gondolom nem ez áll fenn. Általában egy nagy terhelésű rendszeren az adatbázis i/o a szűk keresztmetszet, nem pedig a processzor sebessége. Kis terhelésnél annyira minimális a különbség, hogy nem érdemes túl sokat foglalkozni a kérdéssel.

  • Sk8erPeter
    nagyúr

    Na ja, de előfordul, hogy az alapérték (pl. pont az Elküldés, ezért rossz példa volt, amit írtam) nem megfelelő, hanem a value-ba valami egyedi szöveg kellene (pl. Kiskutyafüle), hogy kerüljön. Mintha egyszer láttam volna már megoldást ilyenre, de nem tudom, hol, és lehet, hogy az valahogyan manipulálva volt, mert nem tudok róla, hogy alapból meg lehetne oldani. De szóljatok, ha mégis (azonkívül, hogy nem adok nevet).

  • Még egy kérdés: amikor get methoddal küldök el egy formot, akkor hogyan tudom elérni, hogy az url-be NE pakolja bele a submit gombnak az értékét is?
    (Elég hülyén néz ki, amikor a submit gomb neve mondjuk mod_submit, és akkor lesz az url-ben egy mod_submit=Elküldés vagy valami ehhez hasonló...)

    Ne adj neki nevet :)

  • Sk8erPeter
    nagyúr

    Még egy kérdés: amikor get methoddal küldök el egy formot, akkor hogyan tudom elérni, hogy az url-be NE pakolja bele a submit gombnak az értékét is?
    (Elég hülyén néz ki, amikor a submit gomb neve mondjuk mod_submit, és akkor lesz az url-ben egy mod_submit=Elküldés vagy valami ehhez hasonló...)

  • Sk8erPeter
    nagyúr

    Az általad keresett megoldás egyszerűbb, mint gondolnád. Amikor feldolgozod az űrlapon elküldött adatokat, azzal kezded, hogy kiszeded ismét az adatbázisból a kiválasztott kategóriákat, és kész is, megvannak a korábbi elemek. Ezután rakod össze a delete/insert lekérdezéseidet, amivel módosítod a kategória hozzárendelést.

    Amúgy én az általad írt 3. megoldást használnám, pusztán azért, mert egyszerű és átlátható. A kategóriába rendezés viszonylag ritka esemény, kevés adatod van, így gyorsaságban rendben van ez a megoldás is.

    tegyük fel, hogy mondjuk csak egyetlen helyről kiszedem a pipát, akkor az összes hozzárendelést törli, és adhatja hozzá újra az összeset, ez felesleges munka
    Ha mindig csak a szükséges módosításokat szeretnéd elvégezni az adatbázison, az meg neked felesleges munka :) .

    ráadásul mi van, ha megszakad valamiért a folyamat, akkor elvesztek az addigi hozzárendelések
    Ez nehéz kérdés. Általában ilyen akkor történik, ha valami komoly hardveres/szoftveres gond van a szerverrel. Nem nagyon tudsz tenni ellene semmit, de szerencsére nem is nagyon szokott ilyesmi előfordulni.
    (Nyilván, egy banki rendszernél erre is fel kell készülni, de most nem erről van szó :) )

    Tényleg, köszi. :R Nem tudom, miért nem jutott eszembe, hogy azt is meg lehetne oldani, hogy még egyszer lekérdezem a feldolgozó fájlban az adatbázist, és összepakolom a lekérdező parancsot sima for ciklussal aszerint, hogy ha mondjuk nem adott azonosítószámú annak a bizonyos post tömbnek az aktuális értéke, akkor insert...
    De mondjuk abban is igazad van, hogy talán adatbázisban átláthatóbb lenne, ha minden egy helyen lenne, bár nem mintha túl sűrűn nézegetné bárki is az adatbázist, de esetleg a kódban is jobban lehetne követni az eseményeket, kevesebb parancs lenne, ha adott azonosítójú elemet törölnék az összerendelő táblából, aztán a kiválasztott kategóriáknak megfelelően ismét feltölteném.
    Na de ez nem lenne sokkal erőforrás-igényesebb művelet? Valóban nem lenne túl sokszor kategória-átrendezgetés, de azért gondolkodom hosszú távon is. :)
    Mondjuk most jobban belegondolva ha azt csinálnám, hogy a feldolgozó fájlban ismét lekérném adatbázisból a kategória-összerendeléseket, és összehasonlítanám a post tömbbel, amiben a bejelölt kategóriák azonosítói vannak, akkor a for ciklusban is lennének if(in_array(...)) és ehhez hasonló ellenőrzések, ráadásul akkor külön kellene figyelni, hogy viszont mi az, ami NINCS benne a korábbi hozzárendelésekhez képest az új kategória-kiválasztásokban, amit meg törölni kell, és akkor lehet, hogy ott vagyok, ahol a part szakad. :D Vagyis így a hozzászólás végére eljutottam arra a következtetésre, hogy lehet, hogy semmivel nem lenne erőforrás-igényesebb az, ha mindent törölnék, és mindent újra hozzáadnék - itt már az a kérdés, hogy vajon melyik működik gyorsabban, a MySQL törlő és hozzáadó műveletei, vagy a PHP összehasonlítgatásai, majd egy MySQL-törlés illetve -hozzáadás...
    Hmm, na ezekkel a különbségekkel mondjuk nem vagyok tisztában, ezt azért nem lenne egyszerű tényleges összehasonlításnak alávetni. :) De inkább az első megoldás tűnik hasznavehetőbbnek.

    Azt hiszem, igazad van abban, hogy ezerszer átláthatóbb és követhetőbb lenne, ha inkább mindent törölnék, majd mindent hozzáadnék a kiválasztottaknak megfelelően.
    Ha esetleg valami kommentár eszedbe jutott még a leírtakkal kapcsolatban, akkor örömmel várom. :K Köszi. :R

  • cucka
    addikt

    Sziasztok!
    Egy kis ötletet szeretnék kérni.
    Van egy honlap, amin amin egy fotósnak a képei jelennek meg. A képek különböző kategóriákba tartoznak, egy kép akár több kategóriába is tartozhat. Az admin felületen ez mind szépen, grafikus felületen működik (lehet kategóriákat létrehozni, új képet feltölteni, azt akár több kategóriához rendelni, címet megadni hozzá, kategóriát vagy képet törölni, módosítani).
    Az adatbázis úgy néz ki, hogy van egy tábla, ahova a kép elérési útja és egyéb adatai (szélesség, magasság, stb.) kerülnek, van egy tábla a kategórianeveknek, és van egy összerendelő tábla, ahova a kép azonosítószáma és a kategória azonosítószáma kerülnek, jelezve, hogy mik tartoznak össze.

    Egy ponton viszont most elakadtam, lehet, hogy a fáradtság az oka, de most nem jut eszembe, mi lenne a legjobb megoldás:
    az admin felületen a kép tulajdonságainak módosításánál az eddig bejelölt kategóriákat checkboxok formájában jelenítem meg, amelyik kategóriához a kép már hozzá van rendelve, oda kerül egy pipa, amelyik kategóriához NEM tartozik a kép, ott nincs pipa.
    Azt szeretném megoldani, hogy a felhasználó viszont újabb pipák behelyezésével (más kategóriákhoz), vagy korábbi pipák kivételével tudja módosítani, melyik kategóriákba tartozzon egy adott kép.
    Ezt hogy kellene megoldani az űrlap ellenőrzésekor, hogy azokat a rekordokat töröljem az összerendelő táblából, amelyeknél a checkboxoknál korábban volt pipa, de a felhasználó kiszedte (jelezve ezzel, hogy nem szeretné, ha abba a kategóriába is tartozna), viszont azok a rekordok kerüljenek be az összerendelő táblába, ahol korábban nem volt pipa?
    A problémám az, hogy milyen módszerrel hasonlítsam össze, hogy hol volt és hol nem volt korábban pipa, mi az, amit törölni kell, mi az, ami új elem.

    Lehetne
    -hidden elemekkel betenni valami inputba azoknak a kategóriáknak az azonosítószámát, amikbe a kép már tartozik, így POST-tal elküldöm, de az gány megoldásnak tűnik
    -valami session változóban (tömbben) ugyanezt eltárolni, de ott meg az új checkbox-os POST tömbbel (egy tömbben tárolódnak a kipipált checkboxok) kell mindig összehasonlítgatni, és azt sem tudom, hogy lehetne a legkisebb lépésszámmal megoldani
    -meg még azt is lehetne, hogy a kép összes addigi kategória-hozzárendelését törlöm az összerendelő táblából, és az újonnan bepipált értékeknek megfelelően adogatom hozzá az új összerendelést, de az meg már megint nagyon gáz: tegyük fel, hogy mondjuk csak egyetlen helyről kiszedem a pipát, akkor az összes hozzárendelést törli, és adhatja hozzá újra az összeset, ez felesleges munka; ráadásul mi van, ha megszakad valamiért a folyamat, akkor elvesztek az addigi hozzárendelések

    Tehát egyelőre tanácstalan vagyok, az összehasonlítgatásokra mi lenne a jó módszer.

    Nagyon megköszönném, ha bármi jó ötlettel tudnátok segíteni! :R

    Az általad keresett megoldás egyszerűbb, mint gondolnád. Amikor feldolgozod az űrlapon elküldött adatokat, azzal kezded, hogy kiszeded ismét az adatbázisból a kiválasztott kategóriákat, és kész is, megvannak a korábbi elemek. Ezután rakod össze a delete/insert lekérdezéseidet, amivel módosítod a kategória hozzárendelést.

    Amúgy én az általad írt 3. megoldást használnám, pusztán azért, mert egyszerű és átlátható. A kategóriába rendezés viszonylag ritka esemény, kevés adatod van, így gyorsaságban rendben van ez a megoldás is.

    tegyük fel, hogy mondjuk csak egyetlen helyről kiszedem a pipát, akkor az összes hozzárendelést törli, és adhatja hozzá újra az összeset, ez felesleges munka
    Ha mindig csak a szükséges módosításokat szeretnéd elvégezni az adatbázison, az meg neked felesleges munka :) .

    ráadásul mi van, ha megszakad valamiért a folyamat, akkor elvesztek az addigi hozzárendelések
    Ez nehéz kérdés. Általában ilyen akkor történik, ha valami komoly hardveres/szoftveres gond van a szerverrel. Nem nagyon tudsz tenni ellene semmit, de szerencsére nem is nagyon szokott ilyesmi előfordulni.
    (Nyilván, egy banki rendszernél erre is fel kell készülni, de most nem erről van szó :) )

  • Sk8erPeter
    nagyúr

    Sziasztok!
    Egy kis ötletet szeretnék kérni.
    Van egy honlap, amin amin egy fotósnak a képei jelennek meg. A képek különböző kategóriákba tartoznak, egy kép akár több kategóriába is tartozhat. Az admin felületen ez mind szépen, grafikus felületen működik (lehet kategóriákat létrehozni, új képet feltölteni, azt akár több kategóriához rendelni, címet megadni hozzá, kategóriát vagy képet törölni, módosítani).
    Az adatbázis úgy néz ki, hogy van egy tábla, ahova a kép elérési útja és egyéb adatai (szélesség, magasság, stb.) kerülnek, van egy tábla a kategórianeveknek, és van egy összerendelő tábla, ahova a kép azonosítószáma és a kategória azonosítószáma kerülnek, jelezve, hogy mik tartoznak össze.

    Egy ponton viszont most elakadtam, lehet, hogy a fáradtság az oka, de most nem jut eszembe, mi lenne a legjobb megoldás:
    az admin felületen a kép tulajdonságainak módosításánál az eddig bejelölt kategóriákat checkboxok formájában jelenítem meg, amelyik kategóriához a kép már hozzá van rendelve, oda kerül egy pipa, amelyik kategóriához NEM tartozik a kép, ott nincs pipa.
    Azt szeretném megoldani, hogy a felhasználó viszont újabb pipák behelyezésével (más kategóriákhoz), vagy korábbi pipák kivételével tudja módosítani, melyik kategóriákba tartozzon egy adott kép.
    Ezt hogy kellene megoldani az űrlap ellenőrzésekor, hogy azokat a rekordokat töröljem az összerendelő táblából, amelyeknél a checkboxoknál korábban volt pipa, de a felhasználó kiszedte (jelezve ezzel, hogy nem szeretné, ha abba a kategóriába is tartozna), viszont azok a rekordok kerüljenek be az összerendelő táblába, ahol korábban nem volt pipa?
    A problémám az, hogy milyen módszerrel hasonlítsam össze, hogy hol volt és hol nem volt korábban pipa, mi az, amit törölni kell, mi az, ami új elem.

    Lehetne
    -hidden elemekkel betenni valami inputba azoknak a kategóriáknak az azonosítószámát, amikbe a kép már tartozik, így POST-tal elküldöm, de az gány megoldásnak tűnik
    -valami session változóban (tömbben) ugyanezt eltárolni, de ott meg az új checkbox-os POST tömbbel (egy tömbben tárolódnak a kipipált checkboxok) kell mindig összehasonlítgatni, és azt sem tudom, hogy lehetne a legkisebb lépésszámmal megoldani
    -meg még azt is lehetne, hogy a kép összes addigi kategória-hozzárendelését törlöm az összerendelő táblából, és az újonnan bepipált értékeknek megfelelően adogatom hozzá az új összerendelést, de az meg már megint nagyon gáz: tegyük fel, hogy mondjuk csak egyetlen helyről kiszedem a pipát, akkor az összes hozzárendelést törli, és adhatja hozzá újra az összeset, ez felesleges munka; ráadásul mi van, ha megszakad valamiért a folyamat, akkor elvesztek az addigi hozzárendelések

    Tehát egyelőre tanácstalan vagyok, az összehasonlítgatásokra mi lenne a jó módszer.

    Nagyon megköszönném, ha bármi jó ötlettel tudnátok segíteni! :R

  • tob!as
    tag

    ha egy konyvtarban van, igy kell:
    $szamlalo_fajl = "szamlalo.dat";
    Es nem elfelejteni : On the Windows platform, be careful to escape any backslashes used in the path to the file, or use forward slashes.
    <?php
    $handle = fopen("c:\\data\\info.txt", "r");
    ?>

    igaz, sőt inkább érdemes elkerülni azt a fajta hivatkozást

    ha más mappában van akkor inkább:

    $szamlalo_fajl = "../mappa_neve/szamlalo.dat";

  • tildy
    nagyúr

    Egy könyvtrárban van mindkét fájl.

    cucka:

    Én így adtam meg az elérést :
    $szamlalo_fajl = "./szamlalo.dat";

    ha egy konyvtarban van, igy kell:
    $szamlalo_fajl = "szamlalo.dat";
    Es nem elfelejteni : On the Windows platform, be careful to escape any backslashes used in the path to the file, or use forward slashes.
    <?php
    $handle = fopen("c:\\data\\info.txt", "r");
    ?>

  • Frigo
    őstag

    Jo konyvtarban nezed?

    Egy könyvtrárban van mindkét fájl.

    cucka:

    Én így adtam meg az elérést :
    $szamlalo_fajl = "./szamlalo.dat";

  • cucka
    addikt

    Üdv,

    Nemrég kezdtem el a PHP tanulást ,de valamiért fájlműveleteket nem tudom végrehajtani
    fopen-re mindíg ilyen hibát jelez :[function.fopen]: failed to open stream: Permission denied in ... fájl biztos ,hogy létezik és nem írásvédet.

    Platform : Win XP 32bit, PHP5, ISS.

    Hogyan adod meg a file elérési útvonalát? Valószínűleg itt lesz a probléma. (Sima \ karakterek egy dupla idézőjeles string-ben..)

  • tildy
    nagyúr

    Üdv,

    Nemrég kezdtem el a PHP tanulást ,de valamiért fájlműveleteket nem tudom végrehajtani
    fopen-re mindíg ilyen hibát jelez :[function.fopen]: failed to open stream: Permission denied in ... fájl biztos ,hogy létezik és nem írásvédet.

    Platform : Win XP 32bit, PHP5, ISS.

    Jo konyvtarban nezed?

  • Frigo
    őstag

    Üdv,

    Nemrég kezdtem el a PHP tanulást ,de valamiért fájlműveleteket nem tudom végrehajtani
    fopen-re mindíg ilyen hibát jelez :[function.fopen]: failed to open stream: Permission denied in ... fájl biztos ,hogy létezik és nem írásvédet.

    Platform : Win XP 32bit, PHP5, ISS.

  • tildy
    nagyúr

    Szia!

    Mert rosszul küldöd el a kérést. Ez nekem működött:

    <?php
    $body = <<<XML
    <ns1:GetExchangeRate>
    <ns1:currencyISO>JPY</ns1:currencyISO>
    </ns1:GetExchangeRate>
    XML;

    $wsdl_url = "http://www.exporttechnologies.com/webservices/currencyservice/currencyservice.asmx?wsdl";
    $client = new SoapClient($wsdl_url, array('trace' => true));

    try
    {
    $response = $client->GetExchangeRate(new SoapVar($body, XSD_ANYXML));
    var_dump($response->GetExchangeRateResult);
    }
    catch(SoapFault $e)
    {
    echo 'Request : <br/><xmp>',
    $client->__getLastRequest(),
    '</xmp><br/><br/> Error Message : <br/>',
    $e->getMessage();
    }
    ?>

    [Itt] meg tudod nézni, hogy kell kinéznie a kérésnek. (UseNow fül -> függvénynév -> Source fül) A header és body részeket kell csak neked kitölteni, a többit a függvény megoldja valahogy :) Biztos van jobb megoldás is, meg pl az ns1 az nem tudom miért pont ns1, és hogy voltozik e.

    Köszi!
    Első soapos progim, nen tudtam hogy kell :((( :U

  • 1ed
    csendes tag

    Mier tkapok vissza hibat?
    "Server was unable to process request. ---> Object reference not set to an instance of an object."
    Jonak kene lennie...

    <?php
    try{
    $wsdl_url =
    "http://www.exporttechnologies.com/webservices/currencyservice/currencyservice.asmx?wsdl";
    $client = new SoapClient($wsdl_url);
    var_dump($client->__getFunctions());
    $result = $client->GetExchangeRate('JPY');
    echo "<br/><br/><br/>";
    echo $response;
    } catch(SoapFault $e){
    var_dump($e);
    }

    ?>

    Szia!

    Mert rosszul küldöd el a kérést. Ez nekem működött:

    <?php
    $body = <<<XML
    <ns1:GetExchangeRate>
    <ns1:currencyISO>JPY</ns1:currencyISO>
    </ns1:GetExchangeRate>
    XML;

    $wsdl_url = "http://www.exporttechnologies.com/webservices/currencyservice/currencyservice.asmx?wsdl";
    $client = new SoapClient($wsdl_url, array('trace' => true));

    try
    {
    $response = $client->GetExchangeRate(new SoapVar($body, XSD_ANYXML));
    var_dump($response->GetExchangeRateResult);
    }
    catch(SoapFault $e)
    {
    echo 'Request : <br/><xmp>',
    $client->__getLastRequest(),
    '</xmp><br/><br/> Error Message : <br/>',
    $e->getMessage();
    }
    ?>

    [Itt] meg tudod nézni, hogy kell kinéznie a kérésnek. (UseNow fül -> függvénynév -> Source fül) A header és body részeket kell csak neked kitölteni, a többit a függvény megoldja valahogy :) Biztos van jobb megoldás is, meg pl az ns1 az nem tudom miért pont ns1, és hogy voltozik e.

  • tildy
    nagyúr

    Mier tkapok vissza hibat?
    "Server was unable to process request. ---> Object reference not set to an instance of an object."
    Jonak kene lennie...

    <?php
    try{
    $wsdl_url =
    "http://www.exporttechnologies.com/webservices/currencyservice/currencyservice.asmx?wsdl";
    $client = new SoapClient($wsdl_url);
    var_dump($client->__getFunctions());
    $result = $client->GetExchangeRate('JPY');
    echo "<br/><br/><br/>";
    echo $response;
    } catch(SoapFault $e){
    var_dump($e);
    }

    ?>

  • cucka
    addikt

    Sziasztok, van egy oldalam, egy kérdőív.
    Kitöltik, aztán alul Küldés. Na most, én teszteltem, én megkaptam az e-mailt. De ha más kitölti, akkor már nem kapok e-mail. Mi lehet a hiba??
    !!!SÜRGŐS!!!
    A forráskód:

    <?php
    if ($_POST["submit"]=="Küldés") {
    $cim="rebugra@gmail.com";
    $msg.="nev: ".$_POST["nev"]."\r\n";
    $msg.="1: ".$_POST["1"]."\r\n";
    $msg.="2: ".$_POST["2"]."\r\n";
    $msg.="3: ".$_POST["3"]."\r\n";
    $msg.="4: ".$_POST["4"]."\r\n";
    $msg.="5: ".$_POST["5"]."\r\n";
    $msg.="6: ".$_POST["6"]."\r\n";
    $msg.="7: ".$_POST["7"]."\r\n";
    $msg.="8: ".$_POST["8"]."\r\n";
    $msg.="9: ".$_POST["9"]."\r\n";
    $msg.="1Ajánló neve: ".$_POST["aj1nev"]."\r\n";
    $msg.="1Ajánló címe: ".$_POST["aj1cim"]."\r\n";
    $msg.="1Ajánló telefon: ".$_POST["aj1tel"]."\r\n";
    $msg.="1Ajánló foglakozás: ".$_POST["aj1fog"]."\r\n";
    $msg.="1Ajánló jövedelem: ".$_POST["aj1jov"]."\r\n";
    $msg.="1Ajánló családi állapota: ".$_POST["aj1csal"]."\r\n";
    $msg.="1Ajánló eltartott: ".$_POST["aj1eltart"]."\r\n";
    $msg.="2Ajánló neve: ".$_POST["aj2nev"]."\r\n";
    $msg.="2Ajánló címe: ".$_POST["aj2cim"]."\r\n";
    $msg.="2Ajánló telefon: ".$_POST["aj2tel"]."\r\n";
    $msg.="2Ajánló foglakozás: ".$_POST["aj2fog"]."\r\n";
    $msg.="2Ajánló jövedelem: ".$_POST["aj2jov"]."\r\n";
    $msg.="2Ajánló családi állapota: ".$_POST["aj2csal"]."\r\n";
    $msg.="2Ajánló eltartott: ".$_POST["aj2eltart"]."\r\n";
    $msg.="3Ajánló neve: ".$_POST["aj3nev"]."\r\n";
    $msg.="3Ajánló címe: ".$_POST["aj3cim"]."\r\n";
    $msg.="3Ajánló telefon: ".$_POST["aj3tel"]."\r\n";
    $msg.="3Ajánló foglakozás: ".$_POST["aj3fog"]."\r\n";
    $msg.="3Ajánló jövedelem: ".$_POST["aj3jov"]."\r\n";
    $msg.="3Ajánló családi állapota: ".$_POST["aj3csal"]."\r\n";
    $msg.="3Ajánló eltartott: ".$_POST["aj3eltart"]."\r\n";

    if (mail($cim,"Találkozás a Piaccal",$msg)==TRUE) {
    echo "Nagyon szépen köszönöm, hogy válaszoltál a kérdéseimre, ezzel segítve munkám!";
    }
    }
    ?>

    if ($_POST["submit"]=="Küldés") {
    Itt például lehet probléma a karakterkódolással. Igazából ilyet soha nem csinálunk, mert ha a html-ben átírod a gomb feliratát, akkor máris működésképtelenné tetted a scriptet.

    A levél pedig azért néz ki furcsán, mert utf8-as kódolással küldöd, de a levél fejlécében ez nincs beállítva, a levelezőprogram pedig ennek hiányában iso 8859-x kódolással próbálja megjeleníteni.
    Javaslom, hogy a korábban említett levélküldő osztályok közül használd valamelyiket, mert nem annyira egyszerű feladat simán csak mail függvénnyel megoldani.

  • wis
    tag

    + mér így kapom meg a mailt? -- 1válasz: 1: gĂŠpjĂĄrmĹą (gépjármű akarna lenni)

    A kódolással lesz a probléma. A html oldalad utf-8 de a mail függvény valószínűleg nem utf-8 ként küldi.

    Átmeneti megoldásként gmailnél a válasz melletti nyílra kattints > üzenetének szövege furcsa karaktert tartalmaz majd a böngésződ nézet menü > kódolás > utf-8.

    Jobb megoldás ha használsz valami levélküldő osztályt, pl. a fentebb is említett phpmailer, ott lehet állítani a kódolást is.

  • rebugra
    aktív tag

    Sziasztok, van egy oldalam, egy kérdőív.
    Kitöltik, aztán alul Küldés. Na most, én teszteltem, én megkaptam az e-mailt. De ha más kitölti, akkor már nem kapok e-mail. Mi lehet a hiba??
    !!!SÜRGŐS!!!
    A forráskód:

    <?php
    if ($_POST["submit"]=="Küldés") {
    $cim="rebugra@gmail.com";
    $msg.="nev: ".$_POST["nev"]."\r\n";
    $msg.="1: ".$_POST["1"]."\r\n";
    $msg.="2: ".$_POST["2"]."\r\n";
    $msg.="3: ".$_POST["3"]."\r\n";
    $msg.="4: ".$_POST["4"]."\r\n";
    $msg.="5: ".$_POST["5"]."\r\n";
    $msg.="6: ".$_POST["6"]."\r\n";
    $msg.="7: ".$_POST["7"]."\r\n";
    $msg.="8: ".$_POST["8"]."\r\n";
    $msg.="9: ".$_POST["9"]."\r\n";
    $msg.="1Ajánló neve: ".$_POST["aj1nev"]."\r\n";
    $msg.="1Ajánló címe: ".$_POST["aj1cim"]."\r\n";
    $msg.="1Ajánló telefon: ".$_POST["aj1tel"]."\r\n";
    $msg.="1Ajánló foglakozás: ".$_POST["aj1fog"]."\r\n";
    $msg.="1Ajánló jövedelem: ".$_POST["aj1jov"]."\r\n";
    $msg.="1Ajánló családi állapota: ".$_POST["aj1csal"]."\r\n";
    $msg.="1Ajánló eltartott: ".$_POST["aj1eltart"]."\r\n";
    $msg.="2Ajánló neve: ".$_POST["aj2nev"]."\r\n";
    $msg.="2Ajánló címe: ".$_POST["aj2cim"]."\r\n";
    $msg.="2Ajánló telefon: ".$_POST["aj2tel"]."\r\n";
    $msg.="2Ajánló foglakozás: ".$_POST["aj2fog"]."\r\n";
    $msg.="2Ajánló jövedelem: ".$_POST["aj2jov"]."\r\n";
    $msg.="2Ajánló családi állapota: ".$_POST["aj2csal"]."\r\n";
    $msg.="2Ajánló eltartott: ".$_POST["aj2eltart"]."\r\n";
    $msg.="3Ajánló neve: ".$_POST["aj3nev"]."\r\n";
    $msg.="3Ajánló címe: ".$_POST["aj3cim"]."\r\n";
    $msg.="3Ajánló telefon: ".$_POST["aj3tel"]."\r\n";
    $msg.="3Ajánló foglakozás: ".$_POST["aj3fog"]."\r\n";
    $msg.="3Ajánló jövedelem: ".$_POST["aj3jov"]."\r\n";
    $msg.="3Ajánló családi állapota: ".$_POST["aj3csal"]."\r\n";
    $msg.="3Ajánló eltartott: ".$_POST["aj3eltart"]."\r\n";

    if (mail($cim,"Találkozás a Piaccal",$msg)==TRUE) {
    echo "Nagyon szépen köszönöm, hogy válaszoltál a kérdéseimre, ezzel segítve munkám!";
    }
    }
    ?>

    + mér így kapom meg a mailt? -- 1válasz: 1: gĂŠpjĂĄrmĹą (gépjármű akarna lenni)

  • rebugra
    aktív tag

    Sziasztok, van egy oldalam, egy kérdőív.
    Kitöltik, aztán alul Küldés. Na most, én teszteltem, én megkaptam az e-mailt. De ha más kitölti, akkor már nem kapok e-mail. Mi lehet a hiba??
    !!!SÜRGŐS!!!
    A forráskód:

    <?php
    if ($_POST["submit"]=="Küldés") {
    $cim="rebugra@gmail.com";
    $msg.="nev: ".$_POST["nev"]."\r\n";
    $msg.="1: ".$_POST["1"]."\r\n";
    $msg.="2: ".$_POST["2"]."\r\n";
    $msg.="3: ".$_POST["3"]."\r\n";
    $msg.="4: ".$_POST["4"]."\r\n";
    $msg.="5: ".$_POST["5"]."\r\n";
    $msg.="6: ".$_POST["6"]."\r\n";
    $msg.="7: ".$_POST["7"]."\r\n";
    $msg.="8: ".$_POST["8"]."\r\n";
    $msg.="9: ".$_POST["9"]."\r\n";
    $msg.="1Ajánló neve: ".$_POST["aj1nev"]."\r\n";
    $msg.="1Ajánló címe: ".$_POST["aj1cim"]."\r\n";
    $msg.="1Ajánló telefon: ".$_POST["aj1tel"]."\r\n";
    $msg.="1Ajánló foglakozás: ".$_POST["aj1fog"]."\r\n";
    $msg.="1Ajánló jövedelem: ".$_POST["aj1jov"]."\r\n";
    $msg.="1Ajánló családi állapota: ".$_POST["aj1csal"]."\r\n";
    $msg.="1Ajánló eltartott: ".$_POST["aj1eltart"]."\r\n";
    $msg.="2Ajánló neve: ".$_POST["aj2nev"]."\r\n";
    $msg.="2Ajánló címe: ".$_POST["aj2cim"]."\r\n";
    $msg.="2Ajánló telefon: ".$_POST["aj2tel"]."\r\n";
    $msg.="2Ajánló foglakozás: ".$_POST["aj2fog"]."\r\n";
    $msg.="2Ajánló jövedelem: ".$_POST["aj2jov"]."\r\n";
    $msg.="2Ajánló családi állapota: ".$_POST["aj2csal"]."\r\n";
    $msg.="2Ajánló eltartott: ".$_POST["aj2eltart"]."\r\n";
    $msg.="3Ajánló neve: ".$_POST["aj3nev"]."\r\n";
    $msg.="3Ajánló címe: ".$_POST["aj3cim"]."\r\n";
    $msg.="3Ajánló telefon: ".$_POST["aj3tel"]."\r\n";
    $msg.="3Ajánló foglakozás: ".$_POST["aj3fog"]."\r\n";
    $msg.="3Ajánló jövedelem: ".$_POST["aj3jov"]."\r\n";
    $msg.="3Ajánló családi állapota: ".$_POST["aj3csal"]."\r\n";
    $msg.="3Ajánló eltartott: ".$_POST["aj3eltart"]."\r\n";

    if (mail($cim,"Találkozás a Piaccal",$msg)==TRUE) {
    echo "Nagyon szépen köszönöm, hogy válaszoltál a kérdéseimre, ezzel segítve munkám!";
    }
    }
    ?>

  • RoyalFlush
    őstag

    hibaüzenet, ilyesmi? :)
    amúgy ezt az autoinstaller-izét próbáltad a hostnál? állítólag 1 klikkel felmegy a joomla

    A problem oka ez lesz...

    Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0

    szerk: session_register nem tetszik neki.

    (#4064) DeltaPower: nem próbáltam :N

  • DeltaPower
    addikt

    Átpakoltam UW-ról a fájlokat, db-t és ennél a szolgáltatónál alig működik belőle valami, ezért gondoltam tesztelem :U

    szerk: uw-n smartyval sem volt gond, viszont ott pedig folyton logoutolt (session probléma).

    (#4061) biker: thx :B

    hibaüzenet, ilyesmi? :)
    amúgy ezt az autoinstaller-izét próbáltad a hostnál? állítólag 1 klikkel felmegy a joomla

  • RoyalFlush
    őstag

    Gondolom a "php4 24 óra alatt" c. könyvből tanulsz :D .

    Átpakoltam UW-ról a fájlokat, db-t és ennél a szolgáltatónál alig működik belőle valami, ezért gondoltam tesztelem :U

    szerk: uw-n smartyval sem volt gond, viszont ott pedig folyton logoutolt (session probléma).

    (#4061) biker: thx :B

  • cucka
    addikt

    Mi lehet a probléma, hogy nem ad eredményt a következő kód, annak ellenére, hogy a mezőket kitöltöm:

    ...
    <form name="form1" method="post" action="logincheck.php">
    <p><font size="2">Felhasználónév:<br>
    <input type="text" name="felhasznalonev">
    Jelszó:</font><br>
    <input type="password" name="jelszo">
    <input type="submit" name="enter" value="Ok">
    </p>
    </form>
    ...

    logincheck.php (teszt jelleggel)

    <?
    print $felhasznalonev;
    print $jelszo;
    ?>

    A tárhelyszolgáltató: http://www.000webhost.com

    Előre is köszönöm a segítséget! :R

    Gondolom a "php4 24 óra alatt" c. könyvből tanulsz :D .

  • biker
    nagyúr

    Mi lehet a probléma, hogy nem ad eredményt a következő kód, annak ellenére, hogy a mezőket kitöltöm:

    ...
    <form name="form1" method="post" action="logincheck.php">
    <p><font size="2">Felhasználónév:<br>
    <input type="text" name="felhasznalonev">
    Jelszó:</font><br>
    <input type="password" name="jelszo">
    <input type="submit" name="enter" value="Ok">
    </p>
    </form>
    ...

    logincheck.php (teszt jelleggel)

    <?
    print $felhasznalonev;
    print $jelszo;
    ?>

    A tárhelyszolgáltató: http://www.000webhost.com

    Előre is köszönöm a segítséget! :R

    <?
    print $_POST['felhasznalonev'];
    print $_POST['jelszo'];
    ?>

    talán :)

  • RoyalFlush
    őstag

    Mi lehet a probléma, hogy nem ad eredményt a következő kód, annak ellenére, hogy a mezőket kitöltöm:

    ...
    <form name="form1" method="post" action="logincheck.php">
    <p><font size="2">Felhasználónév:<br>
    <input type="text" name="felhasznalonev">
    Jelszó:</font><br>
    <input type="password" name="jelszo">
    <input type="submit" name="enter" value="Ok">
    </p>
    </form>
    ...

    logincheck.php (teszt jelleggel)

    <?
    print $felhasznalonev;
    print $jelszo;
    ?>

    A tárhelyszolgáltató: http://www.000webhost.com

    Előre is köszönöm a segítséget! :R

  • DeltaPower
    addikt

    nem, úgy értettem, hogy van egy kép, ami persze szögletes.
    ezt feltöltéskor
    -átméretezni adott méretre
    - körbevágni 1:1 arányú négyzetté, eddig ok, és ennek egy adott méretű közepe kerek kivágással lenne a kép
    - aminek fehér 5px-es kerete van
    - és nincs egyéb háttere, mert egyébként a szögletes keret szarulnézki de nagyon

    ezek a kerek képek kerülnének fel kisképként az oldalra.

    És itt ne legyen már vita tárgya, hogy mi a transzparens png, hogy az 0%alpha vagy transzparens, mert ez itt kb irreleváns.
    értem én, hogy hivatalosan "Alpha transparency" a függvény minden rajzprogramban, de nem ez a kérdés lényege :) hanem hogy megoldható-e ez mind

    gd2 nagyon gyenge alpha dolgok terén. ha meg tudod oldani hogy egyszínű háttérre kerüljenek a képek, akkor átméretezés után tehetsz rá egy fix méretű képmaszkot copyresampleddel alphablendinggel, de normális, aliasingtól mentes szélű kivágást gd-vel csinálni kb lehetetlen (colortransparent vagy opcity:0 kitöltés felejtős). imagemagick tudja, az viszont kevés szolgáltatónál van, és cserébe még jó bonyolult is a paraméterezése.

  • cucka
    addikt

    nem, úgy értettem, hogy van egy kép, ami persze szögletes.
    ezt feltöltéskor
    -átméretezni adott méretre
    - körbevágni 1:1 arányú négyzetté, eddig ok, és ennek egy adott méretű közepe kerek kivágással lenne a kép
    - aminek fehér 5px-es kerete van
    - és nincs egyéb háttere, mert egyébként a szögletes keret szarulnézki de nagyon

    ezek a kerek képek kerülnének fel kisképként az oldalra.

    És itt ne legyen már vita tárgya, hogy mi a transzparens png, hogy az 0%alpha vagy transzparens, mert ez itt kb irreleváns.
    értem én, hogy hivatalosan "Alpha transparency" a függvény minden rajzprogramban, de nem ez a kérdés lényege :) hanem hogy megoldható-e ez mind

    Akkor az a feladatod, hogy rajzolsz egy fehér, lekerekített keretet, aminek a közepe lyukas. Van egy képed, egy kereted, ezeket kell összekombinálni imagecopyresampled vagy imagecopymerge függvénnyel.
    Ugyanaz a feladat, mint ha vízjelezni szeretnéd a képet, csak itt a vízjel az az előre megrajzolt lekerekített keret.

  • biker
    nagyúr

    Image resize függvénnyel nem oldható meg, mert (ahogy a neve is mondja), az azt tudja, hogy a képet átméretezi.
    Ha vízjel szerűen szeretnéd rárakni a képet, akkor nézd meg az imagecopyresampled függvényt. Ha rajzolgatni szeretnél rá, akkor arra is megvannak a megfelelő függvények, válogass. [link]

    A transzparens hátterű png alatt nem tudom, mit értesz, igazából ilyen fogalom nincs. A transzparens png úgy működik, hogy a 24 bitnyi rgb információ mellett minden képpontnak van egy 8 bites "alpha channel"-je, ami gyakorlatilag azt jelenti, hogy képpontonként 256-os skálán állíthatod be az áttetszőséget. Ha olyan képet szeretnél készíteni, ami lekerekített és a "kerete" áttetsző, akkor megoldható, lásd imagealphablenging() függvény.

    nem, úgy értettem, hogy van egy kép, ami persze szögletes.
    ezt feltöltéskor
    -átméretezni adott méretre
    - körbevágni 1:1 arányú négyzetté, eddig ok, és ennek egy adott méretű közepe kerek kivágással lenne a kép
    - aminek fehér 5px-es kerete van
    - és nincs egyéb háttere, mert egyébként a szögletes keret szarulnézki de nagyon

    ezek a kerek képek kerülnének fel kisképként az oldalra.

    És itt ne legyen már vita tárgya, hogy mi a transzparens png, hogy az 0%alpha vagy transzparens, mert ez itt kb irreleváns.
    értem én, hogy hivatalosan "Alpha transparency" a függvény minden rajzprogramban, de nem ez a kérdés lényege :) hanem hogy megoldható-e ez mind

  • cucka
    addikt

    imge resize fügvénnyel megoldható a feltöltött kép kerek kivágása, kerek szegélyezése, és transzparens hátterő png elmentése, vagy inkább előre gyártsák le így a képeket? :)

    Image resize függvénnyel nem oldható meg, mert (ahogy a neve is mondja), az azt tudja, hogy a képet átméretezi.
    Ha vízjel szerűen szeretnéd rárakni a képet, akkor nézd meg az imagecopyresampled függvényt. Ha rajzolgatni szeretnél rá, akkor arra is megvannak a megfelelő függvények, válogass. [link]

    A transzparens hátterű png alatt nem tudom, mit értesz, igazából ilyen fogalom nincs. A transzparens png úgy működik, hogy a 24 bitnyi rgb információ mellett minden képpontnak van egy 8 bites "alpha channel"-je, ami gyakorlatilag azt jelenti, hogy képpontonként 256-os skálán állíthatod be az áttetszőséget. Ha olyan képet szeretnél készíteni, ami lekerekített és a "kerete" áttetsző, akkor megoldható, lásd imagealphablenging() függvény.

  • biker
    nagyúr

    imge resize fügvénnyel megoldható a feltöltött kép kerek kivágása, kerek szegélyezése, és transzparens hátterő png elmentése, vagy inkább előre gyártsák le így a képeket? :)

  • cucka
    addikt

    Ha ott is (A) localhost van megadva mysql kiszolgálónak, akkor hogy tudok rá hivatkozni kívülről? Van más mód is, ahogy erre lehet hivatkozni?

    Googlelel bárhogy keresem nem találok semmit.

    Nem értem a problémát.
    Mysql csatlakozásnál meg kell adni a gép hostnevét, ahova szeretnél csatlakozni. Ha ugyanazon a gépen van, mint amin a szkripted fut, akkor localhost-ként lehet rá hivatkozni, különben meg az adatbázis szervert futtató gép hostneve kerül oda.
    Általában a rendszergazdák letiltják, hogy bármilyen külső gépről csak úgy csatlakozni lehessen az adatbázishoz. Szerintem kérdezd meg a rendszergazdától, hogy engdélyezett-e, és ha igen, akkor milyen hostnéven lehet elérni az adatbázist a távoli gépen.

  • Gergello
    addikt

    Ha az A-n levő mysql engedi a külső kapcsolódást, lehet, egyszerűen csak az ottani hostot kell beírni a B-n kapcsolódáskor.

    Ha ott is (A) localhost van megadva mysql kiszolgálónak, akkor hogy tudok rá hivatkozni kívülről? Van más mód is, ahogy erre lehet hivatkozni?

    Googlelel bárhogy keresem nem találok semmit.

  • Arra van lehetőség, hogy egy másik szerveren elhelyezett adatbázist használjak?
    Nem a szokásos localhost-ot kell megadni csatlakozásnál azt gondolom.

    Van 2 tárhely: A, B, külön szolgáltatóknál. Én a B tárhelyen az A adatbázisához szeretnék csatlakozni, ezt hogy lehet?

    Leírtam kétféleképpen is. :))

    Ha az A-n levő mysql engedi a külső kapcsolódást, lehet, egyszerűen csak az ottani hostot kell beírni a B-n kapcsolódáskor.

  • Gergello
    addikt

    Arra van lehetőség, hogy egy másik szerveren elhelyezett adatbázist használjak?
    Nem a szokásos localhost-ot kell megadni csatlakozásnál azt gondolom.

    Van 2 tárhely: A, B, külön szolgáltatóknál. Én a B tárhelyen az A adatbázisához szeretnék csatlakozni, ezt hogy lehet?

    Leírtam kétféleképpen is. :))

  • Sk8erPeter
    nagyúr

    feltettem ezt a wamp-ot. és akkor most hogyan tovább? pl hogy csinálok egy egyszerű tipikus hello world weblapot? kell hozzá webszerkesztő program?

    Notepad++-t rakd fel, aztán egy új doksiba pötyögd be, hogy
    <?php
    echo 'Hello World!';
    ?>

    majd mentsd el mondjuk hello.php néven, a telepített WAMP-alapkönyvtár www könyvtárába elhelyezve. (Pl. ha a WAMP-ot a C:\wamp könyvtárba telepítetted, akkor C:\wamp\www könyvtárba pakold.)
    Aztán böngésző megnyit, és írd be a címsorba:
    http://localhost/hello.php
    És látnod kell a szöveget, ha minden jól lett beállítva.

    Szerk.: csak a félreértések elkerülése érdekében: ez nyilván nem nevezhető még "weblapnak" (csak egy sort írunk ki), a sima HTML-részeket már neked kell hozzáillesztened...
    Pl. ha már weblapszerű struktúrát szeretnél, akkor így is megírhatod a hello.php tartalmát (legegyszerűbb példával élve):

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>Dokumentumod címe</title>
    </head>

    <body>
    <div style="font-weight:bold;color:red;"><?php echo 'Hello World!'; ?></div>
    </body>

    </html>

  • DerStauner
    senior tag

    feltettem ezt a wamp-ot. és akkor most hogyan tovább? pl hogy csinálok egy egyszerű tipikus hello world weblapot? kell hozzá webszerkesztő program?

  • ntomka
    nagyúr

    Összességében tök mindegy, ki melyiket használja. :D Mindenki döntse el maga, melyik szimpatikusabb. Az biztos, hogy mindkettő működik, és az a pár plusz dolog, amit a WAMP még felrak, nem fogja összehányni a rendszert.
    Majd én is kipróbálom az AppServ-et.

    A wamp nagyon jó szerintem is. Ha valaki windows alatt erőlteti a fejlesztést, és nem akar kínlódni az apache konfigurálásával, konfigfájlokkal, (erre vannak a rendszergazdák, adminok) csak fejleszteni akar, annak tökéletes. Kezdőknek mindenképp.
    És tényleg nem okádja tele a rendszert.

  • Sk8erPeter
    nagyúr

    A "WAMP saját szemete" nem hinném, hogy túl sok kárt okozna a gépben, nem fosta tele a registry-t sem, azért szerintem ezt nem kell ennyire túlparázni
    Nem parázom túl, csak a wamp-hoz hozzáadott tartalom abszolút fölösleges.

    mert nem szöveges fájlokban kell kutakodni a megfelelő beállítások után, hanem van egy kellemes grafikus felület a Tálcán
    Mondjuk három havonta egyszer fordul elő, hogy beletúrjak valamibe. A másik, hogy hozzá tartozik a fejlesztői ismeretekhez, hogy bele tudj túrni abba a kemény 2 fileba.

    Nem értem, a WAMP miért lenne rosszabb az Appserv-nél, a WAMP is ugyanúgy az éles környezetet pakolja fel, csak biztosít hozzá még egy plusz felületet, amin a beállítások elérhetők.
    Semmi baj nincs vele, csak ha egy mód van rá, akkor tartózkodom azoktól a programoktól, amik szükségtelen szeméttel pakolják tele a gépet.

    Összességében tök mindegy, ki melyiket használja. :D Mindenki döntse el maga, melyik szimpatikusabb. Az biztos, hogy mindkettő működik, és az a pár plusz dolog, amit a WAMP még felrak, nem fogja összehányni a rendszert.
    Majd én is kipróbálom az AppServ-et.

  • ok. és a php-hez kell weblapszerkesztési ismeret?

    szóval hogy is képzeljem el az egészet?

    csinálok egy weblapot valamilyen weblapszerkesztővel, rápakolok vezérlőelemeket (gombok, táblák, szövegdobozok, linkek, stb), és a weblapszerkesztőben pl a gombok mögé írom a php kódot? és a php kódban kapcsolódok a mysql adatbázishoz? a mysql adatbázis feltételezem, hogy a php szerveren van, ugye?

    azért ilyen sok a kérdésem, mert mint írtam, sosem csináltam még ilyet, de nagyon szeretném.

    ok. és a php-hez kell weblapszerkesztési ismeret?

    -Alap html ismeretre mindenképpen szükséged lesz.

    csinálok egy weblapot valamilyen weblapszerkesztővel, rápakolok vezérlőelemeket (gombok, táblák, szövegdobozok, linkek, stb), és a weblapszerkesztőben pl a gombok mögé írom a php kódot?

    -Úgy veszem észre, hogy nagyon megszoktad a Virtual Studio használatát, nálunk is erőltették anno a suliban.
    Ezt a fajta "varázslós" megoldást felejtsd el, ha php programozással akarsz foglalkozni. (persze itt is vannak, ilyen megoldások pl. sok programban tudsz két kattintással kész formot létrehozni, de teleszemeteli a kódodat)

    a php kódban kapcsolódok a mysql adatbázishoz?

    -Igen, a kódon belül pl. a mysql_connect segítségével

    a mysql adatbázis feltételezem, hogy a php szerveren van, ugye?

    -A webszerveren, a fentebb említett WAMP csomag segítségével települ minden amire szükséged lehet

  • DerStauner
    senior tag

    Kapsz.
    A wamp neve betűszó: windows+apache+mysql+php.

    ok. és a php-hez kell weblapszerkesztési ismeret?

    szóval hogy is képzeljem el az egészet?

    csinálok egy weblapot valamilyen weblapszerkesztővel, rápakolok vezérlőelemeket (gombok, táblák, szövegdobozok, linkek, stb), és a weblapszerkesztőben pl a gombok mögé írom a php kódot? és a php kódban kapcsolódok a mysql adatbázishoz? a mysql adatbázis feltételezem, hogy a php szerveren van, ugye?

    azért ilyen sok a kérdésem, mert mint írtam, sosem csináltam még ilyet, de nagyon szeretném.

  • cucka
    addikt

    köszi a válaszokat. én pont az az user vagyok, aki szereti tisztán tartani a gépét. még a visual studio-t is fenntartással telepítettem fel. azt hiszem, kipróbálom mindkettőt.

    azzal, hogy pl feltelepítem a wamp-ot, kapok mysql-t is? vagy azt külön kell?

    Kapsz.
    A wamp neve betűszó: windows+apache+mysql+php.

  • DerStauner
    senior tag

    A "WAMP saját szemete" nem hinném, hogy túl sok kárt okozna a gépben, nem fosta tele a registry-t sem, azért szerintem ezt nem kell ennyire túlparázni
    Nem parázom túl, csak a wamp-hoz hozzáadott tartalom abszolút fölösleges.

    mert nem szöveges fájlokban kell kutakodni a megfelelő beállítások után, hanem van egy kellemes grafikus felület a Tálcán
    Mondjuk három havonta egyszer fordul elő, hogy beletúrjak valamibe. A másik, hogy hozzá tartozik a fejlesztői ismeretekhez, hogy bele tudj túrni abba a kemény 2 fileba.

    Nem értem, a WAMP miért lenne rosszabb az Appserv-nél, a WAMP is ugyanúgy az éles környezetet pakolja fel, csak biztosít hozzá még egy plusz felületet, amin a beállítások elérhetők.
    Semmi baj nincs vele, csak ha egy mód van rá, akkor tartózkodom azoktól a programoktól, amik szükségtelen szeméttel pakolják tele a gépet.

    köszi a válaszokat. én pont az az user vagyok, aki szereti tisztán tartani a gépét. még a visual studio-t is fenntartással telepítettem fel. azt hiszem, kipróbálom mindkettőt.

    azzal, hogy pl feltelepítem a wamp-ot, kapok mysql-t is? vagy azt külön kell?

  • cucka
    addikt

    "(Már végigzongoráztam párszor az apache-php-mysql telepítést külön-külön, mindent beállítva, nekem ennyi elég is volt belőle, ezért kerestem olyan csomagot, ami megcsinálja helyettem)"
    Én is ugyanezen okból kezdtem el használni a WAMP-ot... Franc fog szarakodni minden újratelepítésnél.

    A "WAMP saját szemete" nem hinném, hogy túl sok kárt okozna a gépben, nem fosta tele a registry-t sem, azért szerintem ezt nem kell ennyire túlparázni, ráadásul azért is előnyös a WAMP egy kezdő számára (is), mert nem szöveges fájlokban kell kutakodni a megfelelő beállítások után, hanem van egy kellemes grafikus felület a Tálcán, ahol eléred az Apache, a MySQL és a PHP beállításait is.

    Az Appserv-et még nem próbáltam, de az alapján, amit elmondtál, meg az alapján, amit a honlapján látok, ehhez nincs ilyen könnyen elérhető és kezelhető grafikus felület.
    Nem értem, a WAMP miért lenne rosszabb az Appserv-nél, a WAMP is ugyanúgy az éles környezetet pakolja fel, csak biztosít hozzá még egy plusz felületet, amin a beállítások elérhetők.

    A "WAMP saját szemete" nem hinném, hogy túl sok kárt okozna a gépben, nem fosta tele a registry-t sem, azért szerintem ezt nem kell ennyire túlparázni
    Nem parázom túl, csak a wamp-hoz hozzáadott tartalom abszolút fölösleges.

    mert nem szöveges fájlokban kell kutakodni a megfelelő beállítások után, hanem van egy kellemes grafikus felület a Tálcán
    Mondjuk három havonta egyszer fordul elő, hogy beletúrjak valamibe. A másik, hogy hozzá tartozik a fejlesztői ismeretekhez, hogy bele tudj túrni abba a kemény 2 fileba.

    Nem értem, a WAMP miért lenne rosszabb az Appserv-nél, a WAMP is ugyanúgy az éles környezetet pakolja fel, csak biztosít hozzá még egy plusz felületet, amin a beállítások elérhetők.
    Semmi baj nincs vele, csak ha egy mód van rá, akkor tartózkodom azoktól a programoktól, amik szükségtelen szeméttel pakolják tele a gépet.

  • Sk8erPeter
    nagyúr

    Inkább az Appserv-et javaslom. Ugyanaz a next-next telepítő, csak nincs benne semmi egyedi cucc, pontosan olyan, mint ha kézzel külön-külön raknád fel a programokat. Ez azért jó, mert kb. ugyanolyan környezetet kapsz, mint az éles rendszereken, nincs telepakolva a Wamp saját szemetével.
    (Már végigzongoráztam párszor az apache-php-mysql telepítést külön-külön, mindent beállítva, nekem ennyi elég is volt belőle, ezért kerestem olyan csomagot, ami megcsinálja helyettem)

    "(Már végigzongoráztam párszor az apache-php-mysql telepítést külön-külön, mindent beállítva, nekem ennyi elég is volt belőle, ezért kerestem olyan csomagot, ami megcsinálja helyettem)"
    Én is ugyanezen okból kezdtem el használni a WAMP-ot... Franc fog szarakodni minden újratelepítésnél.

    A "WAMP saját szemete" nem hinném, hogy túl sok kárt okozna a gépben, nem fosta tele a registry-t sem, azért szerintem ezt nem kell ennyire túlparázni, ráadásul azért is előnyös a WAMP egy kezdő számára (is), mert nem szöveges fájlokban kell kutakodni a megfelelő beállítások után, hanem van egy kellemes grafikus felület a Tálcán, ahol eléred az Apache, a MySQL és a PHP beállításait is.

    Az Appserv-et még nem próbáltam, de az alapján, amit elmondtál, meg az alapján, amit a honlapján látok, ehhez nincs ilyen könnyen elérhető és kezelhető grafikus felület.
    Nem értem, a WAMP miért lenne rosszabb az Appserv-nél, a WAMP is ugyanúgy az éles környezetet pakolja fel, csak biztosít hozzá még egy plusz felületet, amin a beállítások elérhetők.

  • cucka
    addikt

    Használd a WAMP-ot, ezt a lehető legegyszerűbb telepíteni, next-next-finish módszerrel rakhatod fel, és a konfigurálása is könnyű (magához a működéshez viszont nem is szükséges átállítgatni semmit). Aztán a cuccaidat bepakolod a www könyvtárba, és kész vagy, a böngészőben a http://localhost/ cím beírásával már el is éred az oldaladat.

    Inkább az Appserv-et javaslom. Ugyanaz a next-next telepítő, csak nincs benne semmi egyedi cucc, pontosan olyan, mint ha kézzel külön-külön raknád fel a programokat. Ez azért jó, mert kb. ugyanolyan környezetet kapsz, mint az éles rendszereken, nincs telepakolva a Wamp saját szemetével.
    (Már végigzongoráztam párszor az apache-php-mysql telepítést külön-külön, mindent beállítva, nekem ennyi elég is volt belőle, ezért kerestem olyan csomagot, ami megcsinálja helyettem)

  • Sk8erPeter
    nagyúr

    sziasztok!

    magamról annyit, hogy VBA és vb.net programokat írok hobbi szintent. Elég sok mindent tudok.

    Viszont most belekezdenék a php+mysql kombóba. A probléma csak az, hogy fogalmam sincs, hol kellene kezdenem.

    Egyszer már néztem, hogyan kellene feltelepíteni egy php-szervert, de elment tőle a kedvem, mert nem arról szólt, hogy start-next-next-finish. Hanem, hogy írd át ezt itt, ezt meg ott, másold be ezt ide, stb.

    Vista x64 van a gépemen.

    Hogyan láthatok hozzá?

    Használd a WAMP-ot, ezt a lehető legegyszerűbb telepíteni, next-next-finish módszerrel rakhatod fel, és a konfigurálása is könnyű (magához a működéshez viszont nem is szükséges átállítgatni semmit). Aztán a cuccaidat bepakolod a www könyvtárba, és kész vagy, a böngészőben a http://localhost/ cím beírásával már el is éred az oldaladat.

  • DerStauner
    senior tag

    sziasztok!

    magamról annyit, hogy VBA és vb.net programokat írok hobbi szintent. Elég sok mindent tudok.

    Viszont most belekezdenék a php+mysql kombóba. A probléma csak az, hogy fogalmam sincs, hol kellene kezdenem.

    Egyszer már néztem, hogyan kellene feltelepíteni egy php-szervert, de elment tőle a kedvem, mert nem arról szólt, hogy start-next-next-finish. Hanem, hogy írd át ezt itt, ezt meg ott, másold be ezt ide, stb.

    Vista x64 van a gépemen.

    Hogyan láthatok hozzá?

  • bnss
    veterán

    Használj valamilyen ingyenes levélküldőt, pl. phpMailer vagy HtmlMimeMail, ezekkel bármilyen feladóval tudsz email-t küldeni.
    A kitöltött reply-to mezőt emlékeim szerint a spamszűrők nem nagyon szeretik. (Bár lehet, hogy rosszul emlékszem.. :) )

    Jogos, a reply-to mező nem a legszerencsésebb - legalábbis az általam olvasott vélemények szerint. A phpMailer-t néztem meg, első blikkre kicsit magasnak tűnik nekem, de azért megpróbálom beüzemelni. Köszönöm! ;)

  • cucka
    addikt

    Sziasztok!

    Mail függvénnyel kapcsolatban lenne egy kérdésem: az említett függvény segítségével küldök el egy űrlapot adott címre, azt szeretném megoldani, hogy a levelezőkliens a feladónak az űrlapon rögzített e-mail címet jelenítse meg. Ezzel gyorsítanánk némileg az ügyfélszolgálaton, mert csak válaszolni kellene a megérkezett űrlapra. A from mező lehet a megoldás a problémámra?

    Köszönöm!

    szerk.: reply-to mező lesz a barátom, legalábbis remélem. :)

    Használj valamilyen ingyenes levélküldőt, pl. phpMailer vagy HtmlMimeMail, ezekkel bármilyen feladóval tudsz email-t küldeni.
    A kitöltött reply-to mezőt emlékeim szerint a spamszűrők nem nagyon szeretik. (Bár lehet, hogy rosszul emlékszem.. :) )

  • bnss
    veterán

    Sziasztok!

    Mail függvénnyel kapcsolatban lenne egy kérdésem: az említett függvény segítségével küldök el egy űrlapot adott címre, azt szeretném megoldani, hogy a levelezőkliens a feladónak az űrlapon rögzített e-mail címet jelenítse meg. Ezzel gyorsítanánk némileg az ügyfélszolgálaton, mert csak válaszolni kellene a megérkezett űrlapra. A from mező lehet a megoldás a problémámra?

    Köszönöm!

    szerk.: reply-to mező lesz a barátom, legalábbis remélem. :)

  • akopacsi
    csendes tag

    Zend 5.5 és Notepad++.
    Az új zend-ek amúgy Eclipse alapúak, szóval nem feltétlenül rossz az.

    Tényleg nem is rossz. :)

  • cucka
    addikt

    Köszönöm. Egyébként ti milyen szerkesztőt vagy fejlesztő eszközt használtok? Az Eclipse-t azért használom, mert megszoktam. Biztos van jobb is php-hez...

    Zend 5.5 és Notepad++.
    Az új zend-ek amúgy Eclipse alapúak, szóval nem feltétlenül rossz az.

  • akopacsi
    csendes tag

    Köszönöm. Egyébként ti milyen szerkesztőt vagy fejlesztő eszközt használtok? Az Eclipse-t azért használom, mert megszoktam. Biztos van jobb is php-hez...

  • biker
    nagyúr

    Sziasztok. Eclipse-ben készítettem egy html (utf-8) oldalt, amiben van egy php blokk is. Ugyanezt szeretném felhasználni egy másik oldalon is, de amikor a php kódrészt egy külön állományban lementem és include()-dal próbálom beilleszteni, akkor az ékezetes karakterek nem jelennek meg. Gondolom, hogy a include()-os beillesztésnél valamilyen más character set-et használ. Hogyan lehet ezt is utf-8-ra állítani? Köszönöm, ha segít valaki.

    maga a file a rossz. nyisd meg editorral, állítsd az encoding-nál UTF-8-ra, és mentsd újra

  • Sziasztok. Eclipse-ben készítettem egy html (utf-8) oldalt, amiben van egy php blokk is. Ugyanezt szeretném felhasználni egy másik oldalon is, de amikor a php kódrészt egy külön állományban lementem és include()-dal próbálom beilleszteni, akkor az ékezetes karakterek nem jelennek meg. Gondolom, hogy a include()-os beillesztésnél valamilyen más character set-et használ. Hogyan lehet ezt is utf-8-ra állítani? Köszönöm, ha segít valaki.

    A két file karakterkódolásának egyeznie kell, ennyi a trükk. Külön az include() hívásnál ilyet nem tudsz állítani.

  • akopacsi
    csendes tag

    Sziasztok. Eclipse-ben készítettem egy html (utf-8) oldalt, amiben van egy php blokk is. Ugyanezt szeretném felhasználni egy másik oldalon is, de amikor a php kódrészt egy külön állományban lementem és include()-dal próbálom beilleszteni, akkor az ékezetes karakterek nem jelennek meg. Gondolom, hogy a include()-os beillesztésnél valamilyen más character set-et használ. Hogyan lehet ezt is utf-8-ra állítani? Köszönöm, ha segít valaki.

  • biker
    nagyúr

    Ez a szöveg most olyan volt, mint abban az ominózus sörreklámban, már csak az hiányzott a végéről, hogy "PHP, én így szeretlek!" :D

    tényleg :)

  • Sk8erPeter
    nagyúr

    nem konkrétan ebből élek, de a bevétel egy részét ez teszi ki, ámbár sosem tanultam ezt iskolában.
    és nem adok ki (szerintem)szemét kódot a kezemből.
    nem csinálok olyan többnyelvű cms rendszeres rendszert, ahol a szöveg egy részét benne felejtem a forrásban :) nem használok egybetűs változókat, és el tudok képzelni olyan for ciklust, ahol nem $i a változó :)
    sok hiányosságom van, de segítettem már sokaknak ezzel a tudással is (akik ma ebből élnek már :D)
    számomra egy query eredménye lehet más is, mint $res, és ennek egy sora sem $rec lehet csak :)
    kb ennyi :)

    Ez a szöveg most olyan volt, mint abban az ominózus sörreklámban, már csak az hiányzott a végéről, hogy "PHP, én így szeretlek!" :D

  • biker
    nagyúr

    Lokális változóknál simán lehet $i a ciklusváltozó és $res a mysql resource, nem ettől lesz érthetetlen a kód.

    az lehet, de mikor egy fileon belül van 4-6-több lekérdezés, és mindig minden lekérdezésnél $res-van, akkor az nehezen követhető, szerintem. vagy az én agyam rossz :) (arról nem beszélve, hogy újrahasznosítás esetén pl első lekérdezés lefut, ok, második valami hiba miatt találat nélkül tér vissza, akkor ha nem nyírtad ki az előző $res-t, akkor kiprintelheti annak a tartalmát, ha a mezőnevek passzolnak, vagy nem is mezőnév alapján íratja ki, csak ciklusban)
    ez nem a 64k contest, hogy spóroljunk :)

  • cucka
    addikt

    nem konkrétan ebből élek, de a bevétel egy részét ez teszi ki, ámbár sosem tanultam ezt iskolában.
    és nem adok ki (szerintem)szemét kódot a kezemből.
    nem csinálok olyan többnyelvű cms rendszeres rendszert, ahol a szöveg egy részét benne felejtem a forrásban :) nem használok egybetűs változókat, és el tudok képzelni olyan for ciklust, ahol nem $i a változó :)
    sok hiányosságom van, de segítettem már sokaknak ezzel a tudással is (akik ma ebből élnek már :D)
    számomra egy query eredménye lehet más is, mint $res, és ennek egy sora sem $rec lehet csak :)
    kb ennyi :)

    Lokális változóknál simán lehet $i a ciklusváltozó és $res a mysql resource, nem ettől lesz érthetetlen a kód.

  • DeltaPower
    addikt

    (De komolyan, nem hiszem, hogy van még egy olyan programozási nyelv, amelyből ennyire sok fogalmatlan hülye képes megélni)

    nem vagyok fogalmatlan hülye, de nem is ezt tanultam :)
    gyakorlatilag egy jó alappal (12 évesen BASIC-eztem) tökéletesen el lehet lenni. mondjuk emiatt a múlt miatt nehéz az OOP-re állni, mert jobb szeretem a folyamatában végbemenő rendszereket, mint a függvények hívogatását. de ez van.

    pl jobb szeretem a funkciókat kis php filokba rakni, és azt hívni meg, pl login.php stb, mint egy fileba tenni és ott keresgélni, hol a login rész :)

    pl egy programozó, aki egy fejlesztő cégnél dolgozik, csinálta ezt, amivel szívtam egy mezei költözésnél:
    - index.php meghívja a mysql_class.php filet, meg a config.php filet, majd ha nem vagy belépve, akkor header: location index.php?c=login
    - ha index.php rendszerben c=login, akkor beincludeolja a login.php-t, amiben a form van, ami meghívja az index.php-t, ami utána ismét újratölti magát, ha bléptél.

    namost ettől kétszer került végtelen ciklusba, egyszer a register globals miatt, mert a C-nek sose lett értéke, másrészt a belépéskor a sesion start elfelejtése miatt

    másrészt, miért épp $c a változó? sose tudjuk meg...

    áll a rendszer 10fileból, fileonként átlag 4-5 kereszt includeolással, és 5-6 header: locaton átirányítással. :U

    ja, és az oldal iso-8859-2 kódolással készült, erre elküldi az sql-dump-ot úgy, hogy minden sor végén ott: default charset=latin1, és UTF-8 ékezetes karakterek vannak benne.
    királyság, ezt is átírtam, és már jó is.

    "$c" valószínűleg a "command" rövidítése :)
    tőlem lehet hülyét kapnál, ugyanis a változó-újrahasznosítás miatt elég sok helyen találsz $data nevű változót a kódjaimban, kb felét így hívják :)

  • biker
    nagyúr

    Azokra írtam, akik php programozásból élnek, de nem igazán értenek hozzá és szemét minőségű munkát adnak ki a kezeik közül. Ha te is közéjük tartozol, hát akkor ez van :D (bár a hozzászólásaid alapján nem hiszem, hogy ez lenne a helyzet)

    nem konkrétan ebből élek, de a bevétel egy részét ez teszi ki, ámbár sosem tanultam ezt iskolában.
    és nem adok ki (szerintem)szemét kódot a kezemből.
    nem csinálok olyan többnyelvű cms rendszeres rendszert, ahol a szöveg egy részét benne felejtem a forrásban :) nem használok egybetűs változókat, és el tudok képzelni olyan for ciklust, ahol nem $i a változó :)
    sok hiányosságom van, de segítettem már sokaknak ezzel a tudással is (akik ma ebből élnek már :D)
    számomra egy query eredménye lehet más is, mint $res, és ennek egy sora sem $rec lehet csak :)
    kb ennyi :)

  • Sk8erPeter
    nagyúr

    Eddig nem igazán értettem, hogy ha nem adatbázisból szeded, akkor mégis honnan, ha csak egy osztályod van...
    Nem értem, mit nem értesz :) . Ott a kód, nézd meg, hogy melyik függvény mit csinál, direkt egyszerű példát írtam, összesen 1 darab származtatás van benne, ami oop.

    Így viszont pont a rugalmasságát veszti el a dolog, ha kézzel kell hozzáadni, nem?
    A kód végén ott van 3 darab példa arra, hogy hogyan lehet használni ezeket az osztályokat különféle helyzetekben. A kommenteket nem dísznek írtam a kódba, hanem hogy elolvasd :) .

    És a gyakorlatban ezt a kézzel való hozzáadást hogy kell elképzelni?
    Úgy, ahogy az első példában van.

    Értem én, csak szerintem hülyén tettem fel a kérdéseket. :DDD :B Úgy tanul a gyerek, ha kérdez. :P Egyébként minden témával kapcsolatos hozzászólásoddal inspirációt adtál a saját megoldásomhoz, ezért is kérdezősködtem. :R Köszönöm a példát és a válaszaidat, azt hiszem, menni fog.
    Persze lehet, hogy még felteszek majd pár kérdést, ha időközben felmerül. :B

  • cucka
    addikt

    tudom, hogy nem ram celzott, csak jeleztem, en is ide tartozom, csak a jobbik korbe. pl en nem uzemeltetek ugy oldalt, mint a nagytudasu, mysql kapcsolat localhost, user root es nincs jelszo

    Azokra írtam, akik php programozásból élnek, de nem igazán értenek hozzá és szemét minőségű munkát adnak ki a kezeik közül. Ha te is közéjük tartozol, hát akkor ez van :D (bár a hozzászólásaid alapján nem hiszem, hogy ez lenne a helyzet)

  • biker
    nagyúr

    "nem vagyok fogalmatlan hülye, de nem is ezt tanultam :)"
    De cucka nem is rád célzott, hanem általánosságban mondta, hogy sok gyökér képes PHP-zásból megélni normális programozási ismeretek nélkül. :D

    tudom, hogy nem ram celzott, csak jeleztem, en is ide tartozom, csak a jobbik korbe. pl en nem uzemeltetek ugy oldalt, mint a nagytudasu, mysql kapcsolat localhost, user root es nincs jelszo

  • cucka
    addikt

    Áháá, már kezdem kapiskálni.
    "Nyilván ekkor kézzel kell hozzáadni a lehetséges nyelveket"
    Ez volt a kulcsmondat... :D Eddig nem igazán értettem, hogy ha nem adatbázisból szeded, akkor mégis honnan, ha csak egy osztályod van... Rögtön gondoltam, hogy valami ilyesmi megoldás, de az elmondásodból először úgy tűnt, hogy mégsem. :D
    Így viszont pont a rugalmasságát veszti el a dolog, ha kézzel kell hozzáadni, nem?
    És a gyakorlatban ezt a kézzel való hozzáadást hogy kell elképzelni? :)

    Eddig nem igazán értettem, hogy ha nem adatbázisból szeded, akkor mégis honnan, ha csak egy osztályod van...
    Nem értem, mit nem értesz :) . Ott a kód, nézd meg, hogy melyik függvény mit csinál, direkt egyszerű példát írtam, összesen 1 darab származtatás van benne, ami oop.

    Így viszont pont a rugalmasságát veszti el a dolog, ha kézzel kell hozzáadni, nem?
    A kód végén ott van 3 darab példa arra, hogy hogyan lehet használni ezeket az osztályokat különféle helyzetekben. A kommenteket nem dísznek írtam a kódba, hanem hogy elolvasd :) .

    És a gyakorlatban ezt a kézzel való hozzáadást hogy kell elképzelni?
    Úgy, ahogy az első példában van.

  • Sk8erPeter
    nagyúr

    Ez most ilyen default értéket ad, mert a hu és en nyelvekhez nyúlkálsz a legtöbbször, és ha mégis másik nyelvre van szükséged, akkor lekérdezed adatbázisból, de egyébként nincs rá szükség?
    A kódban található osztályok nem tudnak olyat, hogy default érték, de bele lehet építeni.
    Ha megfigyeled, a kimásolt kódban a my_language osztályt példányosítom be, amelynek nincs szüksége semmilyen adatbázisra, működik anélkül is. Nyilván ekkor kézzel kell hozzáadni a lehetséges nyelveket (vagyis az add_language metódust használva)
    A my_db_language osztály annyival tud többet, hogy ki tudja olvasni az adatbázisból a lehetséges nyelvek listáját. Ha megnézed, akkor ugyanazt az add_language metódust használja, mint amit az első példában kézzel hívtam meg.

    Amúgy ezek csak példa osztályok, az elv a fontos. A my_language képes rá, hogy nyilvántartsa a nyelvek listáját, oda-vissza fordítson szöveges azonosító és numerikus azonosító között. A my_db_language ennek a leszármazottja, egy plusz funkcióval, be tudja olvasni a nyelvek listáját az adott táblából/mezőnevekből.
    (Amúgy nagyon hasonló a saját language osztályom is, csak az ki van bővítve néhány funkcióval)

    Áháá, már kezdem kapiskálni.
    "Nyilván ekkor kézzel kell hozzáadni a lehetséges nyelveket"
    Ez volt a kulcsmondat... :D Eddig nem igazán értettem, hogy ha nem adatbázisból szeded, akkor mégis honnan, ha csak egy osztályod van... Rögtön gondoltam, hogy valami ilyesmi megoldás, de az elmondásodból először úgy tűnt, hogy mégsem. :D
    Így viszont pont a rugalmasságát veszti el a dolog, ha kézzel kell hozzáadni, nem?
    És a gyakorlatban ezt a kézzel való hozzáadást hogy kell elképzelni? :)

  • Sk8erPeter
    nagyúr

    (De komolyan, nem hiszem, hogy van még egy olyan programozási nyelv, amelyből ennyire sok fogalmatlan hülye képes megélni)

    nem vagyok fogalmatlan hülye, de nem is ezt tanultam :)
    gyakorlatilag egy jó alappal (12 évesen BASIC-eztem) tökéletesen el lehet lenni. mondjuk emiatt a múlt miatt nehéz az OOP-re állni, mert jobb szeretem a folyamatában végbemenő rendszereket, mint a függvények hívogatását. de ez van.

    pl jobb szeretem a funkciókat kis php filokba rakni, és azt hívni meg, pl login.php stb, mint egy fileba tenni és ott keresgélni, hol a login rész :)

    pl egy programozó, aki egy fejlesztő cégnél dolgozik, csinálta ezt, amivel szívtam egy mezei költözésnél:
    - index.php meghívja a mysql_class.php filet, meg a config.php filet, majd ha nem vagy belépve, akkor header: location index.php?c=login
    - ha index.php rendszerben c=login, akkor beincludeolja a login.php-t, amiben a form van, ami meghívja az index.php-t, ami utána ismét újratölti magát, ha bléptél.

    namost ettől kétszer került végtelen ciklusba, egyszer a register globals miatt, mert a C-nek sose lett értéke, másrészt a belépéskor a sesion start elfelejtése miatt

    másrészt, miért épp $c a változó? sose tudjuk meg...

    áll a rendszer 10fileból, fileonként átlag 4-5 kereszt includeolással, és 5-6 header: locaton átirányítással. :U

    ja, és az oldal iso-8859-2 kódolással készült, erre elküldi az sql-dump-ot úgy, hogy minden sor végén ott: default charset=latin1, és UTF-8 ékezetes karakterek vannak benne.
    királyság, ezt is átírtam, és már jó is.

    "nem vagyok fogalmatlan hülye, de nem is ezt tanultam :)"
    De cucka nem is rád célzott, hanem általánosságban mondta, hogy sok gyökér képes PHP-zásból megélni normális programozási ismeretek nélkül. :D

  • biker
    nagyúr

    Ezért alacsony a presztízse a php fejlesztésnek. Könnyen tanulható nyelv, nulla tudással össze lehet gányolni egy weboldalt, ezért ez a szoftverfejlesztő szakma pöcegödre :) . (De komolyan, nem hiszem, hogy van még egy olyan programozási nyelv, amelyből ennyire sok fogalmatlan hülye képes megélni)

    A #4007-es hozzászólásnál meg elfelejtettem odaírni, hogy a te megoldásodban rossz a szuperglobálok sorrendje, a linkelt kódban ott a helyes sorrendű és teljes lista. (Meg még egy hasznos kód, ahol a kikapcsolt register_globals-t emulálja)

    (De komolyan, nem hiszem, hogy van még egy olyan programozási nyelv, amelyből ennyire sok fogalmatlan hülye képes megélni)

    nem vagyok fogalmatlan hülye, de nem is ezt tanultam :)
    gyakorlatilag egy jó alappal (12 évesen BASIC-eztem) tökéletesen el lehet lenni. mondjuk emiatt a múlt miatt nehéz az OOP-re állni, mert jobb szeretem a folyamatában végbemenő rendszereket, mint a függvények hívogatását. de ez van.

    pl jobb szeretem a funkciókat kis php filokba rakni, és azt hívni meg, pl login.php stb, mint egy fileba tenni és ott keresgélni, hol a login rész :)

    pl egy programozó, aki egy fejlesztő cégnél dolgozik, csinálta ezt, amivel szívtam egy mezei költözésnél:
    - index.php meghívja a mysql_class.php filet, meg a config.php filet, majd ha nem vagy belépve, akkor header: location index.php?c=login
    - ha index.php rendszerben c=login, akkor beincludeolja a login.php-t, amiben a form van, ami meghívja az index.php-t, ami utána ismét újratölti magát, ha bléptél.

    namost ettől kétszer került végtelen ciklusba, egyszer a register globals miatt, mert a C-nek sose lett értéke, másrészt a belépéskor a sesion start elfelejtése miatt

    másrészt, miért épp $c a változó? sose tudjuk meg...

    áll a rendszer 10fileból, fileonként átlag 4-5 kereszt includeolással, és 5-6 header: locaton átirányítással. :U

    ja, és az oldal iso-8859-2 kódolással készült, erre elküldi az sql-dump-ot úgy, hogy minden sor végén ott: default charset=latin1, és UTF-8 ékezetes karakterek vannak benne.
    királyság, ezt is átírtam, és már jó is.

  • cucka
    addikt

    Köszi a példát, még mindenképp tanulmányozni fogom, ha kicsit kiismertem az OOP-t. :R Egyébként egész érthetőnek tűnik.

    De azért még megkérdezem:
    $lang_object->add_language(1,'en');
    $lang_object->add_language(2,'hu');

    Ez most ilyen default értéket ad, mert a hu és en nyelvekhez nyúlkálsz a legtöbbször, és ha mégis másik nyelvre van szükséged, akkor lekérdezed adatbázisból, de egyébként nincs rá szükség? :B

    Ez most ilyen default értéket ad, mert a hu és en nyelvekhez nyúlkálsz a legtöbbször, és ha mégis másik nyelvre van szükséged, akkor lekérdezed adatbázisból, de egyébként nincs rá szükség?
    A kódban található osztályok nem tudnak olyat, hogy default érték, de bele lehet építeni.
    Ha megfigyeled, a kimásolt kódban a my_language osztályt példányosítom be, amelynek nincs szüksége semmilyen adatbázisra, működik anélkül is. Nyilván ekkor kézzel kell hozzáadni a lehetséges nyelveket (vagyis az add_language metódust használva)
    A my_db_language osztály annyival tud többet, hogy ki tudja olvasni az adatbázisból a lehetséges nyelvek listáját. Ha megnézed, akkor ugyanazt az add_language metódust használja, mint amit az első példában kézzel hívtam meg.

    Amúgy ezek csak példa osztályok, az elv a fontos. A my_language képes rá, hogy nyilvántartsa a nyelvek listáját, oda-vissza fordítson szöveges azonosító és numerikus azonosító között. A my_db_language ennek a leszármazottja, egy plusz funkcióval, be tudja olvasni a nyelvek listáját az adott táblából/mezőnevekből.
    (Amúgy nagyon hasonló a saját language osztályom is, csak az ki van bővítve néhány funkcióval)

  • Sk8erPeter
    nagyúr

    Ezért alacsony a presztízse a php fejlesztésnek. Könnyen tanulható nyelv, nulla tudással össze lehet gányolni egy weboldalt, ezért ez a szoftverfejlesztő szakma pöcegödre :) . (De komolyan, nem hiszem, hogy van még egy olyan programozási nyelv, amelyből ennyire sok fogalmatlan hülye képes megélni)

    A #4007-es hozzászólásnál meg elfelejtettem odaírni, hogy a te megoldásodban rossz a szuperglobálok sorrendje, a linkelt kódban ott a helyes sorrendű és teljes lista. (Meg még egy hasznos kód, ahol a kikapcsolt register_globals-t emulálja)

    Mondjuk ha valaki ilyen gyökérségeket csinál, hogy kétbetűs változóneveket ad meg, és még csak nem is kommentezi, vagyis később már ő maga sem fogja érteni a saját kódját, akkor ilyen merényleteket akár más nyelveken is elkövethet. :DDD
    Amúgy tényleg meglepő, mennyire egyszerűen össze lehet hozni PHP-vel "működő" kódokat, és most, hogy kicsit már talán jobban megy a PHP-zás, mint az elején, rossz visszanézni, miket műveltem eleinte, amikor elkezdtem tanulni a nyelvet, és még mindig nem tudok az egészről semmit. :D
    Mondjuk sokan vannak, akik már egy for ciklustól profinak érzik magukat. Ezzel szemben viszont: "An expert is someone who knows more and more about less and less, until eventually he knows everything about nothing." :DD

  • Sk8erPeter
    nagyúr

    Tessék egy lehetséges megoldás, hogy el tudd képzelni: [link] .
    Azért nem másoltam ide, hogy olvasható maradjon a kód. Röviden:
    - van egy nyelv osztály, ami a nyelvekkel kapcsolatos funkciókat valósítja meg.
    - ebből származtatok egy adatbázisos nyelv osztályt, ami annyit tesz hozzá, hogy az adatokat be tudja olvasni az adatbázisból
    - az adatbázis kapcsolat objektumot a $dbconn változó jelenti, ennek létrehozása nincs benne a kódban
    - a kód végén van példa 3 fajta példányosításra. Legtöbbször az adatbázisban a nyelv tábla és a mezők neve adott, ezek vannak beállítva default-nak, ugyanakkor meg kell adni a lehetőséget, hogy bármilyen tábla és mezőnevekre is működjön a rendszer.
    - írtam bele pár kommentet is, remélem érthető

    Köszi a példát, még mindenképp tanulmányozni fogom, ha kicsit kiismertem az OOP-t. :R Egyébként egész érthetőnek tűnik.

    De azért még megkérdezem:
    $lang_object->add_language(1,'en');
    $lang_object->add_language(2,'hu');

    Ez most ilyen default értéket ad, mert a hu és en nyelvekhez nyúlkálsz a legtöbbször, és ha mégis másik nyelvre van szükséged, akkor lekérdezed adatbázisból, de egyébként nincs rá szükség? :B

  • cucka
    addikt

    az utóbbi egy évben ez a 3. rendszer, amit átveszek mástól.

    Teljesen normális az, hogy attól gyakorlott programozó valaki, hogy képtelen egy rohadt értelmes változónevet adni, és büdös kommentelni?????
    ezt tanítják főiskolán?

    tele van egy és kétbetűs változónevekkel, amik semmit nem mondanak, sehol egy komment, az index.php includeolja a másik.php-t, ami locationnel redirectel egy 3. php-t, ahova be van includolva egy 5. file.
    :Y :W :F :Y :W

    csak én vagyok olyan idóta, hogy pl a userek tábla lekérés után a $user_tabla tombbe kerülnek? és nem $qw változóba? :U

    Ezért alacsony a presztízse a php fejlesztésnek. Könnyen tanulható nyelv, nulla tudással össze lehet gányolni egy weboldalt, ezért ez a szoftverfejlesztő szakma pöcegödre :) . (De komolyan, nem hiszem, hogy van még egy olyan programozási nyelv, amelyből ennyire sok fogalmatlan hülye képes megélni)

    A #4007-es hozzászólásnál meg elfelejtettem odaírni, hogy a te megoldásodban rossz a szuperglobálok sorrendje, a linkelt kódban ott a helyes sorrendű és teljes lista. (Meg még egy hasznos kód, ahol a kikapcsolt register_globals-t emulálja)

  • pckownz
    őstag

    Sziasztok.
    e107 legújabb verzióját használom, és a problémám a következő lenne.
    Menübe kinthagytam az alap download.php hivatkozást, és ha rákattintok, úgy jeleníti meg, hogy nincs ott a menü. Ugyan ez lenne a User/settings menüponton is a bajom. Ezt lehet valahogy orvosolni?
    A user/settings még nem is lenne nagy probléma, mert azt leokézom és visszadob a kezdőlapra, de a download-ból csak backspace-szel tudok visszamenni.

  • biker
    nagyúr

    az utóbbi egy évben ez a 3. rendszer, amit átveszek mástól.

    Teljesen normális az, hogy attól gyakorlott programozó valaki, hogy képtelen egy rohadt értelmes változónevet adni, és büdös kommentelni?????
    ezt tanítják főiskolán?

    tele van egy és kétbetűs változónevekkel, amik semmit nem mondanak, sehol egy komment, az index.php includeolja a másik.php-t, ami locationnel redirectel egy 3. php-t, ahova be van includolva egy 5. file.
    :Y :W :F :Y :W

    csak én vagyok olyan idóta, hogy pl a userek tábla lekérés után a $user_tabla tombbe kerülnek? és nem $qw változóba? :U

  • cucka
    addikt

    fileonként 1 perc :)
    if (sizeof($HTTP_POST_VARS)>0) { while(list($a,$b)=each($HTTP_POST_VARS)) { ${$a}=$b; } }
    if (sizeof($HTTP_GET_VARS)>0) { while(list($a,$b)=each($HTTP_GET_VARS)) { ${$a}=$b; } }
    if (sizeof($HTTP_SESSION_VARS)>0) { while(list($a,$b)=each($HTTP_SESSION_VARS)) { ${$a}=$b; } }
    if (sizeof($HTTP_SERVER_VARS)>0) { while(list($a,$b)=each($HTTP_SERVER_VARS)) { ${$a}=$b; } }

    és kész. a szarul megírt program már működik is.

    persze én jobban szeretem, ha a GET['valami'] nem azonos a POST['valami']-vel és főleg nem a SESSION['valami']-vel, mert az nem mindig okos dolog.

    Ezen az oldalon van egy jobb megoldás erre a problémára.

  • DeltaPower
    addikt

    $HTTP_GET_VARS és hasonlók helyett inkább az új nevüket használd ($_GET, $_POST stb.), valamint nézz rá az extract() függvényre.

    ez is jogos, HTTP_X_VARS elavult

  • biker
    nagyúr

    $HTTP_GET_VARS és hasonlók helyett inkább az új nevüket használd ($_GET, $_POST stb.), valamint nézz rá az extract() függvényre.

    amikor írom a forrást, akkor $_GET-ezni szoktam, ez meg így maradt régről, ahova kell, csak copyzom sorban :)

  • fileonként 1 perc :)
    if (sizeof($HTTP_POST_VARS)>0) { while(list($a,$b)=each($HTTP_POST_VARS)) { ${$a}=$b; } }
    if (sizeof($HTTP_GET_VARS)>0) { while(list($a,$b)=each($HTTP_GET_VARS)) { ${$a}=$b; } }
    if (sizeof($HTTP_SESSION_VARS)>0) { while(list($a,$b)=each($HTTP_SESSION_VARS)) { ${$a}=$b; } }
    if (sizeof($HTTP_SERVER_VARS)>0) { while(list($a,$b)=each($HTTP_SERVER_VARS)) { ${$a}=$b; } }

    és kész. a szarul megírt program már működik is.

    persze én jobban szeretem, ha a GET['valami'] nem azonos a POST['valami']-vel és főleg nem a SESSION['valami']-vel, mert az nem mindig okos dolog.

    $HTTP_GET_VARS és hasonlók helyett inkább az új nevüket használd ($_GET, $_POST stb.), valamint nézz rá az extract() függvényre.

  • biker
    nagyúr

    ha nincs milliónyi fájl akkor még oké is lehet.
    - session start nem volt beállítva, valahogy azon a serveren ettől függetlenül jegyezte a session-öket
    session.auto_start a php konfigban

    igaz :)
    ilyeneket soha nem állítok be hogy ilyen legyen, és hála évek óta default of :) jogos a 2 pont

  • DeltaPower
    addikt

    fileonként 1 perc :)
    if (sizeof($HTTP_POST_VARS)>0) { while(list($a,$b)=each($HTTP_POST_VARS)) { ${$a}=$b; } }
    if (sizeof($HTTP_GET_VARS)>0) { while(list($a,$b)=each($HTTP_GET_VARS)) { ${$a}=$b; } }
    if (sizeof($HTTP_SESSION_VARS)>0) { while(list($a,$b)=each($HTTP_SESSION_VARS)) { ${$a}=$b; } }
    if (sizeof($HTTP_SERVER_VARS)>0) { while(list($a,$b)=each($HTTP_SERVER_VARS)) { ${$a}=$b; } }

    és kész. a szarul megírt program már működik is.

    persze én jobban szeretem, ha a GET['valami'] nem azonos a POST['valami']-vel és főleg nem a SESSION['valami']-vel, mert az nem mindig okos dolog.

    ha nincs milliónyi fájl akkor még oké is lehet.
    - session start nem volt beállítva, valahogy azon a serveren ettől függetlenül jegyezte a session-öket
    session.auto_start a php konfigban

  • biker
    nagyúr

    az szép munka lesz, ha register_globals=on volt a régin és úgy is írták meg az egészet :Y

    fileonként 1 perc :)
    if (sizeof($HTTP_POST_VARS)>0) { while(list($a,$b)=each($HTTP_POST_VARS)) { ${$a}=$b; } }
    if (sizeof($HTTP_GET_VARS)>0) { while(list($a,$b)=each($HTTP_GET_VARS)) { ${$a}=$b; } }
    if (sizeof($HTTP_SESSION_VARS)>0) { while(list($a,$b)=each($HTTP_SESSION_VARS)) { ${$a}=$b; } }
    if (sizeof($HTTP_SERVER_VARS)>0) { while(list($a,$b)=each($HTTP_SERVER_VARS)) { ${$a}=$b; } }

    és kész. a szarul megírt program már működik is.

    persze én jobban szeretem, ha a GET['valami'] nem azonos a POST['valami']-vel és főleg nem a SESSION['valami']-vel, mert az nem mindig okos dolog.

Új hozzászólás Aktív témák

Hirdetés