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 ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 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 29.05.2014, 20:54:58
Stadi1971 Stadi1971 ist offline
Anfänger
 
Registriert seit: Apr 2014
Alter: 52
Beiträge: 6
Teil einer URL auslesen

Ich würde gerne einen Teil folgender URL auslesen:
http://localhost/test.php?rezept=irgendwas
und zwar sollte nur der Teil:
/test.php?rezept=irgendwas
ausgelesen werden.
Mit
$aktuelleseite = $_SERVER['PHP_SELF'];
bekomme ich nur:
/test.php
ausgegeben.
Kann mir hier jemand helfen?
Mit Zitat antworten
  #2  
Alt 29.05.2014, 21:17:57
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Teil einer URL auslesen

Käme auf Deine PHP Version an:
http://de3.php.net/parse_url
Code:
5.4.7 	Fixed host recognition when scheme is omitted and a leading component separator is present.
5.3.3 	Removed the E_WARNING that was emitted when URL parsing failed.
5.1.2 	Added the component parameter.
Aktuell ist PHP v5.5.12.
Älteres Zeuch beinhaltet meist schon gut bekannte Bugs mit mehr oder weniger großen Hintertürchen.

Die Beschreibung:
Zitat:
Zitat von RTFM
parse_url — Parse a URL and return its components
Description
mixed parse_url ( string $url [, int $component = -1 ] )

This function parses a URL and returns an associative array containing any of the various components of the URL that are present.

This function is not meant to validate the given URL, it only breaks it up into the above listed parts. Partial URLs are also accepted, parse_url() tries its best to parse them correctly.
Parameters

url

The URL to parse. Invalid characters are replaced by _.

component

Specify one of PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY or PHP_URL_FRAGMENT to retrieve just a specific URL component as a string (except when PHP_URL_PORT is given, in which case the return value will be an integer).

Return Values

On seriously malformed URLs, parse_url() may return FALSE.

If the component parameter is omitted, an associative array is returned. At least one element will be present within the array. Potential keys within this array are:

scheme - e.g. http
host
port
user
pass
path
query - after the question mark ?
fragment - after the hashmark #

If the component parameter is specified, parse_url() returns a string (or an integer, in the case of PHP_URL_PORT) instead of an array. If the requested component doesn't exist within the given URL, NULL will be returned.
Mit Zitat antworten
  #3  
Alt 29.05.2014, 21:18:00
Stadi1971 Stadi1971 ist offline
Anfänger
 
Registriert seit: Apr 2014
Alter: 52
Beiträge: 6
AW: Teil einer URL auslesen

Danke, hab´s bereits gefunden!
$aktuelleseite = $_SERVER['REQUEST_URI']
Mit Zitat antworten
  #4  
Alt 30.05.2014, 05:06:05
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Teil einer URL auslesen

Zitat:
Zitat von Stadi1971 Beitrag anzeigen
Danke, hab´s bereits gefunden!
$aktuelleseite = $_SERVER['REQUEST_URI']
1. trenne Dich bitte von $_SERVER['PHO_SELF'] und verwende grundsätzlich stattdessen $_SERVER['SCRIPT_NAME']
Grund: PHP klebt den Inhalt von PATH_INFO an PHP_SELF hinten dran.

2. $_SERVER bietet mehr Luxus.

Code:
1+2
http://mod.php.developer.vc/info/index.php?var=val normaler GET URL:
_SERVER["SERVER_NAME"]		mod.php.developer.vc
_SERVER["SERVER_ADDR"]	85.214.212.7
_SERVER["SERVER_PORT"]		80
...
_SERVER["SERVER_PROTOCOL"]	HTTP/1.1
_SERVER["REQUEST_METHOD"]	GET
_SERVER["QUERY_STRING"]	var=val
_SERVER["REQUEST_URI"]		/info/index.php?var=val
_SERVER["SCRIPT_NAME"]		/info/index.php
_SERVER["PHP_SELF"]		/info/index.php
Code:
1+2 mit path_info
http://mod.php.developer.vc/info/index.php/var=val
keine Änderung
_SERVER["SERVER_NAME"]		mod.php.developer.vc
_SERVER["SERVER_ADDR"]	85.214.212.7
_SERVER["SERVER_PORT"]		80
_SERVER["SERVER_PROTOCOL"]	HTTP/1.1
_SERVER["REQUEST_METHOD"]	GET

###########################
... ab hier kann es brenzlig werden:
###########################
_SERVER["QUERY_STRING"]	no value # kein ?
_SERVER["REQUEST_URI"]		/info/index.php/var=val 
# _SERVER["SCRIPT_NAME"] . _SERVER["PATH_INFO"]

_SERVER["SCRIPT_NAME"]		/info/index.php
# der Grund, weshalb man $_SERVER["SCRIPT_NAME"] verwenden muß

_SERVER["PATH_INFO"]		/var=val
# enthält den Kram, den man an den eigentlichen Link drangeklebt hat

aber das
_SERVER["PHP_SELF"]		/info/index.php/var=val
kann böse enden
Wenn Du den URL selber parsen möchtest, dann nimm _SERVER["SCRIPT_URI"] http://mod.php.developer.vc/info/index.php/var=val
und die Funktion http://de3.php.net/parse_url

PHP-Code:
$ergebnis parse_url($_SERVER["SCRIPT_URI"]); 
ergäbe:
Code:
Array
(
    [scheme] => http
    [host] => mod.php.developer.vc
    [path] => /info/index.php/var=val
)
$ergebnis['path'] ergibt Scriptnamen incl. pathinfo

Bei einem URL mit Query String sieht es dann so aus:
Code:
Array
(
    [scheme] => http
    [host] => mod.php.developer.vc
    [path] => /info/index.php
)
Du mußt also prüfen, ob $ergebnis['path'] == $_SERVER["REQUEST_URI"] ist.
Wenn gleich, dann kannste SCRIPT_NAME + _SERVER["REQUEST_URI"] = REQUEST_URI verwenden.
Wenn ungleich ist SCRIPT_NAME verwendbar. _SERVER["REQUEST_URI"] beinhaltet no value.
$_SERVER["PATH_INFO"] beinhaltet PATH_INFO -> /var=val

Geändert von meikel (†) (30.05.2014 um 05:27:10 Uhr)
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
abfrage - nur Teil einer Spalte auslesen elbartho MySQLi/PDO/(MySQL) 16 25.01.2010 14:59:55
php-Datei mit include auslesen und mit substring nur einen teil anzeigen lassen sju PHP Grundlagen 8 03.08.2009 14:33:24
Teil einer URL auslesen uhi888 PHP Grundlagen 14 20.01.2007 20:38:36
Bestimmten Teil einer URL auslesen Bogi PHP Grundlagen 4 24.08.2006 21:01:43
Wie teil eines Strings auslesen? Revan PHP für Fortgeschrittene und Experten 4 03.06.2006 00:56:43


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:32:24 Uhr.


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


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