Egy igen komoly problemaba utkoztem. Oracle-ben BLOB-kent tarolom a kepeket.
A kiolvasas azonban vmi miatt nem ugy mux, ahogyan azt en szeretnem.
Odaig mar eljutottam, hogy a lob-okhoz az OCINewDescriptor-ral descriptort kell definialni. Azonban a manualban nem igazan van komplex pelda a feladat megoldasara.
Kerem, hogy akinek modjaban all, az kuldjon egy peldaprogramot ami tartalmazza az adatbazislekerdezestol kezdodoen a BLOB file-ba vagy kepernyore valo kirakasat.
Tudom, hogy char típusú a mező, le is írtam, hogy miért kell, hogy olyan legyen. És épp ezért hiába rendeztetem év és szám szerint IS, rendezi, de szám szerint csak így, char típus alapján.
Természetesen átnéztem a sort függvényeket, de sajna a legtöbbje (pl. a natsort, ami nekem pont jó lenne) csak PHP 4.0-tól működik, és a többdimenziós tömb rendezésére egy altömb egyik eleme alapján - erre nem találtam példát.
sleep() is useful as a hack delay. For example, in a login screen. Use
sleep() when you have determined the username/password combination entered
in a form is invalid. A sleep of a second is almost not noticable to the
user, but frustrates a cracker trying to use brute force methods to gain
access to your restricted area. Make sure you use sleep() before
outputting any HTML, otherwise you may tip the cracker that the login
failed before you enter sleep().
ha az adatbazisodbol igy jon: 1 10 11 .. 2 akkor ott baj van, nem szam tipusu a mezo hanem text, azaz char. Ha pedig evszam es szamozas szerint akarod adatbazisbol lekerdezni akkor tedd meg az orderhez a szamozast is, azaz: order by EVSZAM DESC ,SZAMOZAS. DESC csak azert hogy a legnagyobb legyen legelol :)
Amugy a tobok sorrendbe rendezesehez nezd meg a kulonbozo sort fogvenyeket: www.php.net/sort
Egy igen kezdő fordul most igen primitív problémájával a nagyérdeműhöz.
Van egy tömböm (legyen $sor), amit ciklus állít elő, vagyis minden egyes alkalommal új értékeket kap. A tömbben egy azonosító szám, egy évszám, és egy karakteres számozási adat van (ez utóbbi legyen $szam). Azért karakteres, mert másképp nem lehetne bevinni pl. azt, hogy 10-11. szám.
Egy HTML oldalban kell megjelenítenem a $sor elemeit, persze annyiszor, ahányszor végigfut a ciklus. Eddig oké.
De rendeznem kell őket évszám szerint. Mivel adatbázisból kapom a tömb elemeit, és eleve rendeztettem a lekérdezésnél évszám szerint, azt is meg tudtam csinálni a php-ban, hogy figyelje, mikor változik az évszám, és akkor kezdjen új sort a HTML-táblázatban, addig pedig csak egyszer jelenítse meg az évszámot, a többinél csak a $szam értékét.
Na de az azonos évszámhoz tartozó soron belül még rendeznem kellene számozás szerint. Csakhogy ez nem megy, hiába rendezve kérdezem le az adatbázisból, mert a sorrend így jön:
1. sz.
10. sz.
11-12. sz.
2. sz.
stb.
Arra gondoltam, hogy ha már úgyis egy if-szerkezettel figyelem, hogy meddig jönnek a ciklusban azok a sorok, amik egy évszámhoz tartoznak, addig minden egyes sor $szam eleméből csinálok egy integer tipusú $szamint-et és ezt is beleteszem a $sor tömbjébe, aztán összegyűjtöm a ciklus által létrehozott $sorokat egy $gyujto tömben, így kapok egy többdimenziós tömböt, amit a végén rendeztetek a $szamint alapján.
a./ lehet-e ilyet csinálni és hogyan?
b./ ha igen, és már rendeztettem a $gyujto tömböt, hogyan nyerem ki belőle a $sor-ok $szam elemeit, hogy megjeleníthessem?
Ja, és a lényeg! Mindezt PHP 3-ban!
www.hotscripts.com talan akkor a leginkabb neked valo, valamint az emlitett nyelvek honlapjanak es linkjeinek nezegetese, es a kereso motorok hasznalata:)
Van egy kis problémám... miért van az, hogy a legtöbb esetben egy bizonyos szkript hibamentesen lefut, de néhányszor nem?
Történik ugyanis, hogy a honlapon lehet mindenféle termékeket rendelni, a juzer kitölti a regisztrációs kérdőívet, majd kap egy emailt, hogy:
Tisztelt X Y,
az Ön azonosítója ennyimegennyi, jelszava ezmegez.
Kérjük őrizze meg ezt az emailt!
Eddig 500 ügyfél regisztrált, minden klassz, de van kb 5 ember, aki "üres" emailt kapott, tehát nem volt ott az azonosítója meg a jelszava.
(természetesen a kódban
"Tisztelt $veznev $kernev!
Az Ön azonosítója $userID, stb..."
alakú dolog szerepel)
Szóval szerintetek mi lehet az oka, hogy az esetek kb. 1%-ában azok a változók nem kapnak értéket?
a kukin nem erhetoek el minden site-rol csak arrol ahonnan erkeztek, nem is tudok olyan bongeszot amibe ilyesmit lehetne alliani, max egyes IE-be van ilyen bug:), amugy a sajat kukijaid lekeresere jo ez bar ez jobb lenne:
foreach($HTTP_COOKIE_VARS as $nev => $ertek)
{
print "nev=$nev | ertek=$ertek\n";
}
Ki szeretnem listazni a browser-ben tarolt osszes cookie-t, de vmiert nem sikerul, pedig a browser ugy van beallitva, hogy minden cookie minden site-rol elerheto.
print "Indulas
";
foreach($HTTP_COOKIE_VARS as $ck_nev) {
print "Cookie: ".$ck_nev." ";
}
print " Vege ";
Mi ezzel a gond?
Egy ilyen tombon nem igy kell vegigmenni?
Vegyuk azt amikor van 1 form es sok kep, input type image-kent:)
(form action=kep.php method=post)
(input type=image name=kep[1] src='kicsi_1.jpg')
(input type=image name=kep[2] src='kicsi_2.jpg')
(/form)
-=> php-ba:
list($kep_szama,$kattintas_pozicioi) = each($kep);
//$kep_szama lesz a kep[kep_szama] a html-bol.
kerekzaroljelek az en fenti html kodomba kacsasorosre cserelendo:)
Már-már az az ördögi gondolat kezd megfoganni a fejemben, hogy esetleg tévedsz, mert bárhogy próbálom kibogozni sűrített válaszodból a pontos megvalósítás módját, egyik se működik!!! (A javascript-eset leszámítva, amit szeretnék mellőzni.)
De bízom benne, hogy tévedek.
Annak dacára, hogy még elvileg sem értem, hogy az "id", ami az oldal egyik pontjának ad egy címkét, hogyan kerülhetne be abba az adatcsomagba, amit a form továbbít. Hiszen ha én a képre kattintok, attól még az annak a környékén megadott "id" cseppet se fogja érdekelni a böngészőt (hiszen csak akkor érdekelné, ha egy másik cím hivatkozna az id-re), nemhogy még szíveskedjen a form-ban továbbítani. Úgyhogy ezt nagyon nem értem; sajnos nem látom át a dolog szintaxisát, noha nagy elánnal kutattam, nézegettem a kódokat és próbálkoztam.
Néztem a www.php.net oldalait, ott szinte semmi konkrétat nem találtam, aztán néztem a következőket:
http://www.w3.org/TR/html4/struct/global.html#h-7.5.2
http://www.w3.org/TR/html4/interact/forms.html
és mindent, amire ezek hivatkoztak és érdekes lehet.
Úgyhogy légy szíves,
- vagy adj meg olyan oldalakat, ahol ez az id-es dolog úgy le van írva, hogy tényleg kiderül belőle ez a használata, amire nekem szükségem volna,
- vagy pedig arra kérlek, hogy írd le a konkrét, kifejtett kódot, feltüntetve azt is, hol írjak számot és hol változónevet (mert ez az eddigiekben eléggé összemosódott – OK, aki már eleve tudja, hogy értse, az biztos érti, de annak meg minek).
Ne haragudj az értetlenségemért, de úgy érzem, mindennek utánaolvastam és utánagondoltam, és mindent kipróbáltam, és nem tudok önerőmből ennél tovább jutni.
Köszi szépen, remélem, sikerül megvalósítani előbb-utóbb.
Egyébként azért hajlok általánosságban véve a php-ra, mert az szerver-oldali, és biztos nem fognak hátrányba kerülni azok, akiknél nincs vagy ki van kapcsolva a JavaScript.
> De ez mind bennevan a html manual-ba es a php doksiba is.
Ha úgy érted, hogy az interneten, akkor kérlek szépen, írd meg a címet, ahol valóban megvan, és nem csak érintőlegesen! (Én ugyanis átnéztem kb. hat-nyolc doksit a vincseszteremről és online, de nem kaptam választ erre, csak érintőlegesen volt szó egy-két helyen az input type-ról. Sajnos nem ismerek "tuti helyeket" a neten. – Mehet az e-mailemre is, ahogy gondolod.)
erre a megoldasra felesleges az input type image es a form is. Eleg 1 onClick="javascript:document.location.href=sajat.php?id=2" a megfelelo ertekekkel. Ha mindenkeppen form-ot akarsz mondjuk a post miatt akkor adj meg 1 hidden tag-et az id-vel vagy legyen name=nev[id] ahol az id az 1 szam es ezt vizslaglod,mert az input image az nem hordoz value-t hanem a kattintas x,y pontjaval ter vissza. De ez mind bennevan a html manual-ba es a php doksiba is.
Ööö, most nincs nálam a php-s puskám, de emlékeim szerint a dolog a következőképp működik.
name="nev" -ből lesz $name="nev"
value="2" -ből lesz $value=2
Olyan form-ot szeretnék csinálni, hogy van egy táblázat, benne képek, és ha valamelyik képre kattintok, akkor meghívja ugyanazt az oldalt, de benne a táblázat helyett a kiválasztott kép jelenik meg. Úgy oldanám meg, hogy az oldal továbbít újratöltésre önmagának egy értéket, ami ha 0-nál nagyobb, akkor az ilyen számú kép jelenik meg, ha pedig nincs ilyen számú kép, nincs értéke a változónak vagy 0 az értéke, akkor maga a táblázat jelenik meg.
Erre talán a <INPUT TYPE="IMAGE" src="kep.gif" name="nev" value="szam"> lehetne alkalmas. Csak az a probléma, hogy a $nev változót ha a hívott oldalon kiolvasom (én ugyanezen az oldalon olvasnám ki, újrahívva), akkor mindig üres: nem kapja meg azt az értéket, amit az oldal előző hívásakor továbbított neki a form a value-val. Lehet egyáltalán a type="image"-nél value-t használni? Vagy netán a name-ben tárolt string itt nem is változónév lesz, hanem egy másik változó értéke, attól függően, hogy melyik képre kattintottam? De milyen változóé?
Szóval: hogy lehet kinyerni a form elküldése után, az oldal újrahívásakor a type="image"-nél megadott adatot? (Megjegyzem, a módszer akkor sem működik, ha másik oldalt adok meg a formban a továbbítás célpontjának; másfelől pedig minden másfajta form-os adattovábbítás jól működik a honlapon.)
Köszönöm a választ előre is! (Olyan ötleteket is elfogadok, ami nem az image típust használja, ha megvalósítható.)
hat ha nem memoriaba, akkor a file tarolasnal gyorsabbat nem talalsz. Ha egy elkeszitett php file-t csinalsz amit mar csak include-olni kell, meg parsolni sem, akkor meggyorsabb:) bar kis adatnal maximum milimilisecundumokban merheto :)
Az a problémám, hogy egy változót szeretnék a szerveroldalon tárolni, úgy, hogy minden szerveren futó script hozzáférhessen, nem session változóra gondolok, mert az egyrészt browserhez van rendelve másrészt pedig alapesetben fileban tárolódik aminek lassu az elérése, azért fontos a sebesség, mert cachenek használnám. És ehhez a cachehez minden php script hozzáférne. Linux alatt megoldás lenne a shared mem függvények, de ez oprendszer specifikus, de valami hasonlóra lenne szükségem. Olvastam doksit, de semmi használhatót nem találtam. Valakinek ötlete?
Mint (nálam jobban is) tudjátok, adva van a header, amit php alól lehet módosítani, és adva van a <head>, amit hmtl alól (és php alól). A zárójeles megjegyzésemben csak azt szerettem volna felvetni, hogy a javasolt meta utasításokat vagy az egyikbe, vagy a másikba érdemes rakni, de bizonyára nem mindkettőbe.
Abban viszont teljesen igazatok van, hogy ennek nem volt értelme, mert mindketten a header-t említettétek, a head-et csak én kevertem bele -- részben a név hasonlósága miatt, részben azért, mert minden más "meta" tag oda szokott kerülni. De közben rájöttem, hogy nem erre gondoltatok. Elnézést!
Egyébként továbbra sem tudtam ezt megoldani, ill. egyelőre azt választottam, hogy az adott oldalra (ill. oldalakra, mert van egy másik is) vonatkozóan lemondok a FreeFind használatáról. Továbbra is várom az ötleteket...
van olyan hogy php-cgi ezt vagy csomagbol, vagy ugy forditod a php-t. Es ekkor kapsz 1 binaris php progit, ami alapban a mar feltett php ini-jet fogja hasznalni de ez a -c kapcsoloval megadhato kulon is. Tehat ez az webszerveres php-tol fuggetlen cucc, igy kulon kell forgatni, vagy csomagbol felrakni.