Hirdetés

2024. április 27., szombat

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)

Hozzászólások

(#11001) Soak


Soak
veterán

Az milyen, ha egy formot elirányítok egy másik oldalra és a $_SERVER['HTTP_REFERER'] -re irányítom vissza a user-t miután végzett az oldal a form feldolgozásával?

[ Szerkesztve ]

(#11002) Brown ügynök válasza Soak (#11001) üzenetére


Brown ügynök
senior tag

Szerintem semmi akadálya de a form feldolgozás előtt csekkold le a HTTP_REFERER-t.

"hacsak nem jön a jó tündér break utasítás képében..."

(#11003) Brown ügynök válasza Brown ügynök (#11002) üzenetére


Brown ügynök
senior tag

Jobban belegondolva, ennek akkor van értelme, ha ugyanazt az űrlapot több oldalról is elküldhetik és te arra az oldalra akarod visszairányítani ahonnan küldte. Ilyenkor is meg kell azonban vizsgálni, hogy arról az oldalról (HTTP_REFERER) küldték-e a kérést, ahonnan te várod. Ha nem, az illetéktelen hozzáférésre utal (CSRF).

Egyébként szerintem egyszerűbb, ha simán megadod, hogy hova irányítson.

[ Szerkesztve ]

"hacsak nem jön a jó tündér break utasítás képében..."

(#11004) CSorBA válasza Soak (#11001) üzenetére


CSorBA
őstag

Vagy az uri-t hidden inputban küldöd (esetleg base64-ezve), és oda irányítod vissza.

(#11005) Soak válasza Brown ügynök (#11003) üzenetére


Soak
veterán

Igén, épp azért kérdeztem mert több helyről el lehet küldeni és nem akarom a usereket kitenni CSRF-nek . De valószinű, hogy az lesz amit CSorBA is írt, csak így sokkal szebb/egyszerűbb lenne. Kár hogy tele van a világ szeméttel ... :)

(#11006) CSorBA válasza Soak (#11005) üzenetére


CSorBA
őstag

Én egy helyzetérzékeny nyelvváltót csináltam meg így. Nem olyan szép, de egye fene. Gondoltam először, hogy referert nézek. De akkor mi van, ha linkelik? Vagy épp egyszerre több oldal van? Így gondoltam h. get-el küldöm a uri-t base64-ezve, és egész egyszerűen oda irányítom nyelvváltás után a usert vissza.
Szóval pl.::
(Csak részletek)

$encoded_uri = base64_encode($_SERVER['REQUEST_URI']);

<li><a href="?lang=hu_HU&amp;uri='.$encoded_uri.'" title="hu_HU"></a></li>
<li><a href="?lang=en_GB&amp;uri='.$encoded_uri.'" title="en_GB"></a></li>
<li><a href="?lang=de_DE&amp;uri='.$encoded_uri.'" title="de_DE"></a></li>

(#11007) Soak válasza CSorBA (#11006) üzenetére


Soak
veterán

Értem, valami hasonlót gondoltam el én is, de inkább fogtam és megcsinaltam, AJAX-al, hogy el se menjünk az oldalról :))

(#11008) CSorBA válasza Soak (#11007) üzenetére


CSorBA
őstag

És mi van, ha nincs js? ;]

Nahjó, ez csak gonoszkodás, mert az utóbbi oldalamat megcsináltam js mentesen is. Már amit többé kevésbé megtudtam, szem előtt tartva a használhatóságot.

(#11009) sanzi89


sanzi89
addikt

Tudom nem tartozik szervesen a topikhoz, de jobb helyet nem találtam a kérdésemnek.
Van egy hálózati szerverecském, amin bizonyos mappa rendszerben vannak képet. Ezt szeretném valamilyen php-s galérián keresztül megjeleníteni, valami hasonló módon, mint pl a Picasa. Erre létezik valamilyen egyszerű és ingyenes megoldás? Vagy használ valaki már ilyesmit?

Köszi!

"Mindent azért kell tudni mert kérdezik, nem azért mert hasznos."

(#11010) Soak válasza sanzi89 (#11009) üzenetére


Soak
veterán

Mitől lesz PHP-s a megjelenítés? Ha nem ugrik be egyből a válasz akkor [link]

(#11011) sanzi89 válasza Soak (#11010) üzenetére


sanzi89
addikt

Vannak a családi fotóim mappa szerint rendszerezve, és jó volna valamilyen megjelenítés amit böngészővel lokálisan vagy távolról el lehetne érni. Erre kellene valamilyen megoldás.

Amiket eddig találtam azok inkább weboldalba ágyazhatóak voltak, és csak pár kép megjelenítésére lettek tervezve. Vagy csak nem találtam még jót...

"Mindent azért kell tudni mert kérdezik, nem azért mert hasznos."

(#11012) Soak válasza sanzi89 (#11011) üzenetére


Soak
veterán

Értem akkor vagy írsz magadnak egy rövid kódot vagy pedig : [link] :) .

(#11013) CSorBA


CSorBA
őstag

Szerintem, ha lokálisan kell csak, akkor nem kell php-t belekeverni. Van pl a JAlbum, nagyon kis ügyes galéria készítő. Annyi a hátránya, hogy ha új képek kerülnek be, akkor csinálhatod (emlékeim szerint, 2-3 éve nem használtam) az egészet újra. Egy próbát megér.

[link]

(#11014) sanzi89 válasza CSorBA (#11013) üzenetére


sanzi89
addikt

Az IrfanView is képes generálni statikus képgalériát, de pont azon volna a hangsúly, hogy egyszer felrakom, beállítom, és elfejeltem utána. Csak FTP-n másolom át az új képeket, és már tudom is másnap mutogatni akár a munkahelyen is.

Ezt találtam eddig, valami ilyesmire gondoltam. Pár dolgot azért módosítok rajta, de nagyon nem akartam volna nulláról kezdeni.

[ Szerkesztve ]

"Mindent azért kell tudni mert kérdezik, nem azért mert hasznos."

(#11015) Speeedfire válasza CSorBA (#11013) üzenetére


Speeedfire
nagyúr

Még a google picasa is képes html albumot generálni. :)

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#11016) CSorBA


CSorBA
őstag

Értem, így világos. Látszik rég használtam ilyen galéria dolgot, a saját oldalaimra egyszer nekiestem és megírtam, azóta az van :DDD Ígéretes ez a linkelt, elkönyvjelzőztem mindenesetre.

Más:

Nézni szeretném az oldalamra látogatókat, honnan jönnek. Esetleges bannercsere esetén tudjam ellenőrizni. A kérdésem az, hogy érdemes-e globálisan nézni a linkeléseket, vagy nézzem csak a főoldalamon?

Nem nagy valami, ezt ötlöttem ki:

if ((isset($_SERVER['HTTP_REFERER'])) && (!strstr($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST']))) {
<db-be mentem>
}

(#11017) Speeedfire válasza CSorBA (#11016) üzenetére


Speeedfire
nagyúr

Ha nagy oldal akkor szerintem érdemes globálisan nézni. Illetve adott munkamenetet megnézni, hogy nem-e mentetted-e már el. Illetve az is érdekes kérdés, hogy hova mutat a banner. :)
De szerintem erre még mindig a legjobb a google analitycs.

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#11018) CSorBA válasza Speeedfire (#11017) üzenetére


CSorBA
őstag

Adott munkamenetet kicsit feleslegesnek érzem. Annyira nem hinném, hogy egymás után kétszer jönne az oldalamra egy bannerre kattintva :DDD Jó, hogy említed, el is felejtettem, a google is tudja... Köszi :) Akkor tárgytalan.

(#11019) Soak válasza CSorBA (#11018) üzenetére


Soak
veterán

Pedig már majdnem feltaláltad a spanyol viaszt :))

(#11020) Soak


Soak
veterán

Sziasztok !

Csinálok egy Címke (tag) rendszert . Már kérdeztem róla nem régen, addig el is jutottam, hogy a mysql-t nagyából megcsináltam. Viszont ahhoz, hogy értelme legyen az egész rendszernek, valamilyen módon naplóznom kéne a Userek aktivitását. Magyarul regisztrálni, hogy milyen cimkével ellátott dolgokat nézeget, azért, így tud neki az oldal automatikusan ajánlásokat készíteni ( mondjuk 10 ajánlásnál %osan megoszlik a 1.2.3.4. legtöbbet látogatott címke).

Az első gondolatom az volt, hogy létrehozni még egy mysql "tábla" csoportot . user - tags - user_visited_tags , ahol a visited tagsbe minden tags oszlop meg lenne és minden címke látogatásnál +1-et kapna az érték (mondjuk bizonyos időközönként, esetleg más változókat figyelembe véve leosztanám 10-el). Majd ezekből kiszámolva kapná az ajánlásokat.

Mi róla a véleményetek?

(#11021) Sk8erPeter válasza biker (#10967) üzenetére


Sk8erPeter
nagyúr

Visszatértem. ;]

Erre gondolsz? (http://jsfiddle.net/Sk8erPeter/YCE4Z/7/embedded/result/)
Most ez pont a beviteli mező mellett jelenik meg.

Sk8erPeter

(#11022) Sk8erPeter válasza Soak (#11020) üzenetére


Sk8erPeter
nagyúr

Ha statisztikát szeretnél készíteni, akkor jó a megközelítés.
Egy táblában nyilvántartod így: user_id | tag_id | number_of_visits
(persze a mezőnevek opcionálisak)
És igen, tag oldalának meglátogatásakor csak hozzáadsz +1-et a number_of_visits-hez (default érték 0). Elég akkor létrehozni a táblában a bejegyzést, amikor meglátogatja a bejelentkezett felhasználó az adott tag gyűjtőoldalát (addig meg egyértelmű, hogy még nem látogatta meg a tag oldalát).

Aztán persze az is jó, ha a felhasználónak lehetőséget biztosítasz kedvenc tagek megjelölésére (pl. ahogy a stackoverflow-n van).

=============

(#10992) Forza_JUVE :
látom azóta megvan, de annyit azért szebben kéne megoldani, hogy ne kelljen a felhasználónak megnyomnia a böngésző "Vissza" gombját, hanem Te irányítsd vissza automatikusan a feldolgozó fájlból az eredeti fájlba (header() függvénnyel), a felhasználónak címzett üzeneteket (hiba, siker, stb.) mentsd mondjuk session-változóba, és legyen egy hely, ahol mindig kiíratod ezeket az üzeneteket. (Így lehet legegyszerűbben megoldani, ha nincs AJAX-kommunikáció.)

A Google reCAPTCHA-t meg nagyon egyszerű beüzemelni, ez az egyik legfőbb erénye, meg az, hogy nem valami könnyű feltörni (bár sokan nem szeretik, amiatt, mert nehezen olvashatóak egyes szavak).

==============

(#10983) Brown ügynök:
action="<?php echo $_SERVER['PHP_SELF']; ?>"
Sztem felesleges, ehelyett szimplán:
action=""
(üresen hagyva)
ez valid megoldás is egyben.

[ Szerkesztve ]

Sk8erPeter

(#11023) Soak válasza Sk8erPeter (#11022) üzenetére


Soak
veterán

Igen, a kedvencek tag az mindenképp előnyt élvezne. Megcsinálom aztán majd írok, hogy mi lett belőle .

(#11024) meone válasza Sk8erPeter (#10779) üzenetére


meone
tag

Köszöntem szépen nagyon jól működik most már. :)

Elnézést kérek mindenkitől a helyes írásom ért :)

(#11025) biker válasza Sk8erPeter (#11021) üzenetére


biker
nagyúr

szia
ezzel is oda jutok mint az én verzióimmal, a lap alján az utolsó div alatt jelenik meg :(
valaki valamivel összeveszik...

Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |

(#11026) meone válasza biker (#11025) üzenetére


meone
tag

Nekem ezekkel működik.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.8.23/jquery-ui.min.js" type="text/javascript"></script>
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.2.js" type="text/javascript"></script>
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/ui/minified/i18n/jquery-ui-i18n.min.js" type="text/javascript"></script>

Tégy egy próbát hátha jó lesz, nekem is az volt a problémám mint neked, de ezzel amit linkeltem ott jelenik meg ahol kell.

Elnézést kérek mindenkitől a helyes írásom ért :)

(#11027) biker válasza meone (#11026) üzenetére


biker
nagyúr

Köszi!!!

Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |

(#11028) Speeedfire


Speeedfire
nagyúr

Meglehet adni egy változó értékét törtben valahogy?

pl

private $ertek = 1/3; //erre ugye error-t dob ki

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#11029) Soak válasza Speeedfire (#11028) üzenetére


Soak
veterán

$ertek = (1/3); ?

[ Szerkesztve ]

(#11030) Soak válasza Speeedfire (#11028) üzenetére


Soak
veterán

dupla

[ Szerkesztve ]

(#11031) CSorBA válasza Speeedfire (#11028) üzenetére


CSorBA
őstag

$ertek = 1/3;
echo $ertek;

=> 0.333333333333

Hmm? :U

(#11032) Speeedfire


Speeedfire
nagyúr

Nekem mindre szintaktikai hibát ír ki, mint a netbeans, mint futtatás közben.

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#11033) Soak válasza Speeedfire (#11032) üzenetére


Soak
veterán

Valamiért ez nem megy tényleg :

class Test{

private $ertek = 1/3;


public function foo(){

echo $this->ertek;
}

}
$test = new Test();
$test->foo();

de ez igen :

class Test{

private $ertek = 0.33;


public function foo(){

echo $this->ertek;
}

}
$test = new Test();
$test->foo();

majd mindjart jön valaki okos és megmondja miért nem :)

[ Szerkesztve ]

(#11034) CSorBA válasza Soak (#11033) üzenetére


CSorBA
őstag

Mert nem lehet művelet az osztály változóinak értékadásánál. Ha lentebb állítod be, vagy konstruktorban, akkor ott menni fog.

class Test{

private $ertek;

public function __construct(){
$this->ertek = 1/3;
}

public function foo(){
echo $this->ertek;
}

}
$test = new Test();
$test->foo();

[ Szerkesztve ]

(#11035) Speeedfire válasza CSorBA (#11034) üzenetére


Speeedfire
nagyúr

Köszi, így már valóban jó. :R

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#11036) Sk8erPeter válasza biker (#11025) üzenetére


Sk8erPeter
nagyúr

De azt láttad, hogy a CSS-kódot is hozzápakoltam időközben? :U Lásd jobb fölső sarok:
.iranyitoszam-wrapper {
float:left;
}

#iranyitoszam {
width:130px;
}

.ui-autocomplete {
position:relative !important;
}

Ez a lényeg, emiatt jelenik meg jól.
De Te magad is láthatod, hogy jól működik a példaoldalon...
Szerk.: ja meg localhoston teszteltem először ugyanezt, tehát jó a kód.

=============

(#11028) Speeedfire : ez egy osztás művelet, úgyhogy ez nem működőképes így.
Ilyenre csak az a jó, amit CSorBA írt közben.

[ Szerkesztve ]

Sk8erPeter

(#11037) biker válasza Sk8erPeter (#11036) üzenetére


biker
nagyúr

láttam, betettem, nem volt jó
A példa oldalon jó, forrásából kiloptam ami kell, erre jelent meg rossz helyen
a kolléga scriptjével meg jó :)

Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |

(#11038) Sk8erPeter válasza biker (#11037) üzenetére


Sk8erPeter
nagyúr

Hát jó. :D
Csak meone kódjával az az igen nagy baj, hogy először include-olja a jQuery v@1.8.1-at, majd utána a jQuery v@1.8.0-t. Az meg nem olyan egészséges.

Sajna nem látom a kódod többi részét, szóval nem tudom, mi lehet a baj nálad. :(

Sk8erPeter

(#11039) Sk8erPeter válasza Speeedfire (#10950) üzenetére


Sk8erPeter
nagyúr

$dateObj = new DateTime();
echo $dateObj->format('Y-m-d 00:00:00');

=======================================

(#10955) Soak
"nem találtam jó módszert arra, hogy szépen styleoljam az <input type="file">-t"
Ilyen? http://jsfiddle.net/Sk8erPeter/JEVgF/

Sk8erPeter

(#11040) Speeedfire válasza Sk8erPeter (#11039) üzenetére


Speeedfire
nagyúr

Az már rég solved!
A formatot nem használtam, mert nekem csak a timestamp kellett.

$date = new DateTime();
$date->setTime(0,0,0);
echo $date->getTimestamp();

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#11041) Soak válasza Sk8erPeter (#11039) üzenetére


Soak
veterán

Köszi, tudtam, hogy CSS-el nem fog menni, eddig betettem a szőnyeg alá, de most megnézem. :) :R

Szerk: Még jó, hogy a gomb csak rátette a style-t . .... Lényegtelen .

[ Szerkesztve ]

(#11042) Sk8erPeter válasza Speeedfire (#11040) üzenetére


Sk8erPeter
nagyúr

Ja értem, nem baj, hátha valakinek szüksége lesz rá ilyen formában is, akkor legalább tudja, hogy így is lehet. Ez a MySQL default timestamp-beállításnak megfelelő forma.

(#11041) Soak :
szívesen.
Igen, a gomb "csak" ráteszi a style-t, de ez most baj? Vagy nem vágom, mire akarsz kilyukadni. :)

Sk8erPeter

(#11043) Speeedfire válasza Sk8erPeter (#11042) üzenetére


Speeedfire
nagyúr

Valóban, de én újabban átálltam arra, hogy sima timestamp-eket mentek el az adatbázisba, ezzel mintha jobban lehetne dolgozni.

$model->time = time();

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#11044) Soak válasza Sk8erPeter (#11042) üzenetére


Soak
veterán

Nem baj, sőt . : :)

(#11045) Sk8erPeter válasza Speeedfire (#11043) üzenetére


Sk8erPeter
nagyúr

Mondjuk az akkor jön különösen jól, amikor egy sima összehasonlítás kell, hogy melyik dátum volt később vagy előbb (sima másodperc-alapú összehasonlítás, így ez nagyon gyors, ahogy azt is gyorsan meg lehet mondani, hogy melyik a nagyobb, 150 vagy 200), vagy pl. pontosan hány másodperc van a két dátum között, mert csak egy egyszerű kivonásra van szükség; ráadásul tudtommal a UNIX timestamp formátum támogatása a lehető legszélesebb körű, és kevesebb konverziós probléma lehet vele, mint az egyes egyedi dátumformátumokkal, ami adatbázis-beállításoktól is függhet, meg lokalizációtól (pl. nem egyértelmű eldönteni, hogy 01.01.12 dátumnál melyik a nap, melyik a hónap!).
Persze aztán valószínű, hogy egyes dátumkonverzióknál gyorsabb a natív dátumformátum, de többnyire nem ez jelenti a szűk keresztmetszetet, és egy UNIX timestampet meg többféle nyelvben is úgy formázgatsz, ahogy tetszik.
Épp ezért alapvetően én is többször használom a UNIX timestampet mostanában.

Sk8erPeter

(#11046) sonar


sonar
addikt

Sziasztok,

Tudnátok abban segiteni,hogy ha van egy ilyen elcseszett dátum formátumom: 28.07 17:00
akkor abból date függvénnyel tudok épkézláb Y-M-d formátumot varázsolni?
String bűvészkedéssel meg tudom csinálni, de a date nem engedelmeskedik.

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#11047) Sk8erPeter válasza sonar (#11046) üzenetére


Sk8erPeter
nagyúr

De hogy akarsz ebből évszámot kinyerni, ha nincs is benne a stringben?
Az is kérdéses, hogy az első szám, vagyis a napot jelző szám 0-kkal kezdődik-e 10 alatt, vagy sem. (Szerk: tehát úgy értem, hogy pl. 02.07 17:00 vagy 2.07 17:00, bár gondolom előbbi, nem?)

[ Szerkesztve ]

Sk8erPeter

(#11048) Sk8erPeter válasza sonar (#11046) üzenetére


Sk8erPeter
nagyúr

Feltételezve, hogy jó, ha az aktuális év lesz az évszámnál, meg feltételezve, hogy mindig vezető 0-kkal kezdődik a dátum a 10-es számok alatt (tehát pl. hónap második napja 02, óra harmadik perce 03), ez működőképes (aztán a formátumot tetszőlegesen testreszabhatod, ez a szokásos "év-hónap-nap óra:perc:másodperc" formában lesz):

$date = DateTime::createFromFormat('d.m H:i', '28.07 17:00');
echo $date->format('Y-m-d H:i:s');

KIMENET:
2012-07-28 17:00:00

Sk8erPeter

(#11049) pvt.peter


pvt.peter
őstag

Sziasztok!

Szeretnék írni egy olyan osztályt php-ban, amely adott paraméterekkel legenerál egy HTML oldalt.
Ez volt az általános megfogalmazás, nézzük részletesebben.
A következőképpen szeretném megvalósítani:
- két php fájlt használnék, egyikben az osztály(ok), fgv.definíciók, másikban pedig objektum létrehozás, illetve paraméteres fgv.hívás, ebben történne a megjelenítése a legenerált tartalomnak

A konkrét feladat itt látható, így kellene kinézni a generált tartalomnak 3 db fül esetén
(illetve csatoltam a forrását is)
Ilyen füleket szeretnék legenerálni, a létrejövő osztállyal, osztályokkal.

A lényeg az lenne, hogy olyan osztályt létrehozni, amely legenerál x db lapfület, ahogy az index.html oldalon is látszódik, ahol jelenleg 3 ilyen oldal van megadva közvetlenül.

Vmi hasonló formátumban gondoltam a példányosítást, és fgv.hívást:
$tabobject = new TabGenerator;
$tabobject->AddNewTab(elso_ful_azonositoja, elso_ful_cimkeje);

A lényeg, hogy az osztályok ezt a kódot generálják, természetesen változó db számú füllel:
<div id="tabs">
<ul>
<li><a href="#fragment-1"><span>One</span></a></li>
<li><a href="#fragment-2"><span>Two</span></a></li>
<li><a href="#fragment-3"><span>Three</span></a></li>
</ul>
<div id="fragment-1">
<p><code></code></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<div id="fragment-2">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<div id="fragment-3">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
</div>

Nagyon nagy szükségem lenne a segítségre, nem veletek akarom megcsináltatni, csak kellene egy konkrét elképzelés, némi forráskód, amivel letudnám generáltatni ezeket a dolgokat, utána valószínűleg menne a többi dolog is.
Tehát form létrehozása, ugyanis mindegyik lapon lesz majd vmi dinamikusan létrehozott tartalom, pl. text field stb. amik szintén függvényekkel lesznek megírva, tehát csak egy kiindulási alap kellene nekem.

A segítséget előre is köszönöm.

Ez egy .50-es rombolópuska, elég szép visszarúgással.

(#11050) Sk8erPeter válasza pvt.peter (#11049) üzenetére


Sk8erPeter
nagyúr

Csak azt mondom, ami hirtelen eszembe jutott, lehet, hogy lehetne még ezerszer jobb megoldással (pl. template-ezéssel).

Esetleg gyűjthetnéd egy private $tabs = array(); tömbbe a füleket (privát osztályon belüli változó), ahol a tömb kulcsai maguk a fül azonosítói lennének. Kiegészíthetnéd az addNewTabet úgy, hogy egyből a HTML-tartalmat is hozzáadod:

public function addNewTab(tabId, tabLabel, htmlContentOfTab)

Aztán lenne egy renderTabs() metódus, ami legenerálná az összes fület ciklusokkal, úgy, hogy létrehozná a megfelelő linkeket (ez egy ciklus), meg hozzácsapná az azonosítókkal ellátott diveket (ez még egy ciklus).

Az osztályon belül a private $tabs = array(); tömbbe valahogy így gyűjthetnéd ki (ami az osztályon belül így lenne elérhető: $this->tabs):

$tabs = array(
'fragment-1' => array(
'label' => 'One',
'content' => '<p>tartalom egy.............</p>'
),
'fragment-2' => array(
'label' => 'Two',
'content' => '<p>tartalom kettő.............</p>'
),
'fragment-3' => array(
'label' => 'Three',
'content' => '<p>tartalom három.............</p>'
),
);

Ez csak első megközelítés, de ezt így nagyon egyszerű lenne megvalósítani. Persze gondolni kell az XSS elkerülésére is biztonsági okokból, ha WYSIWYG-jellegű admin-felület lenne a tartalom belepakolására.

[ Szerkesztve ]

Sk8erPeter

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.