SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 08.12.2006, 16:19:33
Schaffi89 Schaffi89 ist offline
Anfänger
 
Registriert seit: Dec 2006
Beiträge: 3
? If $site ? /(o)(o)\

Hy Leute.

Ich arbeite viel mit Webspell.
Da gib es ein Script der stellt den inhalt der jeweiligen Seite dar.

if(!isset($site)) $site="news";
//Sichheitslücke beheben
$invalide = array('/','/\/',':','.');
$site = str_replace($invalide,' ',$site);
if(!file_exists($site.".php")){ echo'<h2>Error 404</h2><br>Die von Ihnen angeforderte Datei namens <b>'.$site.'.php</b> ist nicht vorhanden.';
redirect("index.php?site=news",'',3);
}
include($site.".php");


Dies funktioniert auch, möchte aber gerne in meiner eigenden Homepage dies einbauen so das ich nur noch die index verändern muss um irgendwelche Stylesachen zu verändern.
Habe dieses Script auch ausprobiert kommt aber immer eine Fehlermeldung

Fatal error: Call to undefined function gettemplate()

Um z.B. auf die Seite Impressum zukommen muss man nur noch den Hyperlink so benennen "index.php?site=news", dies funktioniert aber nicht.


Danke schonmal im Vorraus
Mit Zitat antworten
  #2  
Alt 09.12.2006, 10:50:10
szk szk ist offline
Anfänger
 
Registriert seit: Dec 2006
Beiträge: 1
AW: ? If $site ? /(o)(o)\

Fatal error: Call to undefined function gettemplate()

Du solltest bei der Fehlermeldung auch eine Position
(welche php-Datei, welche Zeile) bekommen...
da scheint es den Funktionsaufruf gettemplate() zu
geben den PHP nicht kennt.

sk.
Mit Zitat antworten
  #3  
Alt 09.12.2006, 10:57:18
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: ? If $site ? /(o)(o)\

ich hab keine ahnung was dein problem ist, denn im dem von dir geposteten codeschnipsel kommt kein get_template() vor.

und bevor du irgendwelchen komplizierten code versuchst zu kopieren (was wahrscheinlich softwareklau ist) und ihn dir dann zurechtfrickelst, versuch doch lieber mal ihn komplett selbstzuschreiben.

bei problemen kannst du gerne hier fragen :o)
Mit Zitat antworten
  #4  
Alt 10.12.2006, 11:27:14
Schaffi89 Schaffi89 ist offline
Anfänger
 
Registriert seit: Dec 2006
Beiträge: 3
AW: ? If $site ? /(o)(o)\

Wie gesagt zurechtgefrickelst habe ich den code nicht der steht so bei Webspell.
Weißt du vielleicht wie ich den code schreiben könnte.
Ich bin ein absoluter Anfänger in PHP.
Mit Zitat antworten
  #5  
Alt 10.12.2006, 11:52:36
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: ? If $site ? /(o)(o)\

man kann es so machen:

PHP-Code:
switch( $_GET'site' ] ) {

case 
'news':

include( 
'impressum.php' );

break;

default:

include( 
'start.php' );


wenn du nun also index.php?site=news aufrufst, wird die datei impressum.php eingebunden und sonst die datei start.php (natürlich müssen die beiden dateien existieren).

das ist so ungefähr das was dein codeschnipsel macht (nur etwas weniger aufwändig).

allerdings wird weiterhin die fehlermeldung auftauchen, da ja somit der aufruf "get_template()" nicht entfernt wurde und weiterhin zum fehler führt.

desweiteren: kauf dir lieber ein gescheites buch anstatt dir code von webspell zu übernehmen und dann wegen überforderung andere für dich programmieren zu lassen.

Geändert von feuervogel (10.12.2006 um 11:53:37 Uhr)
Mit Zitat antworten
  #6  
Alt 10.12.2006, 14:23:54
Benutzerbild von Swoosh
Swoosh Swoosh ist offline
Junior Member
 
Registriert seit: Oct 2006
Ort: Crailsheim / SHA / Stuttgart
Alter: 32
Beiträge: 388
Swoosh eine Nachricht über ICQ schicken Swoosh eine Nachricht über MSN schicken
AW: ? If $site ? /(o)(o)\

kannst es auch so machen

PHP-Code:
<?
$site = $_GET['site'];
$file = 'sites/'.$site.'.php';

if(!isset($site)) {
  header("Location: ?site=home");
}

if(file_exists($file)) { 
  echo 'Datei nicht gefunden!'; }
}
else {
  include($file);
}
?>
Oder das ganze zusammen gefasst

<?
PHP-Code:
$section $_GET['section'];
$incsite = empty($section) ? "home.php" : (file_exists($section.".php") ? $section.".php" "404.php"); 

include(
$incsite); 
?>
Mit Zitat antworten
  #7  
Alt 10.12.2006, 20:00:11
Schaffi89 Schaffi89 ist offline
Anfänger
 
Registriert seit: Dec 2006
Beiträge: 3
AW: ? If $site ? /(o)(o)\

Danke !!!!!!!

Funktioniert alles.
Habe mich mal bisschen belesen zu den If Anweisungen ist ja fast wie im VB.

Danke nochmal.
Mit Zitat antworten
  #8  
Alt 10.12.2006, 20:38:33
Benutzerbild von Domi
Domi Domi ist offline
Senior Member
 
Registriert seit: Nov 2003
Ort: Kempten @ Allgäu
Alter: 36
Beiträge: 1.408
AW: ? If $site ? /(o)(o)\

Zitat:
Zitat von Swoosh Beitrag anzeigen

Oder das ganze zusammen gefasst

<?
PHP-Code:
$section $_GET['section'];
$incsite = empty($section) ? "home.php" : (file_exists($section.".php") ? $section.".php" "404.php"); 

include(
$incsite); 
?>
auch nicht gut, du solltest die slashes und . und .. rausfiltern, oder einfach in nem array alle erlaubten seiten definieren und dann mit in_array() einfach abfragen, ob diese vorhanden ist.

gruss
Domi
__________________

the best way to be ready for the future is to invent it
Mit Zitat antworten
  #9  
Alt 10.12.2006, 21:13:15
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: ? If $site ? /(o)(o)\

Zitat:
Zitat von Domi Beitrag anzeigen
auch nicht gut, du solltest die slashes und . und .. rausfiltern, oder einfach in nem array alle erlaubten seiten definieren und dann mit in_array() einfach abfragen, ob diese vorhanden ist.

gruss
Domi
hm, eigentlich empfiehlt sich da ein switch-statement, weils übersichtlicher ist :-) und so wie ich es vorgeschlagen habe, kann eigentlich (fast) nichts passieren...
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:42:15 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt