Archívum - 2011 - Fórum téma
Firefox (v7) elfelejti az IFRAME-be helyezett file mező mappáját
Van egy JS scriptem, ami gombnyomásra előhoz egy IFRAME-es ablakot, open/write/close kombinációval, csinál benne egy formot, benne egy input[type=file] mezővel.
A kiválasztott fájlt rendesen fel is tudom tölteni a szerverre, de FF alatt az oldal újratöltése után, minden egyes alkalommal újra meg kell keresnem a mappát. (a hiba Opera és Chrome alatt nem jelentkezik). Általában a WinXP asztala a kezdőmappa, de néha bedob más régebbi mappákat is.
IFRAME és JS nélkül egy HTML-ben vizsgálva a form-ot nincs ilyen gond.
Az IFRAME-be írt kód a következő: (style és hasonló részeket eltávolítottam)A "myID" JS változó értéke képenként változik, bár html-ben vizsgálva a "name" mező változtatása nem okozott gondot.
Lehetséges, hogy ez egy FF+IFRAME bug?
■ A kiválasztott fájlt rendesen fel is tudom tölteni a szerverre, de FF alatt az oldal újratöltése után, minden egyes alkalommal újra meg kell keresnem a mappát. (a hiba Opera és Chrome alatt nem jelentkezik). Általában a WinXP asztala a kezdőmappa, de néha bedob más régebbi mappákat is.
IFRAME és JS nélkül egy HTML-ben vizsgálva a form-ot nincs ilyen gond.
Az IFRAME-be írt kód a következő: (style és hasonló részeket eltávolítottam)
myDoc.open();
myDoc.write("<html><body>");
myDoc.write('<form method="post" action="'+this.uri+'?id='+this.myID+'" enctype="multipart/form-data">');
myDoc.write('<input type="hidden" name="APC_UPLOAD_PROGRESS" value="'+this.myID+'" />');
myDoc.write('<input name="uploadImage" type="file"/>');
myDoc.write('</form>');
myDoc.write("</body></html>");
myDoc.close();
Lehetséges, hogy ez egy FF+IFRAME bug?
jQuery + PHP real-time ellenőrzés
Üdv,
Egy korábbi bejegyzésem folytatásaként (http://weblabor.hu/forumok/temak/110205) merült fel probléma. Szeretném elérni, hogy a regisztrációra szolgáló űrlap jelezze nekem, ha a beírt e-mail cím már szerepelne az adatbázisban. Ezt úgy próbáltam megoldani, hogy az e-mail bevitelére szolgáló e-mail mező mellé egy divet helyeztem el, s mikor user begépeli e-mail címét, ajax POST-al egy fájl megkapja a beírt értéket. egy php fájl ezzel az értékkel LIKE -os sql-lekérést hajt végre, s attól függően van-e eredmény, egy bizonyos értéket ad vissza a regelős űrlapot tartalmazó fájlomnak.
Egy korábbi bejegyzésem folytatásaként (http://weblabor.hu/forumok/temak/110205) merült fel probléma. Szeretném elérni, hogy a regisztrációra szolgáló űrlap jelezze nekem, ha a beírt e-mail cím már szerepelne az adatbázisban. Ezt úgy próbáltam megoldani, hogy az e-mail bevitelére szolgáló e-mail mező mellé egy divet helyeztem el, s mikor user begépeli e-mail címét, ajax POST-al egy fájl megkapja a beírt értéket. egy php fájl ezzel az értékkel LIKE -os sql-lekérést hajt végre, s attól függően van-e eredmény, egy bizonyos értéket ad vissza a regelős űrlapot tartalmazó fájlomnak.
október 31
Adatbázis szerkezet kialalkítása - adatok különválasztása?
Sziasztok,
pár adatbázis szervezési-tervezési kérdéssel/elképzeléssel kapcsolatban kérném a véleményeteket, tanácsotokat:
1. Adott két (közel) azonos szerkezetű adattábla, az egyik jellemzően előre feltöltött adatokat tartalmaz (pl. irányítószámokat, városokat, közterületneveket, stb.) legyen statikus, a másik hasonló adatokat, de azokat a felhasználó tölti fel (pl. külföldi városok, közterületnevek, stb.) legyen dinamikus. Amennyiben feltételezzük hogy a feltöltendő adatok csak INSERT művelettel kerülnek a táblákba, és minden adatsor csak egyszer szerepelhet, van-e létjogosultsága az ilyen jellegű statikus-dinamikus adatok fizikai szétválasztásnak.
2. Szükséges-e, van-e létjogosultsága egy szülő-gyermek kapcsolatban álló táblacsoport pl. ország ID, hatályos tól-ig) -> országjellemzők (szülő_ID, ID, ISO kód, elnevezés, hatályos tól-ig) esetén az egyelemű szülő tábla létrehozásának. Gyakorlati szerepe akkor lenne a dolognak, ha a fenti példánál maradva az adott ország megszűnik létezni, de pl. ha csak a neve változik, csak az országjellemzők tábla kap egy plusz sort.
3. Mennyire javasolt, vagy életszerű az alkalmazás hasznos adatainak és a felhasználói adatoknak a külön adatbázisban való tárolása (akár külön szerveren is)?
Előre is köszönöm az észrevételeket!
■ pár adatbázis szervezési-tervezési kérdéssel/elképzeléssel kapcsolatban kérném a véleményeteket, tanácsotokat:
1. Adott két (közel) azonos szerkezetű adattábla, az egyik jellemzően előre feltöltött adatokat tartalmaz (pl. irányítószámokat, városokat, közterületneveket, stb.) legyen statikus, a másik hasonló adatokat, de azokat a felhasználó tölti fel (pl. külföldi városok, közterületnevek, stb.) legyen dinamikus. Amennyiben feltételezzük hogy a feltöltendő adatok csak INSERT művelettel kerülnek a táblákba, és minden adatsor csak egyszer szerepelhet, van-e létjogosultsága az ilyen jellegű statikus-dinamikus adatok fizikai szétválasztásnak.
2. Szükséges-e, van-e létjogosultsága egy szülő-gyermek kapcsolatban álló táblacsoport pl. ország ID, hatályos tól-ig) -> országjellemzők (szülő_ID, ID, ISO kód, elnevezés, hatályos tól-ig) esetén az egyelemű szülő tábla létrehozásának. Gyakorlati szerepe akkor lenne a dolognak, ha a fenti példánál maradva az adott ország megszűnik létezni, de pl. ha csak a neve változik, csak az országjellemzők tábla kap egy plusz sort.
3. Mennyire javasolt, vagy életszerű az alkalmazás hasznos adatainak és a felhasználói adatoknak a külön adatbázisban való tárolása (akár külön szerveren is)?
Előre is köszönöm az észrevételeket!
Kérdések az javascript Object-el kapcsolatban,
Ha az alapobjektumot kibővítem egy új metódussal:Később ebből fakadóan az alma metódus minden helyen megjelenik, és ez sok problémát okoz. Például:A length 3-at ad vissza, viszont a ciklus 4 elemet jelenít meg, az utolsó az alma függvény.
Tehát tömb objektumoknál nem is okoz akkor gondot, mert a length-ből tudom meddig van valós tömb adat.
Ahol már nagyobb gond ott van ahol property szerűen vannak adatok egy objektumban.Itt ugyanis a length már nem értelmezett.
Persze lehet vizsgálni xobject[i]-t typeof-al, és az első function típusú elemnél kilépni a ciklusból, azonban ez nem tűnik szépnek. Illetve mi van, ha az objetum saját metódusain szeretnék iterálni, de az ősökén nem.
Arra lennék kíváncsi, hogy ki lehet e bővíteni az alapobjektumot úgy, hogy ez viselkedés ne jelentkezzen. Ahogy mondjuk a a toStinget,a length-jét sem kezeli ilyen módon. Vagy a programozó által definiált metódusok esetében ez elkerülhetetlen? Mint fentebb írtam typeof-al megoldom, csak biztosan van szebb módja is.
■
Object.prototype.alma = function() { };
var xarray=new Array('a','n','s');
console.log(xarray.length);
for(i in xarray)
console.log( typeof(xarray[i]) + ' ' +i + '=' + xarray[i]);
Tehát tömb objektumoknál nem is okoz akkor gondot, mert a length-ből tudom meddig van valós tömb adat.
Ahol már nagyobb gond ott van ahol property szerűen vannak adatok egy objektumban.
var xobject={'prop1':'a','prop2':123};
for(i in xobject)
console.log( typeof(xobject[i]) + ' ' +i + '=' + xobject[i]);
Persze lehet vizsgálni xobject[i]-t typeof-al, és az első function típusú elemnél kilépni a ciklusból, azonban ez nem tűnik szépnek. Illetve mi van, ha az objetum saját metódusain szeretnék iterálni, de az ősökén nem.
Arra lennék kíváncsi, hogy ki lehet e bővíteni az alapobjektumot úgy, hogy ez viselkedés ne jelentkezzen. Ahogy mondjuk a a toStinget,a length-jét sem kezeli ilyen módon. Vagy a programozó által definiált metódusok esetében ez elkerülhetetlen? Mint fentebb írtam typeof-al megoldom, csak biztosan van szebb módja is.
Php - Változó üres marad for ciklusban (megoldva)
Van ez a forrásom:És az összes $sor[$sorszám] változó üres lesz/marad, kivéve az elsőt, mert az az állomány címe. Mitől?
Nem az állományt adja meg így, hanem csak a címe lesz a változó tartalma.
■ $jelzők = "jelzok.txt";
if (file_exists($jelzők)) {
$sor = explode ("\n", $jelzők);
for ($sorszám = 0; $sorszám < 13; $sorszám++) {
if (file_exists($sor[$sorszám] . "favicon.ico"))
$icon = $sor[$sorszám] . "favicon.ico";
else
$icon = "http://morocztamas.realgameguides.com/oldalgazda/img/konyvjelzok.png";
$contentmain = $contentmain . "<a href='" . $sor[$sorszám] . "'><img src='" . $icon . "' alt='" . $sor[$sorszám] . "' /></a>\n";
}
} else {
$contentmain = "Hiba lépett fel a könyvjelzők beolvasása során.";
}
Nem az állományt adja meg így, hanem csak a címe lesz a változó tartalma.
október 30
Másodpercben számolás (megoldva)
Hogyan tudom az megcsinálni, hogy egy adott időpontot (óra, perc és másodperc) másodpecekké váltson át?A fenti forrásban mégis nulla a date-ek értéke.
■ $bizt = '30'; // űrlapból felvéve
$idő = date(i * 60 + s); // amikor még felvettük az űrlapból az adatokat, tehát korábbi, mint a lenti
$hátra = $bizt - (date(i * 60 + s) - $idő);
date('i') * 60 + date('s')
október 29
Twitter és Yamm pofil végleges törlése
Még régebben regisztráltam a Yamm-ra és a Twitter-re és miután már szomomra, fölöslegesség váltak a profilok, le is töröltem őket. Abban a tudatban is éltem hogy levagyok törölve, míg a mostani kedvesemmel egy pár nem lettünk, és gondoltam mindenhonnan letörölném magam interneten, így beírtam google-ba a nevemet és kiadta, hogy ezek az állítólagosan "megszüntetett" profilok még mindig fenn vannak és a képeimet is meg lehet nézni.
Mit tudok ilyenkor tenni, mert ha elfelejtett jelszóval próbálkozom és beírom emailt vagy felhasználónevet, azt írja ki nem találnak meg, sőt ha az oldalra továbbra kattintanék, akkor azt jelzi a böngésző hogy a kért oldal már megszűnt, nem található. Yamm-on kép és profilt is kimutat és Twitteren az az érdekes, hogy csak a képeimet mutatja ki, a Twitpic-en.
Nagyon nagyon nagyon kérlek, hogy aki tud bármiféle megoldást hogy hogyan tudom letöröltetni ezeket az írjon!! Akár fizetős megoldás is érdekelne!:( Eddig is nagyon idegesített, de kedvesem meg most végképp kiakadt. NAGYON NAGYON SZÉPEN KÉREM BÁRMI ÖTLETET IS DE SEGÍTSETEK!:( ELŐRE IS KÖSZÖNÖM!!!!
■ Mit tudok ilyenkor tenni, mert ha elfelejtett jelszóval próbálkozom és beírom emailt vagy felhasználónevet, azt írja ki nem találnak meg, sőt ha az oldalra továbbra kattintanék, akkor azt jelzi a böngésző hogy a kért oldal már megszűnt, nem található. Yamm-on kép és profilt is kimutat és Twitteren az az érdekes, hogy csak a képeimet mutatja ki, a Twitpic-en.
Nagyon nagyon nagyon kérlek, hogy aki tud bármiféle megoldást hogy hogyan tudom letöröltetni ezeket az írjon!! Akár fizetős megoldás is érdekelne!:( Eddig is nagyon idegesített, de kedvesem meg most végképp kiakadt. NAGYON NAGYON SZÉPEN KÉREM BÁRMI ÖTLETET IS DE SEGÍTSETEK!:( ELŐRE IS KÖSZÖNÖM!!!!
xls fájl generálása php-val
A feladat a következő lenne:
Van egy működő php-mysql alapú egyedi fejlesztésű adminisztrációs program, amely egy tárhelyen fut.
Emellett van egy számlázó program, amely egy pc-n fut.
A számlázó programba be lehet tölteni xls fájlokat, így lehet számlákat generálni.
Az adminisztrációs szoftvert valahogyan össze kellene kötni a számlázó programmal, méghozzá úgy, hogy az adminisztrációs szoftver tudjon generálni olyan xls fájlt, amelyet a számlázó program elfogad.
A számlázó program csak MS Excel 2003 vagy MS Excel 2007 programokban létrehozott fájlokat fogad el.
Kérdés:
Hogyan lehet php-val generálni olyan MS Excel 2003 vagy MS Excel 2007 kompatibilis xls kiterjesztésű fájlokat (nyilván ami tartalmazza a számlázáshoz szükséges adatokat, számokat, szövegeket)?
Megvalósítható-e egyáltalán?
Ha igen, mennyire nehéz feladat?
Eddig ezt találtam:
http://pear.php.net/manual/en/package.fileformats.spreadsheet-excel-writer.intro.php
■ Van egy működő php-mysql alapú egyedi fejlesztésű adminisztrációs program, amely egy tárhelyen fut.
Emellett van egy számlázó program, amely egy pc-n fut.
A számlázó programba be lehet tölteni xls fájlokat, így lehet számlákat generálni.
Az adminisztrációs szoftvert valahogyan össze kellene kötni a számlázó programmal, méghozzá úgy, hogy az adminisztrációs szoftver tudjon generálni olyan xls fájlt, amelyet a számlázó program elfogad.
A számlázó program csak MS Excel 2003 vagy MS Excel 2007 programokban létrehozott fájlokat fogad el.
Kérdés:
Hogyan lehet php-val generálni olyan MS Excel 2003 vagy MS Excel 2007 kompatibilis xls kiterjesztésű fájlokat (nyilván ami tartalmazza a számlázáshoz szükséges adatokat, számokat, szövegeket)?
Megvalósítható-e egyáltalán?
Ha igen, mennyire nehéz feladat?
Eddig ezt találtam:
http://pear.php.net/manual/en/package.fileformats.spreadsheet-excel-writer.intro.php
október 28
Ajax & Post biztosítás
Üdv mindenkinek.
Egy olyan elméleti problémán akadtam meg, hogy hogyan tudnám megvédeni az Ajax lekérések fájljait és a Post-olt adatokat feldolgozó fájlokat attól hogy bárki, bármikor megnyithassa a "feldolgozó" fájlokat.
Adott egy oldal - urlap.php - amin van egy űrlap, ami adatokat küld post metódussal a feldolgoz.php-nek.
Hogy tudom a legbiztosabban leellenőrizni hogy a feldolgoz.php mindenképp az urlap.php-től kapott adatot?
Vagy a másik eset, mikor az oldal - nyito.php - időzítve elindít egy ajax lekérést a mikor.php-felé.
Semmit nem küld, csak megjeleníti a mikor.php tartalmát.
De ezt csak akkor kellene tennie ha ajax-al, a nyito.php-ről és annak a domainjéről lett megnyitva.
A Referer kilőve, űrlapnál az isset és a formátumellenőrzés az alap, ajax-nál a X-Requested-With header nem mondható 100%-os biztosnak, a defined-et nem mondanám elegánsnak - bár nem tudom.
Elgondolkodtam hogy esetleg Session-al valahogy meg lehetne ezt oldani...
Betöltéskor megnézem hogy létezik-e az adott session.
Ha nincs, létrehozom és eltárolom benne az akkori dátumot/időt.
Ha van, megnézem hogy a tárolt adat régebbi-e mint pl. 3 perc.
Ha nem régebbi, akkor minden rendben.
Ha viszont régebbi, akkor nem küldhetek 404-et vagy hibaoldalt/hibaüzenetet mert lehet hogy egy űrlapon eltölt a felhasználó 3 percnél többet... sőt.
Tehát szerintem ez az ötletem sem a legjobb.
Lehet egyáltalán ilyen "csak úgy" lekéréstől valahogy védekezni?
Előre is köszönöm
■ Egy olyan elméleti problémán akadtam meg, hogy hogyan tudnám megvédeni az Ajax lekérések fájljait és a Post-olt adatokat feldolgozó fájlokat attól hogy bárki, bármikor megnyithassa a "feldolgozó" fájlokat.
Adott egy oldal - urlap.php - amin van egy űrlap, ami adatokat küld post metódussal a feldolgoz.php-nek.
Hogy tudom a legbiztosabban leellenőrizni hogy a feldolgoz.php mindenképp az urlap.php-től kapott adatot?
Vagy a másik eset, mikor az oldal - nyito.php - időzítve elindít egy ajax lekérést a mikor.php-felé.
Semmit nem küld, csak megjeleníti a mikor.php tartalmát.
De ezt csak akkor kellene tennie ha ajax-al, a nyito.php-ről és annak a domainjéről lett megnyitva.
A Referer kilőve, űrlapnál az isset és a formátumellenőrzés az alap, ajax-nál a X-Requested-With header nem mondható 100%-os biztosnak, a defined-et nem mondanám elegánsnak - bár nem tudom.
Elgondolkodtam hogy esetleg Session-al valahogy meg lehetne ezt oldani...
Betöltéskor megnézem hogy létezik-e az adott session.
Ha nincs, létrehozom és eltárolom benne az akkori dátumot/időt.
Ha van, megnézem hogy a tárolt adat régebbi-e mint pl. 3 perc.
Ha nem régebbi, akkor minden rendben.
Ha viszont régebbi, akkor nem küldhetek 404-et vagy hibaoldalt/hibaüzenetet mert lehet hogy egy űrlapon eltölt a felhasználó 3 percnél többet... sőt.
Tehát szerintem ez az ötletem sem a legjobb.
Lehet egyáltalán ilyen "csak úgy" lekéréstől valahogy védekezni?
Előre is köszönöm
OOP class para
Adott ez a két osztályA másik:Ha meghívom a teszt függvényt, akkor :
"Fatal error: Call to a member function query() on a non-object"...
Ezzel szemben ha a teszt() a gyermek osztályban így néz kiÍgy működik, miért így van ez?
class NewsClass extends MainClass{
function __construct() {
parent::_construct();
$db=$this->db();
}
function test(){
$result=$db->query("SELECT * FROM information_schema.TABLES");
return $result->numRows();
}
function accessFilter(){
parent::accessFilter();
}
function getIdByurl(){
}
}
class MainClass{
function __construct(){
$db=$this->db();
$this->accessFilter();
}
function accessFilter(){
}
function db() {
require_once(ROOT."/libs/pear/MDB2.php");
$db=&MDB2::connect("mysql://".DBUSER.":".DBPASS."##kukac##".DBHOST."/".DBNAME);
if (PEAR::isError($db)) die($db->getMessage());
$db->setFetchMode("2");
$db->setCharset("utf8");
return $db;
}
function smarty() {
require_once(ROOT."/libs/smarty/Smarty.class.php");
$view=new Smarty();
$smarty->force_compile=true;
$smarty->caching=false;
$view->template_dir=ROOT."/themes/templates/";
$view->compile_dir=ROOT."/themes/templates_c/";
$view->cache_dir=ROOT."/themes/cache/";
$view->config_dir=ROOT."/themes/configs/";
return $view;
}
function xml() {
$parser=new myParser();
$parser->setInputFile(_ROOT.'/lang/'._PAGE_LANGUAGE.'.xml');
$parser->parse();
}
}
"Fatal error: Call to a member function query() on a non-object"...
Ezzel szemben ha a teszt() a gyermek osztályban így néz ki
class NewsClass extends MainClass{
function __construct() {
parent::__construct();
}
function test(){
$db=$this->db();
$result=$db->query("SELECT * FROM information_schema.TABLES");
return $result->numRows();
}
function accessFilter(){
parent::accessFilter();
}
function getIdByurl(){
}
}