ugrás a tartalomhoz

Archívum - Okt 2011

október 31

Adatbázis szerkezet kialalkítása - adatok különválasztása?

a.d.a.m · 2011. Okt. 31. (H), 18.25
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!
 

Kérdések az javascript Object-el kapcsolatban,

therest · 2011. Okt. 31. (H), 16.01
Ha az alapobjektumot kibővítem egy új metódussal:

Object.prototype.alma = function() { };
Később ebből fakadóan az alma metódus minden helyen megjelenik, és ez sok problémát okoz. Például:

var xarray=new Array('a','n','s');
console.log(xarray.length);
for(i in xarray)
	console.log( typeof(xarray[i]) + ' ' +i + '=' + xarray[i]);
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.

var xobject={'prop1':'a','prop2':123};
for(i in xobject)
	console.log( typeof(xobject[i]) + ' ' +i + '=' + xobject[i]);
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.
 

Php - Változó üres marad for ciklusban (megoldva)

morocztamas · 2011. Okt. 31. (H), 13.00
Van ez a forrásom:
$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.";
            }
É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.
 

október 30

Másodpercben számolás (megoldva)

morocztamas · 2011. Okt. 30. (V), 17.03
Hogyan tudom az megcsinálni, hogy egy adott időpontot (óra, perc és másodperc) másodpecekké váltson át?
$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ő);
A fenti forrásban mégis nulla a date-ek értéke.
date('i') * 60 + date('s')
 

október 29

Twitter és Yamm pofil végleges törlése

Kérésre törölve 14. · 2011. Okt. 29. (Szo), 21.03
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!!!!
 

xls fájl generálása php-val

stan · 2011. Okt. 29. (Szo), 09.36
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
 

október 28

Ajax & Post biztosítás

vtsoftware · 2011. Okt. 28. (P), 21.45
Ü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
 

OOP class para

Leki · 2011. Okt. 28. (P), 18.48
Adott ez a két osztály

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(){
	}


}
A másik:

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();
	}
}
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

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(){
	}


}
Így működik, miért így van ez?

WebSpell CMS kérdés

Laurens · 2011. Okt. 28. (P), 12.04
Sziasztok!

Először is nem tudom jó helyre írom-e, remélem igen!
Egy WebSpell CMS alapú weboldalt készítek és eddig sikeresen veszem az akadályokat, ám most elakadtam valamiben, és nem tudom merre induljak el a probléma megoldásához! A gond a következő:

Minden oldalon bal oldalt egy kis dobozka kilistázza a legutóbb hozzáadott videókat.



Ez így is van egészen addig amíg bele nem megyek egy kategóriába illetve ha egy videót szeretnék megnézni.

OFF: Levlista

lolka_bolka · 2011. Okt. 28. (P), 10.40
Sziasztok!

Nagyon off, csak egy gyors kérdés, mert úgy látom, ahova feltettem a kérdésem, ott nem igazán nagy az aktivitás.

http://weblabor.hu/forumok/temak/110328

Illetve fel lehet iratkozni téma értesítőre?

Sorry az OFF-ért, de nagyon kéne a lista.