Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   php isset problem (https://www.delphipraxis.net/117239-php-isset-problem.html)

Serpentine 14. Jul 2008 18:45


php isset problem
 
Hallo Leute,
ich möchte gerne einen kleinen Script schreiben der , wenn ein isset, also bei mir $page einen genauen Wert hat, also das sähe dann ja so aus: "index.php?page=portal" etwas tut, also eine if-abfrage und wenn das isset dann einen anderen wert hat zB ?page=index etwas anderes tut (else).
Ich habe viel gesucht aber leider keine passende Anleitung gefunden, wäre also schön wenn mir jemand helfen könnte!

mkinzler 14. Jul 2008 18:48

Re: php isset problem
 
isset() überprüft, ob die Variable vorhanden ist und nicht welchen Wert diese hat

BenjaminH 14. Jul 2008 19:50

Re: php isset problem
 
Hallo,
ich glaub du bringst da grad was durcheinander.
Code:
$_GET["page"]
ist die Variable, die in deinem Beispiel "portal" oder "index" enthält.
Code:
isset($_GET["page"])
prüft, ob diese Variable etwas enthält.
Was die Variable enthält kannst du z.B. so überprüfen:
[code]if ($_GET["page"]=='portal')
{
Tu_was();
}[code]

Ich hoffe das hat geholfen.

dispy 14. Jul 2008 20:04

Re: php isset problem
 
Moin,
das Ganz hier nochmal "sauber":

Code:

if(isset($_GET['page'])){
     $page=&$_GET['page'];
     if($page=='index'){
         show_index();
      }
     elseif($page=='other'){
          shot_whatever();
      }
      else{
          show_index();
      }

}
// no page given
else{
show_index();
}
Man könnte jetzt noch das erste if weglassen und nur das else nutzen, aber so ist es "logischer".

MfG
dispy

Serpentine 14. Jul 2008 20:25

Re: php isset problem
 
Mh, damit komme ich irgendwie noch nicht klar. Hier mein Quellcode.
Delphi-Quellcode:
<?php
if ($_GET["page"]=='portal') {
include ('portal/index.php');
}
else
{
require_once('./global.php');
RequestHandler::handle(ArrayUtil::appendSuffix($packageDirs, 'lib/'));
}
?>
Aber wenn ich jetzt auf index.php?page=portal gehe wird dasselbe angezeigt wie auf index.php?page=whatever

freak4fun 14. Jul 2008 22:55

Re: php isset problem
 
Code:
<?php
  if(!isset($_GET["page"])){
    # Fehler, kein Wert übergeben.
  } else {
    switch($_GET["page"]){
      case 'portal': include ('portal/index.php'); break;
      case '...'  : include ('.../index.php'); break;
      else: require_once('./global.php');
            RequestHandler::handle(ArrayUtil::appendSuffix($packageDirs, 'lib/'));
    }
  }
?>
Ungetestet.

Serpentine 14. Jul 2008 23:08

Re: php isset problem
 
Parse error: syntax error, unexpected T_ELSE in /home/vhosts/5000148715/irgendeinhost.de/htdocs/board/index.php on line 4

Liegt an dem Else: unter dem Case, aber keine Ahnung was daran falsch ist#

Edit:
Okay ich habs jetzt mal so versucht:
Code:
<?php
if(isset($_GET["page"])){
    switch($_GET["page"]){
      case 'portal': include ('portal/index.php'); break;
}}
else
{
require_once('./global.php');
RequestHandler::handle(ArrayUtil::appendSuffix($packageDirs, 'lib/'));
}
?>
Wenn ich jetzt auf index.php?page=whatever gehe ist alles korrekt, sobald ich auf index.php?page=portal erhalte ich eine leere seite, aber warum?

Dax 14. Jul 2008 23:10

Re: php isset problem
 
Probiers mal mit default statt else an der Stelle.

Serpentine 14. Jul 2008 23:15

Re: php isset problem
 
Code:
<?php
  if(!isset($_GET["page"])){
$page='Index';
  } else {
    switch($_GET["page"]){
      case 'Portal': include ('portal/index.php'); break;
      Default: require_once('./global.php');
            RequestHandler::handle(ArrayUtil::appendSuffix($packageDirs, 'lib/'));
    }
  }
?>
Hiermit funktioniert es!! Vielen Dank an Alle!

generic 15. Jul 2008 08:42

Re: php isset problem
 
vieleicht ist dein Ansatz nicht optimal.

Mit Page übergibts du einen Parameter, der eine bestimmte Seite anzeigen soll.
Warum nimmst du nicht pro Webseite eine PHP Datei?

1 Datei = 1 Funktion = 1 Seite

Wenn du Vererbung geschickt verwendest, hast du nach wir vor nur eine Stelle wo der Kopf und der Fuss der Webseite ausgegeben wird.

Optimal wenn du noch eine Templateengine verwendest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 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