WebPillangó főoldal
Oldalak: [1] 2 3 ... 5   Le
  Nyomtatás  
Szerző Téma: PHP weboldalmotor  (Megtekintve 61020 alkalommal)
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 966


WWW
« Dátum: 2007. 09. 11. - 20:26:38 »

A weboldalon van egy cikk, amely egy PHP weboldalmotort írt le ( http://webpillango.org/2007/08/23/php-weboldal-motor/ ). A cikkel kapcsolatos kérdéseket ide várom, mivel a commentekben nem igazán jelennek meg a tagok (biztonsági okokból).

Válaszolnék is, Aero95 legutóbbi kérdésre:

Ha nincsen meghatározva a module változó, akkor az az oldal töltődik be, feltéve ha létezik, amely az $act változóban át van adva. Az oldalon lévő példában a main.php oldal a betöltendő alap esetben.
Naplózva
AERO93
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 10


« Válasz #1 Dátum: 2007. 09. 12. - 13:08:58 »

értem, és ha nem akarod megadni semmit, akkor mi a teendő?

vagy ha pl. beírom oda hogy start.php akkor ott mit adjak meg linknek? vagy így nem működik?
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 966


WWW
« Válasz #2 Dátum: 2007. 09. 12. - 13:55:52 »

Az már nem weboldal, ahol nincsen egy kezdőoldal. Valahol landolnia kell a táltogatónak, amikor beírja a címet a weboldalnak. Tehát, minimum egy oldala kell legyen, az index.php, ami kíírja, hogy hello, vagy valami. Mivel dinamikus az egész, a hellos szöveget egy külső fileből kel kiolvasni, ellenkező esetben az a statikus szöveg írodik ki, amit megadsz a php motornak, ha nem találhjató egy oldal.

Ha másra gondolsz, kérlek fejtsd ki gondolatod bővebben.
Naplózva
AERO93
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 10


« Válasz #3 Dátum: 2007. 09. 12. - 17:41:25 »

szóval akkor <html>..etc. php kód, megadom pl. a fooldal.php-t. kész. csinálok egy fooldal.php-t és abba egy linknek megadom ezt: index.php?modules=lap1. így?
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 966


WWW
« Válasz #4 Dátum: 2007. 09. 12. - 17:55:56 »

Nem bánnám, ha szánnál egy kis időt, és leírnád a teljes problémát. Válasz, igen, úgy linkelsz egy másik oldalat.
Naplózva
AERO93
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 10


« Válasz #5 Dátum: 2007. 09. 18. - 19:57:23 »

Szóval:

Szeretnék egy oldalt ami így működik index.php?vmi=letoltes

Látom ott a script... csinálok egy code.php-t amiben található ez a kód. Megadok neki hogy az index.php-t töltse be.
Az index.php-ban a menüben a letöltésnek ezt adom meg:  < a href = " index.php?modules=letoltes " </ a >

Így működik?
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 966


WWW
« Válasz #6 Dátum: 2007. 09. 18. - 20:05:55 »

Kissé sántít a dolog. Pontosabban így van a felhasználás:

  • fogom az index.php-t
  • beillesztem a php kódot pontosan arra a helyre, ahova az oldalakat/tartalmat be szeretném olvasni
  • elkészítem a hivatkozásokat, ógy ahogyan azt te is írtad

Ennyiből áll a dolog Mosolyog Remélem ezúttal segítettem a megvalósításban.
Naplózva
AERO93
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 10


« Válasz #7 Dátum: 2007. 09. 23. - 16:29:25 »

na akkor az index.php-ba berakom a php-t és a module változónak megadom hogy main.php

a main.php ezt tartalmazza:

<html>
<body>
<li><a href="index.php?modules=lap1">Feltöltés</a></li>
</body>
</html>

ezt megcsináltam de a következő üzenet fogad: katt

// elnézést hogy ennyit szenvedek de az istenért sem akar összejönni Szomorú
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 966


WWW
« Válasz #8 Dátum: 2007. 09. 23. - 19:36:24 »

Valamit félremásoltál, szintaxis hibát idéztél elő!
Elmondanám mégegyszer, ezúttal sokkal részletesebben.

Van a php kód részlet. Azt be kell helyezned az index.phpba. Ahová a kódot illeszted, ott fog megjelenni az általa beolvasott oldal. Az index.php többi része statikus. A beolvasott oldalak nem szabad tartalmazzák a html elejét és évégt, csakis tartalmi részt, vagyis: nincs <html> <head> és <body> tag benne. Ez azért van, mert megőrítené az index.phpt.

Kezdem észrevenni, hogy neked mi a probléma. Te bizonyára arra gondoltál, hogy ez a kód teljes oldalakat hív be. Igen ám, ez így is van, de akkor picivel másképpen kell hozzaállni a dolgokhoz. Ha teljes oldalakat akarsz behívni, akkor az index.php csupán a php kódot tartalmazhatja, és a beolvasott oldalak teljesek kell legyenek, kezdő <html> tagtól a záró </html> tagig.

Gondolom ezúttal segítségre találtál Mosolyog
Naplózva
AERO93
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 10


« Válasz #9 Dátum: 2007. 09. 23. - 20:09:07 »

értem, a hiba megszűnik ha kiveszem a <?php ?> php tagot, viszont így ez nem jó mert akkor simán kiírja a kódot... nemtudom mi van velem , nem szoktam ilyen értetlen lenni, meg mintha egyszer már sikerült volna megcsinálnom
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 966


WWW
« Válasz #10 Dátum: 2007. 09. 23. - 20:42:55 »

Próbáld átnézni a kódot. Azt írja, hogy a 11es sorban van a hiba, ahol egy egyenlőségjel táton egy záró kerekzárójel helyett. Nézd meg, nem egy függvény zárodik éppen, amit nem vettél figyelembe? Ha nem sikerül rájönnöd, akkor vágd be a kódot, a 10-12 sort.

U.I.: használd a [ code][ /code] BB kódokat, hogy lássa az ember a kódot Mosolyog
Naplózva
AERO93
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 10


« Válasz #11 Dátum: 2007. 09. 24. - 13:48:34 »

Na nemtudom hogy melyik az ( innen másoltam az oldalról)

Kód:
<?php 
$modules
["lap1"] = "oldal1.php";
$modules["lap2"] = "oldal2.php";
 
$act "main.php"//az alap betoltes, ha nincs megadva a module valtozo
 
if ( !isset($_GET["module"]) ){
  
$get_mod "";
}
else 
$get_mod strip_tags(htmlentities($_GET["module"]));
 
foreach(
$modules as $mod =&gt$act_m){
  if( 
strcmp($mod,$get_mod) == ){
    
$act $act_m;
    break;
  }
}
 
if ( 
file_exists($act) ){
  include 
$act;
}
else{
  echo 
"Az oldal nem található.";
 
  
/**
   * vagy beolvashatsz egy sajat hibaoldalt is, ha azt irod, hogy
   * inlude "hibaoldal.php";
   *
   */
}?>

Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 966


WWW
« Válasz #12 Dátum: 2007. 09. 24. - 16:39:49 »

Megvan a hiba, ebben a sorban van
Kód:
foreach($modules as $mod =&gt; $act_m){
Elírás történt, jobban mondva, a hack-safe TinyMCE kissé gázúl sütötte el a dolgokat, amikor kicserélte a jobb kacsacsőrt a megfelelő html entitásra. A hiba az oldalon is javításra kerűlt, és itt is:
Kód:
foreach($modules as $mod => $act_m){
Naplózva
AERO93
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 10


« Válasz #13 Dátum: 2007. 09. 24. - 18:23:46 »

így a probléma megoldódott... a main.php-ba nem kell semmilyen include vagy ilyesmi?

csak mert próbáltam index.php? és sima ?-el a linkelést csak még ígysem halad sehová Mosolyog
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 966


WWW
« Válasz #14 Dátum: 2007. 09. 24. - 21:28:49 »

main.php, ahogyan azt már mondtam, egy sima oldal, bármit el szabad-tud végezni. Ha az index tartalmazza a html headert és tagokat, akkor a main.php típusuak nem szabad tartalmazzák. Ha az index.php csak az oldal kontrollt végzi, akkor minden main.php típusu oldal teljesen, kezdő html tagtól utolsóig, meg kell legyen írva.
Azt hiszem hamarosan ki fogom egészíteni egy zipel a leírást, vagy ide fogom csatolni Mosolyog Az a legjobb mindenkinek.
Naplózva
AERO93
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 10


« Válasz #15 Dátum: 2007. 09. 25. - 16:04:57 »

mindent úgy csináltam ahogy írtál de nem akar előre haladni, megadtam lap1-nek hogy welcome.html( alap extra kezdőoldal) a main.php-ba pedig index.php?modules=lap1..de mégsem megy
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 966


WWW
« Válasz #16 Dátum: 2007. 09. 25. - 16:41:36 »

Első dolog az, hogy a php snippet az index.phpba kell kerüljön, nem a main.phpba. A másdoik meg az, hogy nálad a main.php szerepét a welcome.html veszi át. A main.phphoz abszolut nem kell ragaszkodni, az csak egy példa, lehetne az akár hull-a-ho-s-fazik.micimacko is Mosolyog (ékezetek akarattal nincsenek).
Naplózva
AERO93
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 10


« Válasz #17 Dátum: 2007. 09. 25. - 18:04:36 »

tudom, csak az volt bent hát olyat csináltam, ezt is csak próbának csinálom, mert készülő oldalhoz jó lenne egy ilyen minimal motor Mosolyog
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 966


WWW
« Válasz #18 Dátum: 2007. 09. 25. - 18:30:31 »

Értem. Nagyon remélem sikerül összerakni valahogy Mosolyog
Naplózva
AERO93
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 10


« Válasz #19 Dátum: 2007. 09. 25. - 21:29:53 »

szóval akkor csupasz php kód az indexben, main.php module, main.php teljes xhtml szerkezetű honlap és index.php?modules=xy linkelés.

akkor így kellene, köszönöm a segítséget, remélem majd nekem is sikerül összehoznom valahogy.
Naplózva
Oldalak: [1] 2 3 ... 5   Fel
  Nyomtatás  
 
Ugrás: