Új hozzászólás Aktív témák
-
negyedes
addikt
válasz fordfairlane #9350 üzenetére
autentikáció állapotát jelző session értéket.
hogy mit? van ilyen jelzo? baromi kezdo vagyok.
Három dolog biztos az életben: az adó, a halál és az adatvesztés. - Baráth Gábor
-
fordfairlane
veterán
válasz negyedes #9351 üzenetére
Van, ha csinálsz egyet. Nézz meg valami tutorialt, hogy hogyan kell használni a PHP session kezelőjét.
Ha működik a session, akkor a $_SESSION nevű asszociatív tömböt tudod használni. Mondjuk kinevezed az autentikáció tárolóját $_SESSION['auth'] -tnak. Bejelentkezéskor true-ra állítod, kilépéskor törlöd. Azoknál az oldalaknál, amelyek használatához autentikált felhasználó kell, ellenőrzöd, hogy $_SESSION["auth"] létezik-e. Ezt az egészet persze érdemes becsomagolni egy külön classba, de ez már részletkérdés.
Ha sessiont használsz, minden oldalad session_start-tal kell, hogy kezdődjön, vagy pedig úgy kell konfigurálni a PHP-t, hogy ezt automatikusan megtegye helyetted.
[ Szerkesztve ]
x gon' give it to ya
-
negyedes
addikt
válasz fordfairlane #9352 üzenetére
Eddig is igy csinaltam,de ha nincs bejelentkeze a felhasznalo es megnyitom az index.php-t akkor dobb egy olyan warningot hogy "Undefined index: auth" .
Három dolog biztos az életben: az adó, a halál és az adatvesztés. - Baráth Gábor
-
fordfairlane
veterán
válasz negyedes #9353 üzenetére
Ha egy asszociatív tömb eleme nem biztos, hogy létezik, akkor először isset-tel kell tesztelni, létezik-e az adott elem, és az isset után vizsgálhatod az értékét. Tehát valahogy így:
if(isset($_SESSION["auth"]) and $_SESSION["auth"] == true) {
}Másik lehetőség, hogy a session indításakor egyből false-ra állítod, ha nem létezik. Így mindig lesz $_SESSION["auth"] elem, és az oldalakban csak értékre kell tesztelni.
[ Szerkesztve ]
x gon' give it to ya
-
negyedes
addikt
válasz Sk8erPeter #9354 üzenetére
Hat berakom,de ugy erzem ez az egesz koncepcio rossz ahogy en elgondoltam.
if($_SESSION['valid_user'] == true) {include('fejlec_be.php');}
else {include('fejlec.php');} ez van az index.php fileban.Az ossze resze az oldalnak includeolva van. A fejlec_be.php az belepes utan kell legyen,vagyis az eddig fejlec megvaltozik(kiirja a felhasznalo nevet, meg par adatot rola es itt van a kijelentkezes gomb). A fejlec.php pedig az alap ott csak a bejelentkezes gomb van. En annak fugvenyeben szeretnem valtogatni hogya juzer be van-e jelentkezve vagy sincs.
fordfairlane isset-el megy,vagyis nem dobja a warningot es be is lep.
[ Szerkesztve ]
Három dolog biztos az életben: az adó, a halál és az adatvesztés. - Baráth Gábor
-
Sk8erPeter
nagyúr
válasz negyedes #9356 üzenetére
fordfairlane igazából kb. pontosan ezt írta le, hogy itt ne legyen undefined index:
if(isset($_SESSION['valid_user']) && $_SESSION['valid_user'] == true){
include('fejlec_be.php');
}
else{
.............
}de persze ahhoz, hogy egyáltalán legyen bejelentkezett állapot, neked kell beállítanod a $_SESSION['valid_user'] változót.
De ezt azért szebb lenne, ha inkább egy külön függvénybe raknád be, hátha ott még külön ellenőrzésekre is szükség lesz:function user_is_logged_in(){
// ..... ellenőrzöd, a felhasználó be van-e jelentkezve
// ha IGEN:
if( $bejelentkezve ......... ){
return TRUE;
}
// ha nincs bejelentkezve
return FALSE;
}
if( user_is_logged_in() ){
include('fejlec_be.php');
}
else{
include('fejlec.php');
}Szerk.:
Amúgy igen, fordfairlane ezt is jól írta:
"Ha nem csak az index.php oldal lesz, hanem érkezik mellé több fájl, akkor ezt a feltételvizsgálatot érdemes átrakni a fejlécbe."[ Szerkesztve ]
Sk8erPeter
-
spammer
veterán
válasz fordfairlane #9349 üzenetére
Azt, hogy csak egy megadott részt olvasson ki egy fájlból (pl. article id alapján).
Találtam egy oldalt, ahol hasonló dolgok akartak megoldani [link] array módszerrel ki lehet olvasgatni html fájból, de csak soronként, az meg macerás... iframe módszerrel is meg lehet oldani, de az sem túl szép.
Article id -vel lenne talán a legegyszerűbb, de azt nem tudtam megoldani, annyira nem értek hozzá. Majd kikísérletezgetem valahogy
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
PazsitZ
addikt
válasz spammer #9359 üzenetére
Egyszerű példa (vedd pszeudokódnak) :
CikkModule.php
{
static function getCikkHTML($cikkId) {
...
}
}CikkController.php:
{
public function cikkekAction(){
foreach($cikkek as $cikk){
echo CikkModule::getCikkHTML($cikk->cikk_id);
}
}
public function cikkAction($cikkId){
echo CikkModule::getCikkHTML($cikkId);
}
}vagy még egyszerűbben listaoldalon ajax hívás nélkül (persze a direkt linkhez kell az egy cikket megjelenítő action):
<div id="cikkek">
<div class="cikk_1"><a onclick="showCikk(1);"></a></div>
<div class="cikk_2"><a onclick="showCikk(2);"></a></div>
</div>
<div id="cikk" style="display:none;"> <a onclick="closeCikk();"></a></div>
<script>
function showCikk(id){
$('#cikk').html( $('#cikk_' + id).html() ).show();
$('#cikkek').hide();
}
function closeCikk(){
$('#cikkek').show();
$('#cikk').hide().html('');
}
</script>Bár megjegyzem pont Yii-ben van rá példa, hogy az egész page contentet lekéri az ajax és csak a megfelelő tartalmat illeszti be sima jQuery selectorral. pl.: $('.cikk_2', '#cikkek').html();
[ Szerkesztve ]
- http://pazsitz.hu -
-
Sk8erPeter
nagyúr
válasz spammer #9359 üzenetére
Ha arról beszélsz, hogy abban a bizonyos fájlban egy normálisan felépített HTML-tartalom van, és abból csak pl. egy adott id-vel rendelkező div-et szeretnél megjeleníteni, vagy hasonló, akkor példaként a jQuery hivatalos oldalán van AJAX-os kommunikációnál ugyanilyen:
Loading Page Fragments$('#result').load('ajax/test.html #container');
Egyébként még PHP-val is lenne mód ilyenre: DOMDocument-tel parse-olod, getElementById()-vel beolvasod a megfelelő részt.
Mondjuk ha már megoldási módszerekről beszélünk, ez sem túl szép, jobb lenne a tartalmakat adatbázisból kiolvasni, ha van erre mód.
===
(#9360) PazsitZ : nem akarok kötekedni, de azért ne szoktassuk arra az emberkéket, hogy minden cikket jelenítsenek csak meg nyugodtan ugyanazon az oldalon, aztán majd kliensoldalon szépen megjelenítgeti-eltünteti, nem kevés terhelést róhat adott esetben feleslegesen a szerverre.
Persze nagymértékben függ a feladattól, de általában inkább kerülendő, inkább aszinkron módon kellene betölteni.Sk8erPeter
-
spammer
veterán
válasz Sk8erPeter #9363 üzenetére
"Ha arról beszélsz, hogy abban a bizonyos fájlban egy normálisan felépített HTML-tartalom van, és abból csak pl. egy adott id-vel rendelkező div-et szeretnél megjeleníteni"
Igen igen, erről lenne szó
Köszönöm neked is még egyszer ezt jQuery-s megoldást kipróbálom majd!
Egyébként igazad van, normál esetben adatbázis kellene stb., de semmi extráról nincs szó, elég egyszerű lap, nem portál, blog, vagy ilyesmi, és csak arra kellene, hogy a már meglévő írások külön is olvashatók és linkelhetők legyenek. És egyelőre csak localhoston megy az egész (easyPHP-vel), szóval még csak próbálgatás szinten van ez.
Köszi mindenkinek még egyszer!
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
PazsitZ
addikt
válasz Sk8erPeter #9363 üzenetére
Ha jól értettem, az volt a kiindulópont, hogy meg akarja jeleníteni listaszerűen felsorolva és különállóan is.
Ha már az oldalon van a 5 cikk content, akkor meg minek újra lekérni? Persze le lehet.
- Egy rész amit írtam kliens oldalt terhel, nem szervert, nem tudom ez neked honnan jön.
- Másrészt, nem egy blokk mozgatás és 2 div display css switch fogja kinyírni a js motort még egy akár ie6-ban sem.Ha a php kódra gondolsz:
Az, hogy most oldalakra tördelve 5-öt vagy 6-ot jeleníti meg vagy mittoménhogy' azt már ő tudja. Irtam is pszeudokódként kell értelmezni, ami kódot leírtam.Most vagy a te problémádat nem értem vagy egyiket se.
Ha valamit nagyon félreértettem volna szóljatok és törölöm a hsz-eket.[ Szerkesztve ]
- http://pazsitz.hu -
-
Sk8erPeter
nagyúr
válasz PazsitZ #9365 üzenetére
Simán lehet, hogy én értettem félre a dolgot, de akkor elmondom, én hogyan értelmeztem, nagyon röviden:
- spammer egy oldalon megjelenít jó sok cikket ömlesztve, aztán szeretné, hogy ezek klikkelhetők, külön oldalon megtekinthetők legyenek
- amit Te írtál: van a "cikkek" id-vel rendelkező elem, ebben jelenik meg az összes cikk. Valamelyik vonatkozó linkjére kattintva ez a "cikkek" id-val rendelkező elem elrejtődik, majd a kattintott elem tartalma bekerül a "cikk" id-val rendelkező div-be. Itt van egy, a cikk bezárására szolgáló link is, ami annyit csinál, hogy az előbbi, ömlesztett "cikkek" id-val rendelkező elemet már megint megjeleníti, majd a "cikk" id-val rendelkező elem tartalmát eltünteti (törli is).
Szóval ez egy ilyen kliensoldali játék, de attól még nem tekinthető meg külön oldalon, és nem is lehet külön hivatkozni az oldalra.
A felesleges terhelés alatt igazából azt értettem, hogy amennyiben marad a megoldásodnál, tehát csak kliensoldalon játszadozik a cikkek eltüntetésével-megjelenítésével, és nem oldja meg, hogy csakis az adott cikk legyen megjeleníthető, akkor mindig kötelező lekérnie a szerveroldalról az ÖSSZES cikket, mert utána ugye ebből fog szemezgetni, elrejtegetni, megjeleníteni - de ettől még mindig nem tudta mondjuk elküldeni az ismerősének, hogy nézd, a 30 ömlesztett cikkből igazából ezt akarom neked megmutatni, ezt olvasd el. Na oké, itt meg azt is lehetne csinálni, hogy ugye minden cikknek külön azonosítója van, akkor mivel úgyis minden egyetlen lapon van, mind a 30 cikk, akkor úgy linkeled be, hogy http://example.com/index.php#cikk_28, mert végül is ez is odaugrik, és működik. De most ezért jelenítse meg az összes cikket, mind a 30-at? Minek?Na, tehát a lényeg: szerintem ő ilyen blogszerű ömlesztést akar, aztán a címre rákattintani, és teljesen külön oldalon megjelenítve látni azt az egyetlen árva cikket, a többit nem (legfeljebb egy főoldalra mutató linkkel, stb.).
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #9364 üzenetére
Igazából szerintem egyikünk számára sem volt egyértelmű először, hogy mit is szeretnél, így mindketten félreértettük.
Most megint elolvastam, amiket írtál, és szerintem Te tényleg valami olyasmit szeretnél, mint ami a blogokon van: ömlesztve az összes cikk, de ha a címére kattintasz, akkor ugyanaz a cikk megjelenik egy külön oldalon, ergo külön URL-lel, esetleg bővebb tartalommal is.Pl. erről egy egyetemi tanárunk blogja jut eszembe, WordPress-es blogja van, és külön oldalon is megtekinthetők az itt ömlesztve, igaz, pagerrel látható cikkek.
Valami ilyesmit akarsz, nem?
Csak mert akkor a korábbi AJAX-ozás nem is feltétlenül kellene, sőt, az már inkább advanced dolog.
Szerintem amennyiben tök egyszerű struktúrájú oldalad van, hagyományos módon kellene felépítened az oldaladat, hagyományos módon beinclude-olni mindenhova azt a fájlt, ami tartalmazza a fejlécet, menüt, aztán alulra meg a láblécet, ahogy mindenki kábé el szokta kezdeni a honlapszerkesztést. Már ha nem akarod most bonyolítani.Sk8erPeter
-
PazsitZ
addikt
válasz Sk8erPeter #9366 üzenetére
mindig kötelező lekérnie a szerveroldalról az ÖSSZES cikket Nem.
Erre írtam, hogy: (persze a direkt linkhez kell az egy cikket megjelenítő action)ettől még mindig nem tudta mondjuk elküldeni az ismerősének De.
Erre írtam a javítás-kiegészítést, hogy ha linket mentesz, új ablakban nyitsz, google crawl-ol, meglegyen a single cikk link is.
De ez csak egy szimpla ötlet volt, hogy ajax hívás nélkül is meg lehet oldani, ha a listában teljes content van. De persze jóval egyszerűbb berakni a szimpla linkeket is és nem kell ajaxozni vagy js-ezni.De csak a tisztázás végett: nem kell úgy csinálni, csak feldobtam, hogy így akár is lehet.
(#9369) Sk8erPeter: no problem
[ Szerkesztve ]
- http://pazsitz.hu -
-
Sk8erPeter
nagyúr
válasz PazsitZ #9368 üzenetére
Ja, oké, mondom, bocs, nem akartam belédkötni, csak elsőre kusza volt számomra az egész: a srác elképzelése, meg a kódod is, de legközelebb majd először kukoricára térdepelek a sarokban, hátha attól teljesen kitisztul a kép. Bár szerintem inkább az eredeti megfogalmazás volt homályos.
Sk8erPeter
-
spammer
veterán
válasz Sk8erPeter #9367 üzenetére
Igen, ilyesmi, csak ugye itt nincs blogmotor, meg semmi ilyesmi. Azért nem is wordpress-szel próbálkozom, mert nem blogról van szó, nem is lesznek folyamatosan új bejegyzések, max néha-néha 1-1 új, és localhoston ráadásul még nagyon lassú is a WP nálam..
Tehát ez egy sima, formázott html, van mondjuk például 8 cikk egymás alatt és ennyi.
Jól írtad, ha külön egyesével is megjeleníthető lenne egy cikk az oldalon, az lenne jó.. A sima anchor (#) megoldással természetesen működik, de az csak annyit csinál, hogy odaugrik az oldalon belül. Nekem pedig az kell, hogy a linkre (címre) kattintva hogy az egész oldalból az épp aktuális cikket olvassa ki (id alapján) a php és azt jelenítse meg új oldalon és akkor csak az látszik.
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
Speeedfire
nagyúr
Miért van az ha redirect előtt beállítok egy session-t akkor okés, de ha már redirect-elt akkor már nem?
Elvileg a session addig él ameddig nem zárom be a böngészőt vagy nem?
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Coyot
őstag
-
Speeedfire
nagyúr
Hol saját oldalra, hol más domainre.
if(isset($_GET['cat'])) {
$id = $_GET['cat'];
$url = Yii::app()->getBaseUrl(true);
Yii::app()->session['cat'] = $id;
//var_dump(Yii::app()->session['cat']); exit;
if($url == 'http://example.com' && Yii::app()->session['cat'] == 1) {
$this->redirect('http://example2.com');
}
else {
$this->redirect(Yii::app()->baseUrl.'/');
}
}Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
válasz Speeedfire #9373 üzenetére
Nézd meg a redirect() definícióát, szerintem ilyenkor nem fut le a session mentése. Ha OO session saver van, akkor el szokták felejteni beregisztrálni shutdown function-nek a session mentését (esetleg a session-t mentő objektum __destruct()-jába).
-
Speeedfire
nagyúr
válasz Peter Kiss #9374 üzenetére
Még manuálisan is megpróbáltam menteni. session_write_close(). De semmi. Csak akkor menti el a session-t, ha belső oldalra "megy" a redirect. Próbáltam a false paraméterrel is, de szerintem itt a yii mindent kidob redirectnél. Vagy a franc tudja.
[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz spammer #9370 üzenetére
Feltételezem, a WordPress is támogat komolyabb szintű cache-elést, így szerintem érdemes lenne mégis megfontolnod az arra vagy más CMS-re való átállást, ha valami könnyen módosíthatót szeretnél - lehet, hogy később bővíteni szeretnéd tartalmakkal az oldaladat.
Persze ez csak lehetséges alternatíva, ha időt szeretnél magadnak megspórolni.Ha nem akarsz ilyet, és az egyszerű megoldások között keresel, létezik nagyon favágó módszer, ami nagyon nem a webfejlesztés gyöngye, de végül is működik, vegyük úgy, hogy mondjuk 10 darab cikked van, és ahogy említetted, ez 10 külön HTML-fájlba van szétdobva, és csakis ezeket szeretnéd megjeleníteni:
- mindegyik fájlnak legyen azonos a kiterjesztése (pl. .php, ha akarsz mondjuk belerakni valami PHP-kódot, legyen alkalmas rá), és lehetőleg a követhetőség miatt legyenek azonos könyvtárban
- van egy index.php fájlod, ahol az összes lényeges műveletet elvégzed; az ömlesztett kiíratást, valamint az egy darab megadott cikknek a kiíratását is
- berakod egy tömbbe ennek a 10 db fájlnak a nevét mondjuk kiterjesztés nélkül, figyelsz rá, hogy helyes nevet adj meg, és lehetőleg egyáltalán ne tartalmazzon ékezetes vagy más speciális karaktereket;
- egy foreach-csel végigmész ezen a tömbön, és szépen file_get_contents-szel beolvastatod és kiíratod ezeknek a fájloknak a tartalmát
- mindeközben figyelsz arra is, hogy a fájlokban a cikk címe és egy önhivatkozás is legyen benne - a hivatkozás meg mondjuk legyen ilyesmi: index.php?article=tokmindegy, ahol tokmindegy a fájl neve kiterjesztés nélkül, kiterjesztéssel meg tokmindegy.php
- ha valaki úgy nyitja meg az oldalt, hogy http://example.com/index.php VAGY http://example.com/index.php VAGY http://example.com/index.php?article=, akkor ömlesztve jeleníted meg az összes cikket
- ha valaki úgy nyitja meg az oldalt, hogy http://example.com/index.php?article=tokmindegy, akkor megvizsgálod, hogy létezik-e a tokmindegy.php az adott könyvtárban, ha igen, akkor kiíratod, és kész vagy; ha nem létezik, akkor pl. kiraksz egy hibaüzenetet, hogy nincs ilyen fájl, és megjeleníted ömlesztve a tartalmat. Ha valaki ilyen módon nyitja meg az oldalt, akkor a $_GET['article'] értéke egyenlő lesz tokmindegy sztringgel.Vegyük azt, hogy az "itt_tarolod_a_cikkeket" könyvtárban vannak a tartalmaid, ez pedig az index.php-vel azonos könyvtárban helyezkedik el.
Valahogy így néz ki akkor a könyvtárstruktúra (most azért tettem DIR-t az itt_tarolod_a_cikkeket mögé, hogy jelezzem, hogy az egy könyvtár):fejlec.php
lablec.php
index.php
itt_tarolod_a_cikkeket [DIR]
|-- tokmindegy.php
|-- masikcikk.php
|-- megegycikk.php
|-- ....Ez alapján NAGYON leegyszerűsített tákolmány fos példa, gyorsan összekotorva:
Pl.:
<?php
// .....................
$articles_directory = 'itt_tarolod_a_cikkeket';
$articles_array = array( 'tokmindegy', 'masikcikk', 'megegycikk', );
$page_to_show = '';
$errors_array = array();
if( !empty($_GET['article']) ){
if( in_array($_GET['article'], $articles_array) ){
if( file_exists($_GET['article']) ){
$page_to_show = $articles_directory.'/'.$_GET['article'].'.php';
}
else{
$errors_array[] = "File doesn't exist or is not available!";
}
}
else{
$errors_array[] = 'The following article is invalid: "'.$_GET['article'].'"';
}
}
?>
<html>
<head>
<title>Teszt</title>
.......
<style type="text/css">
.red {
color:red;
}
</style>
<head>
<body>
<div id="page">
<div>
<?php
require_once('fejlec.php');
?>
</div>
<div id="content">
<?php
if(!empty($errors_array)){
echo '<div class="red">', implode('<br />', $errors_array), '</div>';
}
if(empty($page_to_show)){
foreach($articles_array as $article){
$article_path = $articles_directory.'/'.$article.'.php';
if( file_exists($article_path) ){
echo file_get_contents($article_path);
}
else{
echo '<div class="red">"'.$article.'" doesn\'t exist!</div>';
}
}
}
else{
$article_path = $articles_directory.'/'.$page_to_show.'.php';
echo file_get_contents($article_path);
}
?>
</div>
<div>
<?php
require_once('lablec.php');
?>
</div>
</div>
</body>
</html>Mivel őszintén szólva még egy szövegszerkesztőbe sem dobáltam bele, csak itt a PH!-s textarea-ba pötyögtem be, ezért ne tépjétek le a tökömet, ha szintaktikai hibát tartalmaz, innen úgy tűnt, hogy nincs benne.
Meg hát ezzel nem akartam senkinek programozási tanácsot adni, sőt, mert ez nem egy szép módszer.
Csak a gyorscélnak megfelel, legalábbis ez a fenti ilyen ötperces módszer.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Speeedfire #9375 üzenetére
A Yii nem valami generált hash alapján azonosítja az "aktív" sessiont?
Itt írtam le Drupallal kapcsolatban, hogy valaki hogyan tudja elérni a Drupal által indított sessiont saját kódból, a Drupal "irányításán kívül": [link]. A Drupal itt látható, hogy generálja a hash-t a session_name-hez: [link]. Többek közt a $cookie_domain változó alapján.Nem nagyon látom át a problémádat, de nem lehet egy ilyenhez hasonló forrása a dolognak?
Sk8erPeter
-
Speeedfire
nagyúr
válasz Sk8erPeter #9377 üzenetére
Hát nem, de alakul a megoldás. Ott van a hiba, hogy:
pelda.hu meg pelda2.hu
Hiába állítom be még a pelda.hu oldalon a session-t, a pelda2.hu oldal már nem fogja látni. De, hogy erre nem jöttem rá...gondolom nem is lehet akkor máshogy megoldani ezt, hogy ha a pelda.hu oldalon akarok egy session-t regisztrálni a pelda2.hu oldalra.
Marad akkor az eredeti ötlet, hogy paraméterrel redirectelek.
pelda.hu/?sessionerteke=session //vagy valami hasonló.Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #9378 üzenetére
Ja, hogy te azt alapnak vetted, hogy ha elso.example.com-on indítasz egy sessiont, beállítasz néhány session változót, átirányítasz elso.example.com-ról masodik.example.com-ra, akkor masodik.example.com látni fogja az elso.example.com oldalon beállított session változókat, vagy mi?
Ez milyen biztonsági rés lenne?
Már a feltételezést sem értem.Sk8erPeter
-
válasz Speeedfire #9378 üzenetére
P3P header, illetve a megfelelő ponton el kell intézni pl. iframe-mel, hogy átküldje a sütihez a megfelelő adatokat a 2. ... X. oldalnak. Persze mindezt csak akkor, ha egy helyről fut minden.
-
Sk8erPeter
nagyúr
válasz Peter Kiss #9380 üzenetére
Mondjuk akkor már azt is lehetne, hogy közös adatbázishoz férnek hozzá mind a két domain alól. Igaz, jó lenne tudni a feladatot is, hogy mihez kell.
Sk8erPeter
-
válasz Sk8erPeter #9381 üzenetére
A felvázolt ötlethez ez elengedhetetlen.
-
biker
nagyúr
válasz Sk8erPeter #9379 üzenetére
Mar akkor elhasal a session, ha valami.hu cimrol www.valami.hu domainre valtasz
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 |
-
Speeedfire
nagyúr
válasz Sk8erPeter #9379 üzenetére
Így van, gondoltam egy szerver, egy htdocs...mi baj lehet?!
Így utólag tényleg hülyeség...Közös az adatbázis is.
Athlon64+: Hagyom, marad a direct linkelés az adott kategória megadására.[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
MODERÁTOR
Sziasztok! Most css kérdés, de van pár divem, amit nem szeretném ha egymás felé pakolna a mobil böngésző, mit kell vele tennem? Position relative?
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
Sk8erPeter
nagyúr
"van pár divem, amit nem szeretném ha egymás felé pakolna a mobil böngésző"
Hogy mi van? Most találjuk ki, milyen stílust állítottál be ezekre a divekre?
Pakold már fel jsbinre, vagy valami...
Vagy legalább mutass egy nyomorult screenshotot, fotót, vagy bármit, hogyan is néz ki az a misztikus valami...===
(#9383) biker : nem "elhasal", hanem más munkamenet érvényes a másik előtaggal rendelkező domainre. Jól is van ez így!
===
(#9384) Speeedfire : ja, hogyne, és az egy osztott szerveren a hosting cégeknél ilyen alapon minden oldal hozzáférne a másik oldal sessionjéhez, milyen mókás lenne, nem?!
Sk8erPeter
-
spammer
veterán
válasz Sk8erPeter #9376 üzenetére
Köszönöm a tippet, elrakom magamnak ezt a megoldást is, de tegnap rátaláltam a Simple HTML DOM Parser-re [link] és azzal sikerült megoldani
Most úgy van, hogy az index.php -n egy divbe töltődnek be a tartalmi részek és switch segítségével lehet váltogatni a tartalmakat. (index.php tartalmazza a fejlécet, menüt, láblécet, tehát az "állandó").
Például:
<?php
$error = "Hiba: A keresett oldal nem található...";
switch($_GET["page"])
{
case "cikkek":
if (is_file("cikkek.html"))
{
include "cikkek.html";
}
else
{
echo $error;
}
break;
case "kapcsolat":
if (is_file("kapcsolat.html"))
{
include "kapcsolat.html";
}
else
{
echo $error;
}
break;
case "cikk1":
if (is_file("cikkek.html"))
{
include('simple_html_dom.php');
$html = file_get_html('cikkek.html');
foreach($html->find('article#cikk1') as $e)
echo $e;
}
else
{
echo $error;
}
break;
default:
include("cikkek.html");
break;
}
?>Tehát ha a cikk1-re váltunk, aminek az index.php?page=cikk1
lesz a linkje, akkor simple_html_dom.php megkeresi a cikkek.html -ben a cikk1 id-vel ellátott article-t (vagy lehet akár div is) és azt jeleníti meg.Most ez csak egy példa volt az eddigiek alapján, de nálam gyakorlatban működik
[ Szerkesztve ]
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
Speeedfire
nagyúr
válasz Sk8erPeter #9386 üzenetére
Minden kérdésedre válaszoljak?
Jó, ez csak egy kusza, át nem gondolt ötlet volt.Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz spammer #9387 üzenetére
Kicsit összeesett a kódod.
Önmagában ez a parser elég jónak és könnyen használhatónak tűnik, a Te feladatodhoz azonban szerintem ennek a használata erős túlzás - igazából feleslegesen erőforrásigényes, hogy egy viszonylag hosszú fájlból (cikkek.html) kotorja ki a megfelelő id-vel rendelkező div-et.
Ezért írtam a példát, amit mutattam - ott széjjel vannak bontva külön fájlokra a cikkek, tehát ha egyetlen cikket akarsz megjeleníteni, akkor egyetlen fájl tartalmát csak egy az egyben behúzza, és készen is van. Ez pedig végigkotorja a cikkek.html-t, beparse-olja, jó nagy meló árán keresgél benne egy valid, adott id-vel ellátott DOM-elemet, majd végül azt jeleníti meg. Lehet, hogy ennyi cikknél még nem annyira vészes a futási ideje, sőt, 8 cikknél valószínűleg nem is olyan nagyon veszed észre a különbséget, mert alapvetően normális esetben gyorsan dolgozik a PHP, de gondolj bele, ez milyen durván erőforrásigényes lenne mondjuk 100 cikknél.Alapvetően nem ilyenekre való ez a parser. Inkább olyasmire lehet gondolni, ami a példában is van: pl. van egy külső oldal, ami itt épp a Google oldala, aminek a forráskódjából bizonyos részeket egy az egyben be akarsz húzni, és azt szerveroldalon megtenni, amire ilyen módon van lehetőség. A példában behúzza a google.com tartalmát, majd előkotorja belőle a képeket és a linkeket. Ilyet saját, "belső" oldalon megjátszani totálisan pazarlás, amikor külön-külön is lehetnének a fájljaid.
A másik az, hogy ha a felhasználó úgy nyitja meg az oldalt, hogy a $_GET['page'] nincs beállítva (tehát http://example.com/index.php?page=XYZ HELYETT http://example.com), akkor amennyiben a PHP hibajelzése magasabbra van állítva, kapsz egy notice-t, hogy felhasználsz olyan változót, ami nincs beállítva.
A switch blokk előtt ezért érdemes lenne legalább egy vizsgálatot elvégezned:$page_to_display = '';
if( isset($_GET['page']) ){
$page_to_display = $_GET['page'];
}
switch($page_to_display){
.............
}Sk8erPeter
-
spammer
veterán
válasz Sk8erPeter #9389 üzenetére
Igaz, szét lehetne bontani minden egyes írást külön html oldalakra, csak nekem "nem tetszik", hogy szét lennének darabolva, mármint hogy "sok a file" Meg akkor alapból mindegyiket egyesével be kell töltögetnie a php-nek, hogy a főoldalon mindegyik egymás alatt megjelenjen. Egyébként nincs és nem is lesz sok cikk, tehát nem lesz komoly terhelés, de lehet, hogy akkor mégis szétbontom őket külön html-ekre
Ezt a vizsgálatot majd kipróbálom, köszi! (Bár nem kapok hibaüzit így sem)
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
Jim-Y
veterán
Sziasztok, cake php-t használok és van egy ilyen kódom:
function add_by_name($pid, $name) {
$newSG['SG']['name']=$name;
$newSG['SG']['parent_id']=intval($pid);
$this->layout = 'ajax';
$data['status']=0;
if ($this->SG->save($newSG)) {
$data['status']=1;
$data['id']=(int)$this->SG->id;
}
$this->set(compact('data'));
$this->viewPath = 's_gs';
$this->render('ajax');
}Kis magyarázat, ez egy olyan függvény, amit 2 paraméterrel a jquery kódból hívok meg ajax call segítségével, azt kéne csinálnia, hogy egy adatbázisba elment valamit, aminek adott a neve, és a parent_id-je. Ennyit elég elmentenie, a mentést a cakePHP végzi. Ha valaki nem ismeri a cake php-t, mert miért is ismerné, attól csak annyi lenne a kérdésem, hogy ide miért nem jut bele?:
if ($this->SG->save($newSG)) {
$data['status']=1;
$data['id']=(int)$this->SG->id;
}Mert tulajdonképpen ez a gond, hogy a satus 0 marad, tehát bele sem jut, bár gondolom a probléma az lehet, hogy nem menti el, így nem ad vissza 'true'-t.
Aki ismeri a cakePHP-t, az segíthetne abban, hogy miért nem működik a beépített save() fv itt?:S üdv és köszi.
megj: az ajax hívás kód oldalon jó, és a paraméterek is átjönnek, azt leellenőriztem. üdv
megj2: jah, és a $this az itt mire vonatkozik?
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz spammer #9390 üzenetére
"Meg akkor alapból mindegyiket egyesével be kell töltögetnie a php-nek, hogy a főoldalon mindegyik egymás alatt megjelenjen."
Így viszont minden egyes különálló cikk miatt végig kell bogarásznia a teljes cikkek.html-t, azt beparse-olni, keresgélni a megfelelő id-val ellátott elemet, stb., tehát amiket már korábban írtam. Az meg ezerszer erőforrás-igényesebb, mint egy ciklussal egyszerűen kiíratni mondjuk 8 különálló HTML-fájl tartalmát.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
"megj2: jah, és a $this az itt mire vonatkozik?"
Na hát ez az.
Anélkül, hogy ismerném a CakePHP-t:
Ez a function nálad nem egy különálló, "globális" függvény, nem az a para? Ez a $this az objektum aktuális példányára szokott vonatkozni, az általad berakott kódból viszont nem az derül ki, hogy mondjuk ez egy osztály, pedig annak kéne lennie.Példa, hogyan működne a $this:
class Tokmindegy {
private $SG = 'blabla';
public function getSG(){
return $this->SG;
}
}
$valami = new Tokmindegy();
echo $valami->getSG();
// KIMENET: 'blabla'=======
Szerk.:
hát hallod, gratulálok a CakePHP magyar oldalának elkészítőinek:
Ezzel aztán rohadtul meggyőztek, hogy válasszam a PHP-t, hogy egy ordas buzinagy PHP-hibát dobnak az arcomba...[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Sk8erPeter #9393 üzenetére
"hogy válasszam a PHP-t"
akarom mondani: hogy válasszam a CakePHP-t...Sk8erPeter
-
spammer
veterán
válasz Sk8erPeter #9392 üzenetére
Oké, külön bontottam őket! Köszönöm a sok segítséget
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
Speeedfire
nagyúr
válasz Sk8erPeter #9393 üzenetére
Ezzel aztán rohadtul meggyőztek, hogy válasszam a PHP-t, hogy egy ordas buzinagy PHP-hibát dobnak az arcomba..
Jobb lenne, ha nem jelezne ki semmit sem?
Az meg, hogy a fejlesztők....hát...[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #9397 üzenetére
"Jobb lenne, ha nem jelezne ki semmit sem?"
Igen, éles oldalon jobb lenne, ha nem jelezne ki semmit sem, hanem naplózva lenne mindenféle hiba...Sk8erPeter
-
Speeedfire
nagyúr
válasz Sk8erPeter #9398 üzenetére
Így legalább látod, hogy a cakephp milyen is.
A yii-ben szeretem, hogy ott aztán naplóz nekem elég rendesen, így ha van valami akkor megtalálom. Mutatja a teljes hívási listát is.Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Jim-Y
veterán
Annyira hülyén működik, hogy azt el se tudom mondani
Új hozzászólás Aktív témák
- Ej-Ha! Lenovo ThinkPad P53s Szép Home & Business Laptop -70% 15,6" i7-8665U 16/512 Quadro P520 2GB
- Új Lenovo ideapad 5 Pro Prémium Ultrabook 14" -30% Bivaly Ryzen 5 5600U 8GB 512GB 2,2K RADEON 2GB!!
- iPhone 13, 128GB, starlight, kártyafüggetlen, 88% akku
- Tyű-ha Lenovo Thinkpad T15 "Golyóálló" Üzleti Laptop 15,6" -50% i7-10510U 4Mag 32GB/512GB FHD IPS
- Új 2K AM5 Gamer PC R5 7600/RTX 3070 8Gb/2X8Gb 6000Mhz DDR5/500Gb SSD M2/700W 2Év gari
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen