payskin Posted August 16, 2010 Posted August 16, 2010 Nem kell. Én az 5-6 ezress termékállományt berántva egy tömbbe, lazán csinálok in_array-eket meg még csúnyább mûveleteket is rajtuk, meg sem kottyan a szervernek. Igaz, nem éles weboldalon, hanem karbantartó "segédprogramokban".
Pjotr Posted August 21, 2010 Posted August 21, 2010 Legutóbb azon dolgoztam, hogy létrehozzak egy biztonságos beléptető rendszert (egy megfelelő osztály + adattábla). Azt hiszem, sikerült (a tábla alapján ellenőrződik, hogy a küldött süti/$_SESSION változó valid-e [esetleg IP ellenőrzéssel]), de szóljatok, ha ez kevés. (Mondjuk a Weblabor egy ide illő cikkében volt egy formai ellenőrzést végző függvény is a küldött kulcsra vonatkozóan, de egy md5()-ölt és substr()-ezett adaton hogyan lehetne?!) Most az a konkrét gondom, hogy ha pl. szerkesztés közben jár le a session, elküldöm az űrlapom, akkor sikertelen lesz a dolog, mert elhajt a rendszer zabot hegyezni. Hogyan kell megcsinálni, hogy lejárás esetén be tudjak úgy jelelntkezni, hogy a küldött adatok is a helyükre kerüljenek? Köszi! --- Láttam olyat, hogy $_SESSION-be menti a cuccokat, de tudtommal ez nem szerencsés.
Kiskalóz Posted September 1, 2010 Posted September 1, 2010 Sziasztok! Lenne egy apró problémám amit nem értek. Van egy php-s naptár alkalmazásom, amit félig a netrõl szedtem, félíg én írtam. Minden szép és jo, de azt szerettem volna megoldani, hogy ha léptetünk a hónapok között, és visszaérünk a mostani hónapra, akkor jelölje meg az aktuális napot. Ez kezdésnél sikerült is. De amikor beletettem a kódot, minden hónapban megjelölte az adott napot (most az 1-et) valamint azok a hónapok amik hétfõvel kezdõdnek szétcsúsznak. itt az eredeti naptár: http://webprog.eu/crm/naptar.php ebben ez a kód van: if(!isset($_GET['date'])){ //hónap amit lekérdezünk $time=time(); // ha nincs megadva hónap, akkor a pillanatnyi dátum szerinti hónap lesz $datum=getdate($time); //felbontjuk a dátumot $datum_ev=$datum['year']; $datum_honap=$datum['mon']; $datum_nap=$datum['mday']; $datum_mainap=mktime(0,0,0,$datum_honap,$datum_nap,$datum_ev); //mai nap óra perc másodperc nullázva! } else { $time=$_GET['date']; //date paraméterben adjuk át melyik hónapot kérdezzük le $datum=getdate($time); //felbontjuk a dátumot $datum_ev=$datum['year']; $datum_honap=$datum['mon']; } És itt a kiegészített: http://webprog.eu/crm/naptar2.php A kód amivel ki van egészítve: $pontosido_most=time(); $pontosido=getdate($pontosido_most); $pontosido_ev=$pontosido['year']; $pontosido_honap=$pontosido['mon']; $pontosido_nap=$pontosido['mday']; if(!isset($_GET['date'])){ //hónap amit lekérdezünk $time=time(); // ha nincs megadva hónap, akkor a pillanatnyi dátum szerinti hónap lesz $datum=getdate($time); //felbontjuk a dátumot $datum_ev=$datum['year']; $datum_honap=$datum['mon']; $datum_nap=$datum['mday']; $datum_mainap=mktime(0,0,0,$datum_honap,$datum_nap,$datum_ev); //mai nap óra perc másodperc nullázva! } else { $time=$_GET['date']; //date paraméterben adjuk át melyik hónapot kérdezzük le $datum=getdate($time); //felbontjuk a dátumot $datum_ev=$datum['year']; $datum_honap=$datum['mon']; if( $pontosido_ev = $datum_ev AND $pontosido_honap = $datum_honap ){ $datum_nap=$pontosido_nap; $datum_mainap=mktime(0,0,0,$datum_honap,$datum_nap,$datum_ev); }else{ $datum_nap=$datum['mday']; } } Igazából fogalmam sincs miért nem mûködik...
payskin Posted September 2, 2010 Posted September 2, 2010 Azt nem tudom, mit csinál rosszul. Amit csinál, abból az jön le nekem, hogy emberünk nem egészen van tisztában a PHP dátumkezelő függvényeivel. 1. elrakja a mai dátumot másodpercben 2. visszaalakítja dátummá asszoc tömbbe 3. szétpakolja az asszoc tömböt 4. csinál belőlük másodpercet nullázott idővel Mondjuk a mktime(0,0,0, date('m'), date('d'), date('Y')) vagy a strtotime(date('Y-m-d')) pont ezt tudja, egy sorban. Holnap (ja, az már ma van) ránézek tüzetesebben.
Pjotr Posted September 2, 2010 Posted September 2, 2010 @Kiskalóz Azt mondod, hogy a $_GET['date']-ben a hónapot adod át, de azt meg nem adhatod oda a getdate()-nek, timestamp-et vár. A második if feltételnél értékadás van, nem egyenlőségvizsgálat. A második if-else-nél nem kellene lennie az else ágban egy mktime()-nak? Csak tippelem: if (!isset($_GET['date'])) $datum_mainap = time(); //TIMESTAMP else { $pontosido = getdate(); //ASSOCIATIVE_ARRAY $datum = getdate($_GET['date']); //?!?!?!?!?!?!?!?!?!?!?!?! mi is jön át? | ASSOCIATIVE_ARRAY if ($pontosido['year'] == $datum['year'] && $pontosido['mon'] == $datum['mon']) $d = $pontosido['mday']; else $d = $datum['mday']; $datum_mainap = mktime(0, 0, 0, $datum_honap, $d, $datum_ev); //TIMESTAMP }
Kiskalóz Posted September 2, 2010 Posted September 2, 2010 @Pjotr: A második pontban volt a hiba.. @Balázs: Kicsit szedett-vedett kód.. majd letisztázom... Ha érdekel "elrettentő" példának felrakom Köszönöm!
payskin Posted September 2, 2010 Posted September 2, 2010 Annyira nem fontos. Azért vagyok csak ilyen "okos", mert mostanában futószalagon gyártom a cég forgalmának különböző időszakait elemző PHP programokat, így dátumfüggvényekkel kelek-fekszem. Egyébként az if-ben értékadás az egyik legalattomosabb hiba, mert simán létrejön elgépeléssel is, szintaktikailag nem hibás, átfut rajta a szem. Én is utálom.
bshbshbsh Posted September 6, 2010 Posted September 6, 2010 Sziasztok. fopennel ugye lehet ellenõrizni, hogy egy adott html állomány létezik e, vagy sem. Ez eddig rendben is van, de nem lehet a html forrását egy változóba belerakni? A lényeg az lenne, hogy egy adott karakterláncot tudjak keresni a html -ben.
KGigi Posted September 6, 2010 Posted September 6, 2010 Egy egész oldalt egyetlen változóba? Az elég meredek lenne. Tömbbe esetleg, de az is pillanatok alatt felzabálná a memóriát. Egy-egy oldal persze nem, de egy kiszolgáló sok felhasználóval tuti elhasal alatta. A legnagyobb probléma nem is ez, hanem a mintaillesztés egy ekkora szövegre.
payskin Posted September 7, 2010 Posted September 7, 2010 Én viszont nem látom a problémát. Az fopen, gyanítom, nem értelmezi, csak letölti a natúr HTML forrást. Mekkora weboldalnak kell lenni, hogy ez problémát okozzon memóriailag? Az index fõoldala, ami extrém eset, 160K, ez még bõven belül van az általában 1-2 megás PHP-memóriahatáron, és simán lehet rajta mintát is illeszteni, szerintem meg sem kottyan a szervernek. Gondolom, nem arról van szó, hogy nagy forgalmú szerveren minden felhasználó szabadon kereshet az index aktuális fõoldalán... Egyébként az fopennél általában nincs engedélyezve ez a lehetõség, helyette a cURL parancsokat szokták ajánlani.
KGigi Posted September 7, 2010 Posted September 7, 2010 Én ezt értem, de saját felhasználásra vannak ezerszer egyszerûbb és hatékonyabb lehetõségek, mint egy script nyelv, amihez ráadásul szerver kell.
KGigi Posted September 9, 2010 Posted September 9, 2010 Pl. C#. De ilyen egyszerű feladatokra akár PowerShell. Bár az script nyelv.
payskin Posted September 9, 2010 Posted September 9, 2010 Jó, és ha az ember PHP-ban tud programozni? Én például biztos nem állnék most neki C#-ot tanulni meg szívni a Visual Studióval ahelyett, hogy egy óra alatt összedobnám ezt PHP-ban.
KGigi Posted September 10, 2010 Posted September 10, 2010 Jó, én alapvetõen hatékonyságmániás vagyok. Igyekszem a legmegfelelõbb eszközt kiválasztani, és azt is a lehetõ legjobban kihasználni. Így pl. hiába nem számít sokat, elvbõl nem olvasok be komplett fájlokat a memóriába. Ha ehhez újat kell tanulnom, annál jobb. Bocs, hogy beleszóltam.
payskin Posted September 10, 2010 Posted September 10, 2010 Nem azzal van a bajom, hogy beleszóltál, hanem hogy negatívan állítod be a módszert, amit használni próbálna, kifejezetten azt sugallva, hogy ez butaság és valószínûleg nem is fog mûködni. És itt megállsz. Lehet, hogy volna más megoldás, de nem írsz róla, nem mutatod meg neki, hol keresse, hogyan kéne csinálnia. Ezzel nem segítesz neki.
KGigi Posted September 10, 2010 Posted September 10, 2010 Először kíváncsi lettem volna, hogy pontosan mit is akar. Ha páran használják, akkor semmi gond, ezt írtam is. Ha viszont sokan, akkor már több felé lehet elindulni. Így nulla info nélkül elég nehéz. Az, hogy én hogyan csinálnám, nagyban függ a mintától. Mit keresünk? Szöveget, tageket, JS-t? Egyáltalán nem mindegy. A mintaillesztés tud baromi gyors és fájdalmasan lassú is lenni. Csak azon múlik, hogy jó módszert választunk-e.
payskin Posted September 10, 2010 Posted September 10, 2010 Ha ezt így mind leírtad volna a válaszban, akár kérdés formájában, hogy mit is próbál csinálni, szavam nem lett volna...
bshbshbsh Posted September 11, 2010 Posted September 11, 2010 file_get_contentssel megvan a forrása, ezt kiírom egy txt-be, majd visszaolvasom és abban keresem a szöveget. Amúgy szöveget szerettem volna.
KGigi Posted September 11, 2010 Posted September 11, 2010 Gyorsan megcáfoltál. De a szöveg milyen? Például egy bekezdés része? Mert akkor pl. elég az XML struktúra <p> részeiben keresni. És saját felhasználásra lesz, vagy sok felhasználónak?
Kiskalóz Posted September 17, 2010 Posted September 17, 2010 Urak! Olyan kérdésem lenne, hogy volna egy kód ami egy adatbázis alapján készít egy grafikont. Viszont azt szerettem volna megoldani, hogy ez az oldal x másodpercenként frissüljön. De nem tudom beilleszteni a kódba, mert mindig hibát ír ki és nem jeleníti meg a grafikont. Íme a php: (ebbõl kivettem az adatbázis lekérdezgetést meg ilyeneket..) <?php header("Content-type: image/gif"); $width=700; //Szélesség $height=400; //Magasság $kep = imagecreate( $width, $height ); $hatter = imagecolorallocate($kep, 255,255,255); //Háttér szine $piros = imagecolorallocate($kep, 255,0,0 ); $idov = imagecolorallocate($kep, 85,82,85 ); //Idõvonal $kiosztas = imagecolorallocate($kep, 214,214,214 ); //Kiosztás //Idõvonal függõleges imageline($kep, 2, 0, 2, $height, $idov); //Idõvonal vizsintes imageline($kep, 2,$height-1,$width, $height-1, $idov); //Függõleges kiosztás //Fele imageline($kep, 2, $height/2, $width, $height/2, $kiosztas); //Háromnegyede imageline($kep, 2, $height/4, $width, $height/4, $kiosztas); //negyed imageline($kep, 2, $height-($height/4), $width, $height-($height/4), $kiosztas); imagegif($kep); imagedestroy($kep); ?> És az amivel az oldalt kívántam frissíteni: <head> <META http-equiv="refresh" content="59;URL=http://www.xyz.hu/xyz.php"> </head>
Pjotr Posted September 17, 2010 Posted September 17, 2010 header("refresh:2;url=/a_fajl_neve_eleresi_uttal.php"); 2 másodperc múlva átirányítódik a megadott fájlra.
Kiskalóz Posted September 20, 2010 Posted September 20, 2010 Ismét egy kérdésem lenne Van egy mappa, benne egy .htaccess és egy .htpasswd fájl, hogy illetéktelenek, ne férhessenek hozzá. Hogyan tudok egy php lefuttatni ebben a mappában (cron job), úgy hogy a php magától megadja a felhasználónevet jelszót???
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now