AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PHP Problem

Ein Thema von abc newbee · begonnen am 21. Jan 2007 · letzter Beitrag vom 22. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
abc newbee
(Gast)

n/a Beiträge
 
#1

PHP Problem

  Alt 21. Jan 2007, 19:49
Hi!

Es ist mit PHP ja möglich Parameter mit der URL zu übergeben. In meinem Fall leite ich den Besucher je nach Parameter an die richtige Datei weiter. Nur was mache ich, wenn keine Parameter übergeben werden?
Also www.meine-domain.de/index.php statt www.meine-domain.de/index.php?page=start.html

Wenn also kein Parameter übergeben wurde soll trotzdem zu einer bestimmten URL weitergeleitet werden. Und wenn ein falscher Parameter übergeben wurde (z.B. nicht existierende Datei) soll zu einer anderen bestimmten Seite weitergeleitet werden.
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: PHP Problem

  Alt 21. Jan 2007, 19:54
Für sowas kannst du isset und fileexistis benutzen


Code:
if( !isset($_GET['varname']) )
{
 //KEIN PARAMETER ANGEGEBEN
}
else
{
//VERARBEITE PARAMETER in $_GET['varname']
//z.b. prüfen ob if(FileExists()) etc...
}
Jan
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#3

Re: PHP Problem

  Alt 21. Jan 2007, 19:56
Code:
if ($_GET['page']=='') {
  header('Location: 'index.php?page=start.html');
}
bzw. kürzer:
Code:
switch ($_GET['page']) {
  case 'start.html': include 'start.html'; break;
  case 'login.html': include 'login.html'; break;
  // ...
  default: include 'start.html';
}

Flare
Willy Scheibel
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: PHP Problem

  Alt 21. Jan 2007, 20:06
Man sollte vorher auf das Vorhandensein des Parameters Testen:

Code:
if( isset( $_GET['page']))
Markus Kinzler
  Mit Zitat antworten Zitat
abc newbee
(Gast)

n/a Beiträge
 
#5

Re: PHP Problem

  Alt 21. Jan 2007, 20:07
Also ich hab das jetzt (schon vor meiner Frage) so gemacht

Code:
<?php

  $page=$_GET['page'];

  if(file_exists('pages/'.$page.'')==false)
  {
    if($page=="")
    {
    echo '<frame src="templates/default/main.php?page=start.html" name="content" noresize>';
    }
    else
    {
    echo '<frame src="templates/default/main.php?page=error.html" name="content" noresize>';
    }
  }
  else
  {
  echo '<frame src="templates/default/main.php?page='.$page.'" name="content" noresize>';
  }

?>
Also das letzte was ich da mache funktioniert... Es wird also wenn ich ein Parameter angebe richtig weitergeleitet... Bei einem falschen oder keinem Parameter funktioniert es nicht richtig...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: PHP Problem

  Alt 21. Jan 2007, 20:13
Kombiniere doch die Antworten
Markus Kinzler
  Mit Zitat antworten Zitat
abc newbee
(Gast)

n/a Beiträge
 
#7

Re: PHP Problem

  Alt 21. Jan 2007, 20:24
ich hab jetzt folgendes kombiniert:

Code:
<?php

if( !isset($_GET['page']) )
{
echo '<frame src="templates/default/main.php?page=start.html" name="content" noresize>';
}
else
{
if(file_exists('pages/'.$page.'')==true)
{
echo '<frame src="templates/default/main.php?page='.$page.'" name="content" noresize>';
}
else
{
echo '<frame src="templates/default/main.php?page=error.html" name="content" noresize>';
}
}

?>
Nur das Problem: Jetzt funktioniert es nurnoch ohne Parameter aber sonst nicht mehr.
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#8

Re: PHP Problem

  Alt 21. Jan 2007, 20:53
Du hast ja auch die Zeile
Code:
$page = $_GET['page'];
rausgenommen!


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#9

Re: PHP Problem

  Alt 21. Jan 2007, 22:52
Es sollten nie Seiten/Dateien aus Parametern direkt aufgerufen werden,
lieber nochmal die Gültigkeit überprüfen (zB: durch eine DB) , sonst Riesensicherheitlücke
(Pishing, Cross-Site-Scripting, ...)

Wäre ein CMS (Content Management System, zB: Contenido) denn eine Alternative?

Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: PHP Problem

  Alt 21. Jan 2007, 23:42
Code:
<?php

if( !isset($_GET['page']) )
{
  echo '<frame src="templates/default/main.php?page=start.html" name="content" noresize>';
}
else
{
  $page = $_GET['page']; //Das hier ist neu
  if(file_exists('pages/'.$page)) //siehe unten, und ein weiterer Vergleich mit true ist unnötig
  {
    echo '<frame src="templates/default/main.php?page='.$page.'" name="content" noresize>';
  }
  else
  {
    echo '<frame src="templates/default/main.php?page=error.html" name="content" noresize>';
  }
}

?>
So sollte es dann klappen, du brauchst übrigens um einen String zu verketten am Ende nicht noch ein . ''
Also:
Code:
'pages/' . $page . ''
ist das selbe wie:
Code:
'pages/' . $page
Jan
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz