• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Hilfe zu $_GET

djfabi

Mitglied
Hi,

also, wie soll ich anfangen..

Ich habe eine index.php
und an diese hänge ich einfach $_GET Parameter an (index.php?site=hi&sub=index)

so nun, ich möchte gerne auf der index.php sowas checken wie: is_site() oder so, wo ich checke ob Parameter 1 (site) vorhanden ist, UND ob es eine gültige Seite ist.
Also zum Beispiel in einem Array, wo ich dann reinschreibe was weiß ich, dass hi nun eine Unterseite ist.

So das wäre jetzt aber ja auch noch nicht so schwer.

Ich will aber nun auch noch prüfen, ob parameter 1 (eine seite ist, ist ja klar) und aber auch noch, ob diese Seite:
- im eingeloggten Bereich ist, oder nicht (also man eingeloggt sein muss)
- und ob es noch mehr parameter braucht (die seite) also noch sub, und ob es gegebenenfalls auch noch mehr sein müssen/können
- und auch ob der Parameter dann auch gültig ist

Und wenn es nicht zutrifft einen "404" gibt, oder anders, beispielsweise:

?site=zufall&name=max

Und wenn name nicht gesetzt ist, und/oder max nicht gültig ist, einfach ignoriert ist, und dann zum Beispiel einfach => hans genommen wird (Skript intern)


So nun mein Problem: mir fehlt der Ansatz.
Ich weiß nicht wie ich es angehen soll.

Könnte mir jemand helfen?
(ich hoffe ich hab das ausreichend erläutert.. O:)
 
Werbung:
PHP:
if (isset($_GET['site']))
{
     // site vorhanden
}
if (isset($_GET['sub']))
{
     // subvorhanden
}
Die Prüfung, ob man eingeloggt ist, oder nicht und ob man die Seite sehen darf oder nicht, solltest du per Session lösen.
 
PHP:
if (isset($_GET['site']))
{
     // site vorhanden
}
if (isset($_GET['sub']))
{
     // subvorhanden
}
Die Prüfung, ob man eingeloggt ist, oder nicht und ob man die Seite sehen darf oder nicht, solltest du per Session lösen.

So prüft der Server aber nur ob die jeweiligen $_GET Parameter übergeben werden. Auch wenn diese leer sind z.B. ?site=&sub=, ist die isset() Abfrage true. am besten mit
PHP:
if(isset($_GET['site']) && !empty($_GET['site']))
abfragen.
 
Zuletzt bearbeitet:
Werbung:
PHP:
if (isset($_GET['site']))
{
     // site vorhanden
}
if (isset($_GET['sub']))
{
     // subvorhanden
}
Die Prüfung, ob man eingeloggt ist, oder nicht und ob man die Seite sehen darf oder nicht, solltest du per Session lösen.


ich glaube ich habe das noch nicht ganz genau erklärt..
so nun, ich möchte gerne auf der index.php sowas checken wie: is_site() oder so, wo ich checke ob Parameter 1 (site) vorhanden ist, UND ob es eine gültige Seite ist.
Also zum Beispiel in einem Array, wo ich dann reinschreibe was weiß ich, dass hi nun eine Unterseite ist.

Ich will aber nun auch noch prüfen, ob parameter 1 (eine seite ist, ist ja klar) und aber auch noch, ob diese Seite:
- und ob es noch mehr parameter braucht (die seite) also noch sub, und ob es gegebenenfalls auch noch mehr sein müssen/können

praktisch: wie ich das checken könnte, mir fehlt Idee/Ansatz
 
Zuletzt bearbeitet:
So etwas?

PHP:
<?php
$sites = array('home','projects','about');

if(isset($_GET['site'])&& !empty($_GET['site'])) 
{    
  if (in_array($_GET['site'], $sites)) 
  {        
      echo 'site vorhanden.<br/>';    
  } else 
    {        
      echo 'site '.$_GET["'site"].' nicht vorhanden';    
    }
 } 
else 
{    
   echo 'hier wäre nen 404 angebracht';
}

Gruß
/martin
 
Werbung:
Im Grunde ganz einfach ob ein Get wert leer ist braucht man eigentlich nicht Prüfen da keine Angaben auch zu keiner Seite führen.

Die Array Datei ist dann so aufgebaut
Als Key der Get- Name und als zuweisung der echte Dateiname der später eingebunden werden soll
PHP:
<?
/**
 * @name navigation.php
 *
 * Navigation Menu
 *
 * @author splasch
 * @version 0.1
 * @copyright Copyright (c) 2013,splasch
 */ 
return array
( "login"  => "login.php", "reg"   => "reg.php",
  "intern" => "intern.php",
  
);


PHP:
<?php
 // Ist ein Get Paramter vorhanden? Navigation links             
$navi = isset($_GET['navi']) ? $_GET['navi'] : "";
// Das Array laden aus einer Datei - Navigation Liste laden (array)         
$page = include($config.'navigation.php');                    
// Prüfen ob der Get Paramter im Array vorkommt
if ( array_key_exists($navi, $page) )                         
{
  // Verzeichnis mit Datei erstellen aus dem Array wird der Dateiname verwendet
  $filename = $view.$page[$navi];           
   // Datei vorhanden und kann gelesen werden?                
  if ( file_exists($filename) && is_readable($filename) )   
  {
     // Controller Datei 
     file_exists($page[$navi]) ? include_once($page[$navi]): $meldung = "Fehler beim Laden von ".$page[$navi];
     ob_start();
     // Datei einbinden - Inhalt einfügen   
     include_once( $filename );                            
     $content = ob_get_contents();
     ob_end_clean(); 
  }
}else{
       ob_start();
       include_once($view.$content);                          // Standard Inhalt
       $content = ob_get_contents();
       ob_end_clean();
     }

Mfg Splasch
 
Zurück
Oben