php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.01.2007, 15:54  
Erfahrener Benutzer
 
Registriert seit: 08.03.2005
Beiträge: 475
Plague
Standard Alle Variablen in der URL auslesen und übergeben

Hallo,

gibt es einen PHP Befehl der alle Variablen in der URL (also seite.php?id=123&v=abc&x=2) auslesen kann und auch in der Form:
id=123&v=abc&x=2 als Returnwert übergibt?

Gruß und Danke
Thomas
Plague ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.01.2007, 16:18  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Bin nicht sicher was du meinst, schau dir mal $_SERVER['QUERY_STRING'] an, andernfalls $_GET im Zusammenspiel mit http_build_query().
Zergling-new ist offline  
Alt 24.01.2007, 12:52  
Erfahrener Benutzer
 
Registriert seit: 08.01.2004
Beiträge: 166
yoshy
yoshy eine Nachricht über ICQ schicken
Standard

PHP-Code:
$url $_SERVER["REQUEST_URI"]
$vars explode("?",$url);
echo 
$vars[1]; 
1) Adressfeld auslesen
2) Am "?" teilen
3) Ausgeben

Hoffe das ist so wie du meinst...
yoshy ist offline  
Alt 24.01.2007, 12:58  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

o.O

Das sind doch einfach nur Superglobale Variablen

http://de2.php.net/manual/en/languag...predefined.php
M3g4Star ist offline  
Alt 24.01.2007, 17:31  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von yoshy
PHP-Code:
$url $_SERVER["REQUEST_URI"]
$vars explode("?",$url);
echo 
$vars[1]; 
1) Adressfeld auslesen
2) Am "?" teilen
3) Ausgeben

Hoffe das ist so wie du meinst...
Das ist genau was $_SERVER['QUERY_STRING'] bzw. $_SERVER['REDIRECT_QUERY_STRING'] liefert :P
Zergling-new ist offline  
Alt 25.01.2007, 12:15  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Plague,

ich denke ich habe da etwas für dich zum nachvollziehen. Die Methode der Klasse "linkManager" gibt dir die Möglichkeit URLs zu manipulieren:



PHP-Code:
      /**
      *  Funktion generiereLink()  [public/static]

      *  Generiert aus einer übergebenen URI und einem Parameter-Array eine neue URI.

      *  Es werden folgende Parameter übergeben:

      *  

      *    - string $URL: eine gültige URL.

      *    - array $Parameter: assoziatives Array von URL-Parametern.

      *    - boolean $RewriteLink: bei 'true' wird die URL als Pfad-URL rewritet,

      *      bei 'false' so belassen.

      *  

      *  Die Option $Parameter bestimmt, welche Parameter der URL gelöscht, welche anders gesetzt,

      *  und welche belassen werden. Aus der URL

      *  

      *    [url]http://localhost/test.de/index.php?Seite=123&Button=Send&Benutzer=456&Passwort=789[/url]

      *  

      *  wird durch Übergabe des Arrays

      *  

      *    array('Seite' => 'neueSeite','Button' => '')

      *  

      *  die URL

      *  

      *    [url]http://localhost/test.de/index.php?Seite=neueSeite&Benutzer=456&Passwort=789[/url]

      *  

      *  

      *  Christian Schäfer
      *  Version 0.1, 25.04.2006

      *  Version 0.2, 01.05.2006 (Bug behoben, dass Value mit Länge 1 herausgefiltert wird)

      *  Version 0.3, 06.05.2006 (Bug behoben, dass bei fehlender Query ein Fehler geworfen wird)

      *  Version 0.4, 29.07.2006 (Umbau, damit Links in Rewrite-Technik sauber geparst werden)

      *  Version 0.5, 14.08.2006 (Parameter "RewriteLink" wird nun standardmäßig mit der globalen Konfigurationskonstante "APPS__URL_REWRITING" gefüllt)

      */
      
function generiereLink($URL,$Parameter,$RewriteLink APPS__URL_REWRITING){

         
// URL zerlegen
         
$ParsedURL parse_url($URL);


         
// Query-String zerlegen
         
if(!isset($ParsedURL['query'])){
            
$ParsedURL['query'] = (string)'';
          
// end if
         
}


         
// URL je nach URL-Typ zerlegen
         
if($RewriteLink == true){

            
// Request (in diesem Fall der 'Path') in Array extrahieren
            
$RequestArray explode('/',strip_tags($ParsedURL['path']));
            
array_shift($RequestArray);

            
// Request-Array zurücksetzen
            
$SplitURL = array();

            
// Offset-Zähler setzen
            
$x 0;

            
// RequestArray durchiterieren und auf dem Offset x den Key und auf Offset x+1
            // die Value aus der Request-URI extrahieren
            
while($x <= (count($RequestArray) - 1)){

               if(isset(
$RequestArray[$x 1])){
                  
$SplitURL[$RequestArray[$x]] = $RequestArray[$x 1];
                
// end if
               
}

               
// Offset-Zähler um 2 erhöhen
               
$x $x 2;

             
// end while
            
}

            
$SplitParameters $SplitURL;

          
// end if
         
}
         else{
            
$SplitURL explode('&',$ParsedURL['query']);

            
// Parameter der Query zerlegen
            
$SplitParameters = array();

            for(
$i 0$i count($SplitURL); $i++){

               
// Nur Parameter größer 3 Zeichen (z.B. a=b) beachten
               
if(strlen($SplitURL[$i]) > 3){

                  
// Position des '=' suchen
                  
$EqualSign strpos($SplitURL[$i],'=');

                  
// Array mit den Parametern als Key => Value - Paar erstellen
                  
$SplitParameters[substr($SplitURL[$i],0,$EqualSign)] = substr($SplitURL[$i],$EqualSign+1,strlen($SplitURL[$i]));

                
// end if
               
}

             
// end for
            
}

          
// end else
         
}


         
// Erzeugtes und übergebenes Parameter-Set zusammenführen (dadurch können Löschungen realisiert werden)
         
$SplitParameters array_merge($SplitParameters,$Parameter);


         
// Query-String an Hand der gemergten Parameter erzeugen
         
$Query = (string)'';

         foreach(
$SplitParameters as $Key => $Value){

            
// Nur Keys mit einer Länge > 1 und Values mit einer Länge > 0 betrachten, damit
            // ein 'Test' => '' eine Löschung bedeutet.
            
if(strlen($Key) > && strlen($Value) > 0){

               
// '?' als erstes Bindezeichen setzen
               
if(strlen($Query) == 0){
                  
$Query .= '?';
                
// end if
               
}
               else{
                  
$Query .= '&';
                
// end else
               
}

               
// 'Key' => 'Value' - Paar zusammensetzen
               
$Query .= trim($Key).'='.trim($Value);

             
// end if
            
}

          
// end function
         
}


         
// URL generieren
         
$NewURL = (string)'';

         
// Falls Schema und Host gegeben, diese einbinden
         
if(isset($ParsedURL['scheme']) && isset($ParsedURL['host'])){
            
$NewURL .= $ParsedURL['scheme'].'://'.$ParsedURL['host'];
          
// end if
         
}

         
// Falls nur Host gegeben, diesen einsetzen
         
if(!isset($ParsedURL['scheme']) && isset($ParsedURL['host'])){
            
$NewURL .= '/'.$ParsedURL['host'];
          
// end if
         
}


         
// URL final zusammensetzen
         
if($RewriteLink == true){
            
$FinishedURL $NewURL.'/'.$Query;

          
// end if
         
}
         else{
            
$FinishedURL $NewURL.$ParsedURL['path'].$Query;
          
// end else
         
}


         
// Link URL-Rewriten, falls gewünscht
         
if($RewriteLink == true){

            
$Replace = array('./?' => '/',
                             
'/?' => '/',
                             
'=' => '/',
                             
'&' => '/'
                            
);
            
$FinishedURL strtr($FinishedURL,$Replace);

          
// end if
         
}

         return 
$FinishedURL;

       
// end function
      

Ist die Konstante APPS__URL_REWRITING definiert, hast du die Möglichkeit URLs der Form

http://sub.domain.tld/param1/value1/param2/value2/...

zu manipulieren.

PS: Zu den anderen sei gesagt, dass das noch aus "alten Tagen" stammt, die neuen Sourcen habe ich grade (bin auf Arbeit) nicht. Wurde aber alles bereits refactored, da einige Themen wie Werte vor "param1" und Unterstützung von Frontcontroller-URLs nicht enthalten waren. Dies wird aber hier sowieso nicht benötigt.

Grüße,
Dr,E,
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 24.02.2007, 13:36  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Plague,

ist deine Frage noch offen? Wir haben keinen Response mehr bekommen...
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Aus MySQL auslesen mit 2 $_REQUEST[''] Variablen imported_Daniel PHP Tipps 2008 7 31.03.2008 09:59
Variablen in Datenbank speichern und auslesen freehawk PHP-Fortgeschrittene 4 16.03.2008 17:22
gelöst: Tabelle auslesen -&amp;amp;amp;gt; Gleiche Einträge nur 1 Mal Datenbanken 3 31.03.2006 01:44
Mehrfacherfassung, Variablen erneut auslesen PHP Tipps 2005-2 5 17.10.2005 13:54
Daten aus einer Datenbank auslesen Datenbanken 2 04.09.2005 19:13
eilig: alle mit POST übertragenen variablen auslesen PHP Tipps 2005-2 3 01.09.2005 15:52
Variablen von einer externen Datei auslesen PHP Tipps 2005-2 7 22.08.2005 22:58
spaltenname für update aus variablen auslesen Datenbanken 3 29.07.2005 12:57
Daten aus Text auslesen und in Variablen extrahieren PHP Tipps 2005-2 12 10.06.2005 08:05
XMl Datei auslesen und auf unterschiedl. variablen speichern Tigermoon PHP Tipps 2005 1 29.04.2005 22:05
Variablen übergeben bzw. auslesen? PHP Tipps 2005 4 30.01.2005 03:56
Variablen auslesen ? PHP-Fortgeschrittene 2 26.01.2005 13:51
variablen frmeder Seiten auslesen PHP Tipps 2005 10 22.01.2005 21:47
inhalt aus einem imput feld mit variablen Namen auslesen HTML, Usability und Barrierefreiheit 4 08.01.2005 00:43
Alle Session Variablen auslesen? SRWeb PHP Tipps 2004-2 2 07.12.2004 20:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php querystring auslesen, http://www.php.de/php-tipps-2007/43313-alle-variablen-der-url-auslesen-und-uebergeben.html, php url query auslesen, php variable aus url auslesen, php alle variablen aus url, request uri zerlegen, $key $value aus querystring auslesen, php url auslesen, \'request_uri\' mit explode zerlegen php?, php url auslesen zerlegen, php querystring zerlegen, php query string post auslesen, alle variablen aus url auslesen, url query auslesen, php url zerlegen, php query string auslesen, php array aus url ausgeben, end der url auslesen php, php url parameter zerlegen, php url auslesen query

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.