ugrás a tartalomhoz

Archívum - 2013 - Fórum téma

január 12

PHP Include () Content

mctom · 2013. Jan. 12. (Szo), 12.19
Sziasztok!

Kezdő PHP-s vagyok és egy tartalmilag eléggé maassziv weboldal készítésén fáradozom, és Hardcore PHP-sek javaslatát szeretném kérni az alábbi probléma abszolválásában :).

Framek helyett kezdtem el használni a PHP Include () parancsot a Content és a navigation elkülönítésére.

Általánosságban evvel a paranccsal rendelik hozzá a tartalomhoz a navigációs menüket.

Na mármost én egy "fordított" megoldásra keresem a választ, éppen a webodal terjedelme miatt, hogy későbbi korrekcióknál ne keljen átírni minden oldalnál pl. a meta adatokat.

Szóval én ezt úgy értem hogy adott egy Index.php fájlunk ami tartalmazza alapból a navigációt ("a weboldal keretét"), és a a menü pontokkal hozzuk be a tartalmat PHP Include parancs által.

Ha esetleg valaki tud valaki hasznosat mondani, vagy valami használható leírást/tutorialt linkelni akkor azt megköszönném.

Mctom
 

január 11

ugyanolyan típusú url

kemmma · 2013. Jan. 11. (P), 15.24
Sziasztok, az lenne a kérdésem, hogy a Routing-nál, hogy oldhatom azt meg, hogy két ugyanolyan típusú url-t használjak?
(konkrétan Silex-ben kellene, de ha megadjátok, hogy más rendszereknél mi a megfelelő utasítás, akkor már el tudok indulni)
Jelenleg mappákat használok, de ezt el kellene hagyni. Egy egyszerű példa, amit át kellene alakítani:

$app = new Silex\Application();
$app->get('/cikk/{id}', function ($id) use ($app) {
	$contents = array('kapcsolat', 'linkek');
	if (in_array($id, $contents)) {
		return 'En vagyok a cikkoldal: ' . $id;
	}
	$app->abort(404, 'A keresett cikk nem talalhato');
});
$app->get('/termek/{id}', function ($id) use ($app) {
	$contents = array('alma', 'korte');
	if (in_array($id, $contents)) {
		return 'Ez itt a termekbemutato: ' . $id;
	}
	$app->abort(404, 'A keresett termek nem talalhato');
});
$app->error(function (\Exception $e) use ($app) {
	return 'Ajjajj...' . $e->getMessage();
});
$app->run();
Tehát itt a /cikk/kapcsolat, /cikk/linkek, /termek/alma, /termek/korte oldalakra kapunk tartalmat, máskülönben hibaoldal. Az a feladat, hogy le kellene vágni a mappákat, azaz ezután a következő url-eket szeretnem /kapcsolat, /linkek, /alma, /korte Sajnos nem jövök rá, hogy miként tudnék a cikkek részből úgy kiugrani, hogy a termékek részhez jussak.
Persze egy új osztállyal ezt könnyen megoldhatnám, de az nagyon nem tetszik.
 

Véletlenszerű kép lekérése

drext0r · 2013. Jan. 11. (P), 05.19
Szeretnék egy oldalon véletlenszerűen képeket megjeleníteni de nem egészen tudom, hogy hogyan tegyem ezt a képeket a webszerveren tárolom a képek adatai pedig adatbázisban vannak.

Én elsőre úgy gondoltam, hogy minden feltöltött kép kap egy id-t és akkor lekérem az adatbázisból a képeknél a legkisebb és a legnagyobb id-t szóval az első és az utolsó képet majd ezt a két számot berakom egy mt_rand()-ba és a véletlen szám alapján jelenítem meg a képet.

De aztán gondolkodtam és olyan problémák lehetnek, hogy az oldalon lehet képet törölni szóval ha a generált képnek az id-jét már törölték akkor nem fog megjelenni semmi szóval nem tudom, hogy tudnám ezt megoldani.

Ha valaki tudna segíteni ebben azt nagyon megköszönném.
 

január 10

Egy nagy alkalmazás vagy több kisebb

Max Logan · 2013. Jan. 10. (Cs), 14.36
Adott egy gyártó cég, ahova most készül egy komplex intranetes rendszer. A rendszert alapvetően a művezetők fogják használni (a későbbiekben lesz desktopon használt rész, amit az irodából matatnak a kollégák), egy-egy tablet segítségével.

A dilemmám az, hogy egy nagy alkalmazás legyen létrehozva, melynek van egy menüje, mely révén kiválaszthatók az egyes funkciók vagy legyen minden funkcióhoz egy-egy külön felület, amihez lehet a tablet kezdőképernyőjén egy-egy ikont rendelni?

Azért van létjogosultsága a külön programoknak (felületeknek), mert az egyes munkafázisok egy-egy emberhez vannak dedikálva, így a többieknek a hozzájuk nem tartozó felületet nem is kell látnia és nem kell hozzáférnie.

Ti hogyan csinálnátok: egy program és elrejtve a funkciók vagy több program és csak annak a tabletjére van kirakva az indító ikon, akihez tartozik a munkafázis?

Az én véleményem az, hogy érdemes lenne külön venni a felületeket, mert így kisebb, könnyebben karbantartható programok jönnek létre.

(Külön programok esetén a hozzáférés IP alapján lenne engedélyezve vagy tiltva, a programok pedig az Androidos tablet teljes képernyős böngészőjében futnak.)
 

jelszó titkosítás

szobek · 2013. Jan. 10. (Cs), 11.36
Sziasztok!

Egy olyan kérdésem lenne, hogy a weblapon amit csinálok, szeretném a jelszavakat kódolva tárolni. Viszont az md5() és sha1() eléggé elavult és simán visszafejthető.
Kitaláltam valamit és a véleményeteket kérném:
		
function pass_sajat($post_pass) {
			$mirol = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9');
			$mire = array('1','27','39','41','84','22','19','85','4','7','21','85','54','39','87','10','60','94','8','11','73','57','79','29','39','45','19','33','74','62','50','12','82','32','77','5','80','66','3','82','43','18','31','40','15','59','20','28','93','81','52','8','5','7','2','1','4','8','3','6','0','9');
			$pass_new = str_replace($mirol, $mire, $post_pass);
			return md5($pass_new);
		}
A postolt jelszót amit leellenőriztem, hogy csak angol ABC kis és nagybetűk illetve számok lehetnek, beküldöm ebbe a kódba és az így készült kódot tárolom és ellenőrzöm. Ennek van értelme vagy felesleges programlassítás?


A válaszotokat előre is köszönöm!

Norbi
 

Div frissítése

drext0r · 2013. Jan. 10. (Cs), 04.53
Van egy div-em és azt szeretném ha automatikusan az oldal teljes újratöltése nélkül frissülne szoval így működnie kéne a dolognak nem ?

 $.get("fr.php", function(data){
  $("#t").html(data);
  });
Mert így simán nem csinál semmit viszont ha belerakom egy függvénybe és onClick-el meghívom akkor már rögtön működik szal nemértem...
 

Rewriterule htaccess

zepic · 2013. Jan. 10. (Cs), 01.50
Sziasztok!

Van egy jól működő rewrite szabályom ezt kéne kibővíteni ami nem nagyon sikerült :)

Arról van szó hogy van egy portál közös motorral 3 site

oldal.hu/site1
oldal.hu/site2
oldal.hu/site3

A htaccesem most igy néz ki, mindhárom sitehoz tartozik egy rewriterule, lehet ezt is lehetne egyszerűbben:

RewriteCond %{REQUEST_URI} !^(/site1/images|/site1/userfiles)(.*)$
RewriteRule ^site1(.*\.(htm|html|php|jpg|png|css|js|swf|gif|ico)).* /$1?siteid=site1&%{QUERY_STRING} [L]

tehát ha oldal.hu/site1/teszt/teszt.php irjuk be a böngészőbe valójában az oldal.hu/teszt/teszt.php nyilik megy siteid=site1 paraméterrel. Az images, userfiles könyvtárak pedig a kivételek.

Na most ezt kéne kibővíteni még egy szinttel, h mindegyik sitenak lehet még 2-3 aloldala, tehát:

oldal.hu/site1/alsite1/teszt/teszt.php esetén:

oldal.hu/teszt/teszt.php nyilik megy siteid=site1 alsiteid=alsite1 paraméterrel. A kivételek itt is uazok.
 

január 9

include-olt fájlban lévő képek megjelenítése

istvan13 · 2013. Jan. 9. (Sze), 19.22
Sziasztok!

Van egy index.php fájl, amelyben van egy include 'lista.php' rész. Mindkét fájl a gyökérkönyvtárban van.
A lista.php egy mysql-ből beolvasott, képekre mutató (http-vel kezdődő) hivatkozásokat tartalmaz. Amikor megnyitom az index.php-t és az ugye betölti a lista.php-t, akkor a képek nem jelennek meg, pedig a hivatkozások jók.
Ha behozom ugyanazt a képet tartalmazó oldalt, ahonnan be kellene töltenie magát a képet, akkor frissítés után már az én oldalamon is megjelenik a kép.

A kérdésem:
Hogyan tudom az include-olt lista.php fájl tartalmát "aktívvá" tenni, hogy betöltse a képeket arról a címről, amire hivatkozik?

Előre is köszi a segítséget.
 

SSH2 Csatlakozás PHP-val biztonságosan

bonbence · 2013. Jan. 9. (Sze), 18.39
Sziasztok!

SSh2re szeretnék phpval biztonságosan csatlakozni mutatom is lentebb mire gondoltam.

Eddig így csatiztam:
$connect=ssh2_connect("ip",22);
ssh2_auth_password($connect,"username","password");

Ugye itt nincs titkosítva se a user se a pass szóval akinek már a php vagy csak egy kis rés van és megvan az már turkálhat.Valami hasonlót szeretnék:

$user="md5kód";
$pass="md5kór";
$connect=ssh2_connect("ip",22);
ssh2_auth_password($connect,md5($user),md5($pass) );

De ez az md5 szerű nem működik talán az ssh nem tudja visszakódolni az md5őt?
Kérlek segítsetek.
Köszönőm
 

Agyhullám php-mysql

GreenEar · 2013. Jan. 9. (Sze), 11.23
Sziasztok!

Nemrég kezdtem el phpt-és mysql dolgokat tanulni, a könyv ami a kezembe akadt az az agyhullám php-mysql. Egész jól haladok a tanulásban, viszont az egyik leckénél elakadtam, nem tudok tovább menni. Ebben kérném a segítségeteket kérni!

A gond: képfeltöltő űrlap készítés. A tanulási módszerem, hogy letöltöm a weblapjukról a kész kód csomagot, azután lépésről lépésre módosítom amit a könyv ír, amikor kész van akkor megpróbálom egyedül is megcsinálni. Ennél a leckénél elakadtam.
a kód itt található:
http://www.headfirstlabs.com/books/hfphp/
a letölthető leckéknél a hatodik mappa.
Letöltöttem, a kapcsolódási adatokat a mysql-hez beírtam, mást nem láttam át hogy mit kellene módosítanom. Valószínű ezért van az hogy amikor képet szeretnék feltölteni akkor kiírja hogy mik lehetnek a kép adatai ( jpeg stb,) továbbá hogy nem lehet nagyobb mint 32 Kb-t de a kép megfelel ezeknek a kritériumoknak. A folyamatot átlátom, az űrlap feltölti a kép nevét a mysql-be, magát a képet pedig az ideiglenes mappába, majd átmozgató paranccsal átrakja a php a képet egy olyan mappába amit a mysql elér és kirakja a megadott oldalra. Próbáltam körbejárni a témát a neten, de az ő oldalukon csak nem találtam megoldást erre a könyvből pedig nem jöttem rá mi a gubanc. Megpróbáltam a könyv alapján a nulláról felépíteni a dolgot, sikerült is eljutnom odáig hogy a kép nevét feltölti mysql-be, de magát a képet nem találom az ideiglenes mappában, valószínű nincs is benne, mert nem tudja átmozgatni, nem rakja ki vissza az oldalra. Csak a nevét tárolja. Ha pedig megadom neki hogy feltöltésnél kérje a kép típusát és méretét is, akkor utána már a neve sem kerül be mysql-be, csak hibaüzenetet ír ki. Gondoltam arra hogy az ideiglenes mappával van valami gubanc, de ezt sajnos nem látom át. Ha valaki tudna egy kis fényt gyújtani a sötétségben légyszi írjon, megtanulni szeretném, így ha elbambáztam valamit nyugodtan csesszetek le, a negatív kritika építőleg hat.