Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CMS] Problem z podstronami
Forum PHP.pl > Forum > Przedszkole
lukaszskate
Witam,

pisze swój cms (maly, dostosowany do moich potrzeb). Chce w nim zastosować opcje podstron podobną do webspella. Ma on szablon w pliku index.php i w miejscu gdzie ma wyświetlać się zawartość podstrony np. artykuly, newsy itd. wstawiony jest taki skrypt:
Kod
                      <? if(!isset($site)) $site="news";
                      $invalide = array('/','/\/',':','.');
                      $site = str_replace($invalide,' ',$site);
                      if(!file_exists($site.".php")) $site = "news";
                      include($site.".php");?>


Moze mi ktos pomóc w stworzeniu czegoś podobnego dla siebie? Nie jestem jeszcze zaawansowany, narazie moja wiedza jest mała. Licze na pomoc i pozdrawiam!
Foxx
Ale dlaczego nie możesz po prostu tego zastosować?
Skąd pochodzi zmienna $site ?
lukaszskate
Zastosowac mogę, ale jaki sens jest stosowac cos czego sie w 100% nie rozumie. Chce zdawac też egzamin z php i fajnie by bylo takie rozwiązania znac. ; )
Spawnm
jaki egzamin z php blinksmiley.gif
  1. <?php
  2. $invalide = array('/','//',':','.');
  3. $site = str_replace($invalide,' ',$site);
  4. ?>

to ci raczej nie zadziała , tablice musisz puścić w pętli .
blooregard
Cytat
jaki egzamin z php

Może ZCE ? smile.gif
Foxx
  1. <?php
  2. # jeżeli nie jest ustawiona wartość zmiennej $site, ustaw ją na "news":
  3. if(!isset($site)) $site="news";
  4. # utworzenie tablicy $invalide z 4 wartościami:
  5. $invalide = array('/','//',':','.');
  6. # zamiana znaków w ciągu $site:
  7. $site = str_replace($invalide,' ',$site);
  8. # jeżeli nie istnieje plik o nazwie $site.php ustaw zmienną $site na "news":
  9. if(!file_exists($site.".php")) $site = "news";
  10. # dołącz zawartość pliku $site.php
  11. include($site.".php");
  12. ?>

<? - niezalecane przejście do PHP, zalecane wygląda tak: <?php
Manual: str_replace" title="Zobacz w manualu PHP" target="_manual, file_exists" title="Zobacz w manualu PHP" target="_manual, include" title="Zobacz w manualu PHP" target="_manual.
Takie rzeczy powinieneś umieć robić sam.

Spawnm:
Cytat
If search and replace are arrays, then str_replace() takes a value from each array and uses them to do search and replace on subject . If replace has fewer values than search , then an empty string is used for the rest of replacement values. If search is an array and replace is a string, then this replacement string is used for every value of search .
lukaszskate
Kod
$site = $_GET['site'];
if($closed AND !isanyadmin($userID)) {
    $dl=mysql_fetch_array(safe_query("SELECT * FROM `".PREFIX."lock` LIMIT 0,1"));
     $reason = $dl[reason];
     $time = $dl[time];
  showlock($reason, $time);
}
- to jest zmienna $site w pliku _functions który jest includowany w index.php

Dzięki mistrzu, juz doszłem do tego hehe ; ) wszystko elegancko działa ; ) nice!!
Foxx
To zainteresuj się jeszcze tymi tematami:
Temat: Bezpieczenstwo_skryptow_PHP
Temat: SQL_Injection_Insertion
Bo teraz można ci zaincludować dowolną stronę w skrypcie (skoro nie filtrujesz w żaden sposób $_GET).
lukaszskate
Bym zapomnial ; ) Oczywiscie klik "pomógł" biggrin.gif:d
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.