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

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

Hozzászólások: 966


WWW
« Válasz #60 Dátum: 2008. 03. 15. - 21:06:00 »

A problemadra a .htaccess file a megoldas, abban egy nehany sor. Ha ingyenes tarhelyen vagy, nem biztos, hogy megengedett a hasznalata Szomorú A beillesztendo kod a kovetkezo:

Kód:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^module/([^/\.]+)/?$ index.php?module=$1 [L]
</IfModule>

A te keresed es a megoldas kozt a kulonbseg az (a szepseg kedveert), hogy a linkek igy kell kinezzenek: www.oldal.hu/module/valami-aloldal, hogy igy hivodjanak meg: www.oldal.hu/index.php?module=valami-aloldal

Bovebb olvasmany a megoldasrol: http://weblabor.hu/cikkek/rovidwebcim vagy google: .htaccess mod rewrite tutorial
Mas fajta megkozelites a tutorial.hu-n: http://www.tutorial.hu/forum/forums.html?s=&showtopic=1207&view=findpost&p=92860
Naplózva
Alex
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 15


« Válasz #61 Dátum: 2008. 03. 15. - 21:18:22 »

Köszönöm szépen a választ! Ki fogom próbálni a leírtakat.  Mosolyog
Naplózva
Tupacko
WebPillangó

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

Hozzászólások: 966


WWW
« Válasz #62 Dátum: 2008. 03. 15. - 21:52:52 »

Nagyon szivesen Mosolyog
Naplózva
aanos
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 5


« Válasz #63 Dátum: 2008. 08. 21. - 22:04:55 »

Szia Tupacko!

Egyszer már használtam a kódodat és minden simán ment vele.
De most második próbálkozásra nem akarja betölteni az oldalakat.
Vetnél rá egy pillantást, mit rontottam el?

Kód:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <meta http-equiv="Content-Language" content="hu" />

<meta http-equiv="cache-control" content="no-cache" />

<title>Real Wing Tsun Kung Fu Sopron, Szombathely</title>

<link rel="stylesheet" href="realwingtsun.css" type="text/css">

</head>



<body>

<div id="main">

    <div id="banner"></div>

        <div id="menu">

<ul id="nav" class="nav">
           
            <li><a href="index.php?modules=lap1">A Wing Tsunról</a></li>
                <li><a href="index.php?modules=lap2">Sihing Németh János</a></li>
                <li><a href="index.php?modules=lap3">Edzések</a></li>
                <li><a href="index.php?modules=lap4">Hírek</a></li>
                <li><a href="index.php?modules=lap5">Galéria</a></li>
                <li><a href="index.php?modules=lap6">Vendégkönyv</a></li>
                <li><a href="index.php?modules=lap7">Linkek</a></li>
                <li><a href="index.php?modules=lap8">Kapcsolat</a></li>
            </ul>
        </div>
         
</div>

         

         <div id="content">

          <?php

$modules["lap1"] = "awingtsunrol.htm";

$modules["lap2"] = "sihingnj.htm";

$modules["lap3"] = "edzesek.htm";

$modules["lap4"] = "index.php";

$modules["lap5"] = "hirek.htm";

$modules["lap6"] = "index.php";

$modules["lap7"] = "linkek.htm";

$modules["lap8"] = "email.htm";

$act "main.php"//az alap betoltes, ha nincs megadva a module valtozo
 
if ( !isset($_GET["modules"]) ){
  
$get_mod "";
}
else 
$get_mod strip_tags(htmlentities($_GET["modules"]));
 
foreach(
$modules as $mod => $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";
   */
   
}
?>

         </div>

     </div>

</body>

</html>
Naplózva
Tupacko
WebPillangó

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

Hozzászólások: 966


WWW
« Válasz #64 Dátum: 2008. 08. 22. - 11:07:20 »

Pontosan milyen hibat ad? Elso ranezesre nem latom mi lehet. Ha megmondod, hogy pontosan mi tortenik, vagy adsz egy linket, ahol megnezhetem a hibat, akkor tudok segiteni Mosolyog
Naplózva
aanos
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 5


« Válasz #65 Dátum: 2008. 08. 22. - 13:07:12 »

A probléma következő:

A hivatkozásokra kattintva mindig a main.php töltődik be és nem a linkelt oldal. A linkelt oldal csak szöveget tartalmaz, semmi html kód.
A honlap:real-wingtsun.hu
Naplózva
Tupacko
WebPillangó

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

Hozzászólások: 966


WWW
« Válasz #66 Dátum: 2008. 08. 23. - 09:43:58 »

Nem értem mi lehet. Kimásoltam az általad írt kódot, elmentettem egy szerverre és szépen működött. Ha ez az index.php kódja, akkor működnie kell. Valahol máshol kell a gondot keresni, mert nem a PHP weboldalmotor szkriptjében van. A további kérdéseid a témában a PHP témakörben tedd fel, mert oda jobban illik (tudván, hogy nem a weboldalmotorral van a gond).
Esetleg, mint afféle teszt, próbáld meg kiíratni a változókat, amiket a weboldalmotor használ, hogy lásd, minden helyes értéket kap? A main.pph-t akkor tölti be, ha nincs megadva a modules változó.
Naplózva
redvak

Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 3


« Válasz #67 Dátum: 2008. 10. 21. - 10:58:45 »

Sziasztok
én ennek a topic 2. oldalán talált kóddal próbálkozom, be is olvassa flottul, csak az a bibi, hogy ékezetes betük helyett
html -ből olvastatom ki az adatokat, <body> és </body> közötti részt tartalmazza a html...
mi lehet a gond?

index3.php tartalma:
Idézet
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>index3.php</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default2.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
   <h1>Metált bírod??</h1>
   <h2>reddaavid titkos naplója</a></h2>
   </div>
<div id="content">
   <div id="colOne">
      <div class="post">
<?php
$modules["lap1"] = "oldal1.html";
$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 => $act_m){
  if( strcmp($mod,$get_mod) == 0 ){
    $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";
   *
   */
}?>
   </div>

   <div id="menu">
      <ul>
         <li class="first"><a href="index3.php?module=lap1">Home</a></li>
         <li><a href="index3.php?module=lap2">Blog</a></li>
         <li><a href="index3.php?module="lap1"">Photos</a></li>
         <li><a href=index3.php?module=lap1>Contact</a></li>
      </ul>
   </div>
</div>
</body>
</html>

az oldal1.html tartama meg csak szöveg, semmiféle formázást nem tartalmaz, akár txt is lehetne... lehet ez a baj? írnom kéne a html -be vmi kódot? vagy karakterkészletet? ha igen hogy?
(sorry ha hülyeséget beszélgek, még én is csak tanulom a szakmát) Kacsint
elörre is köszönöm a segitséget
Naplózva
Tupacko
WebPillangó

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

Hozzászólások: 966


WWW
« Válasz #68 Dátum: 2008. 10. 21. - 16:51:05 »

Üdv a fórumon!

Nos, gondolom ez
Idézet
csak az a bibi, hogy ékezetes betük helyett
az akart lenni, hogy az ékezetes betűk helyett furcsa jelek jelentek meg Mosolyog Ez az állomány kódolásától függ. Na már most, ha a befogadó állomány, amiben van a weboldalmotor pl. UTF-8 kódolású (ahogyan az meg is van határozva az állomány fejlécében) és a beolvasott állomány nem UTF-8nak volt mentve, akkor szegény böngésző összezavarodik, mivel nem tudja helyesen dekódolni az információt.

Ellenőrízd le, hogy mindkét állomány legyen UTF-8 kódolásban mentve (lehetőleg UTF-8 Plain, vagy UTF-8 without BOM).
Naplózva
redvak

Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 3


« Válasz #69 Dátum: 2008. 10. 21. - 17:59:11 »

Hello
no igen a magyar sosem volt az erŐsségem Mosolyog
és igen, ez volt a problémám, köszönöm a segítséget
Naplózva
Tupacko
WebPillangó

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

Hozzászólások: 966


WWW
« Válasz #70 Dátum: 2008. 10. 21. - 21:53:41 »

Szívesen Mosolyog
Naplózva
spier
Tag
**
Nem elérhető Nem elérhető

Hozzászólások: 125


« Válasz #71 Dátum: 2009. 07. 15. - 23:54:23 »

Sziasztok!

Elég kihaltak a kommentek, de hátha erre téved valaki.  Kacsint
Ez az egyszerű weboldal motor tökéletesen müxik. Kérdésem csak lényegében annyi lenne - és sorry, ha ez valahol szerepel, vagy nagyon egyszerű lenne kérdésem -, hogy miként lehet kiegészíteni ezt a jóképű mocit, hogy
Kód:
www.oldalam.hu/index.php?module=hirek&id=1
ilyen linket is tudjak kezelni/megadni.

Tehát a fent említett esetnél van egy hírek modul - nevezzük mondjuk fő kategóriának - és azon belül vannak - ebben az esetben - bizonyos hírek kibontása - de természetesen bármi lehet - amik a megadott link szerint vannak rendezve. Lehet látni teljesen laikusan, hogy a híreken belül az 1-es hír oldalán vagyok.

A lényeg az, hogy miként jutok hozzá ilyen "alkategóriákhoz."
Kód:
&id=1
természetesen az id lehetne pl. name vagy index stb.
Esetlegesen, hogyan lehet több mélységig összefűzni ezeket.
Pl.:
Kód:
index.php?module=hirek=&name=&id=1

Előre is köszönöm ha valaki kedves és némi infóval szolgál ezzel kapcsolatban.
Naplózva
Tupacko
WebPillangó

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

Hozzászólások: 966


WWW
« Válasz #72 Dátum: 2009. 07. 17. - 22:50:30 »

Szia!

Udv a forumon.

Ha elolvasod az ebben a temakorben levo irasokat, akkor talalsz pontos leirast erre a problemara. Roviden annyirol van szo, hogy ha pl. a weboldal motor az index.php-ben van es pl module=hirek beolvassa a news.php-t, akkor a news.php-ba is betehetsz egy ujabb php motort, ami mas valtozo szerint tolti be a neki megfelelo oldalt, pl. id=156, ahol az 1 megfelele a 156-os hirnek megfelelo oldalnak.
Naplózva
spier
Tag
**
Nem elérhető Nem elérhető

Hozzászólások: 125


« Válasz #73 Dátum: 2009. 07. 18. - 01:23:13 »

Szia.

Igen, közben átolvastam mindent. A PHP topik 12. lapján még kódot is találtam hozzá. Valahogy nagyon nem áll rá a szervezetem erre, már mindenhogy próbáltam, gondolom valami lépést kihagyok vagy nem tudom, CODE-ban beírom pontosan hogyan csináltam a module részt és akkor szerintem látod mit túrok el.

Akkor van egy index.php ami tartalmazza ezt a mocit. A moci mint látható behúzogat egy adatbázis kapcsoló cuccot, behúz egy header.php részt ami pontosan a <html> résztől egészen a <div id="header">bla bla bla</div> részig tart. Van ugyebár a modul rész ami betölti a cuccokat ami nekem a <div id="content"></div> részben van, illetve be van rántva egy footer.php is ami adja az alsó menüt stb.
Tehát a tartalmat amit a modullal meghívok az egy <div id="content"></div> részben foglal helyet, a többi mint Mariban a gyerek. Mosolyog
Persze jogos a kérdés minek nekem dbconn.php-t berántani mikor ennyit nem tudok megcsinálni Mosolyog - azóta már mással haladtam és MySQL-ből már tudok kiírni dolgokat.

Akkor a moci:

Kód:
<?php include ("dbconn.php");?>
<?php include ("header.php");?>

<?php 

$modules
["main"] = "main.php";
$modules["cikkek"] = "cikkek.php";
$modules["hirek"] = "hirek.php";
$modules["kapcsolat"] = "kapcsolat.php";

$act "main.php";
 
 
if ( !isset($_GET["module"]) ){
  
   $get_mod "";
}
 
else $get_mod strip_tags(htmlentities($_GET["module"]));
 
 
   foreach($modules as $mod => $act_m){
    if( strcmp($mod,$get_mod) == ){
    
        $act $act_m;
    break;
  }
}
 
   
if ( file_exists($act) ){
  
   include $act;
}
 
else{
  
   echo "A keresett oldal nem található!";
 
  
/**
   * include ("main.php");
   */
}

?>


<?php include ("footer.php");?>

A hirek.php amit a index.php?module=hirek beránt az ilyen: (tehát mivel inklúdultam - szép Magyarosan - a felső és alsó részeket így csak a tartalmat hívom meg)

Kód:
<div id="content">
<div class="text">
         bla bla bla<br />
         <a href="index.php?module=hirek&id=1">Tovább...</a>
</div>
</div>

Na és akkor elértem a bibiig. Itt nekem van egy kis tartalmi rész amit most a "bla bla bla" helyettesit és az alatta lévő linken szeretnék meghívni egy 1.php lapot ami szintén csak <div id="content"></div> részből állna.

Tanácstalan vagyok hová rakjam ebbe a hirek.php-ba az id dolgot. Ha berakom a mocit akkor megduplázza az oldalt vagy megduplázza a header és footer részeket, persze sohasem adja be az 1.php tartalmát rendesen. Persze látom miért duplázza meg mert amit behívok hirek.php-t abban megint meghívok egy 1.php-t amit nem talál és megy a main.php-ra. Amivel szépen duplán behívok az oldalba.

Megköszönöm én szépen, ha ki tudjuk bogozni a dolgot.

Mellékesen már arra gondoltam hogy a fő index.php mocit kellene kiegészítenem ezekkel az id-s modulokkal, hogy csak a content részeket tudjam rángatni a fix dolgok meg maradnak. Ebben a link sémában: index.php?module=hirek&id=1. De semmi épp gondolatom nem támadt már a kód részre. Mosolyog
Naplózva
Tupacko
WebPillangó

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

Hozzászólások: 966


WWW
« Válasz #74 Dátum: 2009. 07. 18. - 20:08:35 »

Az index.php maradhat az eredeti. A hirek.php legyen igy, de ha sok a cikk es DBben tarolod, akkor a modulok helyen lehet egy sima lekeres is, azt a masodik koddobozban talalod

Kód:
<div id="content">
<div class="text">
<?php 

$modules
["1"] = "hir1.php";
$modules["2"] = "hir2.php";
$modules["3"] = "hir3.php";

$act "main.php";
 
 
if ( !isset($_GET["id"]) ){
  
   $get_mod "";
}
 
else $get_mod strip_tags(htmlentities($_GET["id"]));
 
 
   foreach($modules as $mod => $act_m){
    if( strcmp($mod,$get_mod) == ){
    
        $act $act_m;
    break;
  }
}
 
   
if ( file_exists($act) ){
  
   include $act;
}
 
else{
  
   echo "A keresett oldal nem található!"
}

?>

</div>
</div>

Kód:
<div id="content">
<div class="text">
<?php 

  if ( !isset(
$_GET["id"]) ){
  
   echo "Nincs megfelelo hir.";
        }
 
else {
$hirId strip_tags(htmlentities($_GET["id"]));

$sqlc mysql_connect($db_server$db_felhasznalo$db_jelszo);
mysql_select_db($db_adatabazis);

stb.
        }
?>

</div>
</div>
Naplózva
spier
Tag
**
Nem elérhető Nem elérhető

Hozzászólások: 125


« Válasz #75 Dátum: 2009. 07. 18. - 22:13:46 »

Úgy néz ki sikerül átlátni a káoszon.  Kacsint
Köszi, sikeres a dolog.
Naplózva
Tupacko
WebPillangó

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

Hozzászólások: 966


WWW
« Válasz #76 Dátum: 2009. 07. 19. - 15:03:26 »

Nagyon szivesen, ezert van a WebPillango forum Mosolyog
Naplózva
Peter71
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 1


« Válasz #77 Dátum: 2009. 08. 07. - 09:09:32 »

Szia!

Használom az általad bemutatott motort, jól működik. Két kérdésem lenne:

1. készítettem egy admin oldalt, ahol két menü van. az egyik (főoldal, termék, kapcsolat, referencia, árlista) a motorral a menüponttól függően a div-be tölti egy-egy lekérdezés eredményét, a másik (létrehozás, módosítás, törlés) a lekérdezés eredményét módosítaná. Szeretném, ha ebbe a div-ben jelenítené meg szerkesztést végző ablakot. Hogy tudom ezt megtenni?

2. a weboldal motorokról szerettem volna többet olvasni, de nem találtam olyat ami sima php alapú lett volna, mindenhol cms és más modulok (fórum) motorjairól lehet olvasni. Hogyan tudhatok meg többet erről a témáról?

Köszönöm:
Peter71
Naplózva
Tupacko
WebPillangó

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

Hozzászólások: 966


WWW
« Válasz #78 Dátum: 2009. 08. 12. - 18:30:08 »

Szia!

Az elso kerdesedre mar nehanyszor volt valasz adva, olvass vissza az elozo hozzaszolasokban. A lenyeg, hogy amit az elso oldal behoz, abba ismet kell egy PHP weboldal motor (a kozos valtozoneveket nevezd at, pl. adj hozza egy 2-st a valtozonevek vegehez), majd hasonloan hasznald, mint a felsobb szintu weboldal motort, ami betolti az also szintet.

A masodik kerdesed egyszerubb. Manapsag nagyon CMS orientalt minden es ez nem is gond. A CMSeket alltalaban sokan fejlesztikes tesztelik, eszrevevodnek a biztonsagi hibak es hamar javitva vannak azok. Alap weboldal motort barki irhat. Szukseg van jozan eszre es egy kozepes PHP es/vagy mas webes nyelvek ismeretere. CMS alapeleveket a meglevo CMSek forrasanak es dokumentaciojanak olvasasaval es megertesevel szerezhetsz, de vannak egesz jo leirasok is, pl. http://www.google.com/search?q=how+to+create+your+own+cms

Csak ugyesen Kacsint
Naplózva
spier
Tag
**
Nem elérhető Nem elérhető

Hozzászólások: 125


« Válasz #79 Dátum: 2009. 09. 12. - 15:58:17 »

helló.

Lassan de biztosan haladok a dolgokkal, ilyen megoldásban lehet valami gond a mocival, elsősorban a biztonságra gondolok, működésében tökéletes a dolog, lentebb csatolom a kódot az index.php-nak. Látható hogy a login.php-ra átadja a dolgot és ha bejelentkeztél akkor működik az index.php. A moci amit berángat mindenhol be van include_once -al rakva a sess ellenőrzés, tehát ha nem vagy bejelentkezve átdob mindig a login.php-ra.

Kód:
<?php
  
include("include/phpheader.inc.php");
  if (!isset(
$_SESSION[sessUser]) || $_SESSION[sessUser]=="" || $_SESSION[sessUser]==0){
  
 echo "<script>document.location.replace('login.php');</script>";
 }
 if (!loggedin($_SESSION[sessUser])) {
  echo "<script>document.location.replace('login.php');</script>";
 }else{
 if ($_REQUEST[todo]=='logout')
 {
  
$_SESSION[sessUser]="";
    echo "<script>document.location.replace('index.php');</script>";
  }
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>adminisztráció : Belépve</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  <meta http-equiv="Content-Language" content="hu" />
  <meta name="Robots" content="noindex, nofollow" />
  <link href="include/css/style.css" rel="stylesheet" type="text/css" />
  <link href="include/css/menu.css" rel="stylesheet" type="text/css" />
  <link href="include/css/content.css" rel="stylesheet" type="text/css" />
</head>
<body>

<div id="container">
<div id="menu"><?php include("menu.php");?></div>
<div id="header"><?php include("include/header.inc.php");?></div>
<div id="info"><?php include("include/info.inc.php");?></div>
<div id="content">
<?php
   $modules
["admin"] = "admin.php";
   
$modules["lapszerkeszto"] = "lapszerkeszto.php";
   
$modules["hirek"] = "hirek.php";
   
   
$act "admin.php";
 
 
if ( !isset($_GET["module"]) ){
  
   $get_mod "";
}
 
else $get_mod strip_tags(htmlentities($_GET["module"]));
 
 
   foreach($modules as $mod => $act_m){
    if( strcmp($mod,$get_mod) == ){
    
        $act $act_m;
    break;
  }
}
 
   
if ( file_exists($act) ){
  
   include $act;
}
 
else{
 include ("login.php");
}
?>

</div>

<div id="footer"><?php include("include/footer.inc.php");?></div>
</div>

</body>
</html>

<?php ?>

Előre is köszi az építő jellegű kritikát és miegymás. Ja igen, a kód admin felületen van.

Üdv.
Naplózva
Oldalak: 1 2 3 [4] 5   Fel
  Nyomtatás  
 
Ugrás: