Link-Erweiterung

Re: Link erweiterung.

Um etwas zur bestehenden URL hinzuzufügen/zu ändern, finde ich den von Gumbo vorgeschlagenen Weg gerade bei vielen Variablen praktisch:
PHP:
function getURLQueryString($args=null)
{
	if( is_null($args) ) {
		$args = array();
	}
	$args = array_merge($_GET, $args);
	$return = '?';
	foreach( $args as $key => $value ) {
		$return .= $key.'='.rawurlencode($value).'&';
	}
	$return = substr($return, 0, -1);
	return $return;
}

$args = array('chat' => 'enter', 'eine_variable' => 'ein_wert');
echo $_SERVER['PHP_SELF'].getURLQueryString($args);
Hierbei ist $args ein assoziatives Array mit den hinzuzufügenden/zu ändernden Argumenten.
 
Re: Link erweiterung.

von Moritz123
Das kannst Du natürlich auch noch erweitern und beispielsweise eine Prüfroutine einbauen, die die Datei auf Vorhandensein checkt:

PHP-Code:
if(file_exists($_GET['mode'] . ".php") include($_GET['mode'] . ".php");
else include(
"error_404.html");
Ich arbeite nun mit diesem PHP Code und es funktioniert einwandfrei, doch nun habe ich meinen Code ausgearbeitet und jetzt hatt sich schon ein anderes Problem angewannt doch dieses gehört nicht in dieses Forum.


Ich Danke jedem der mir in diesem Thread geholfen hat.

Lon3sWolf_VtG8
 
Re: Link erweiterung.

Hallo.
Habe folgendes Problem:
Habe
Code:
<?php
echo "Hallo";
switch($section){
case "index": include("index.php"); break;
case "test": include("includes/test.php"); break;
default: include("index.php.php"); break;
}
?>

Eingebaut um index.php?section=test zu bekommen.
in der test.php steht auch nur Hallo.
Nun wollte ich folgendes machen:

Ich würde ganz gerne nur einmal das Hallo aus der test.php angezeigt bekommen, jedoch trotzdem index.php?section=test eingeben können.
Wie bekomme ich das hin?
Hab so das Gefühl, dass ich dazu nicht includen brauche.
Jedoch weiß ich nicht, wie ich das dann mit der Endung hinbekomme.
 
Re: Link erweiterung.

Ich probiers nochmal ;-)

Im Moment habe ich folgendes:
Eine index.php mit Angaben für mein Design und dem Text "Hallo" und eine test.php mit dem Text "Hallo".
Wenn ich die Datei nun auf oben genannte Weise include kann ich in meinem Browser index.php?section=test eingeben.
Mein Problem ist nun folgendes:
Ich bekomme vom Browser einmal das Hallo aus der index.php und einmal das Hallo aus der test.php ausgespuckt.
Mein Anliegen:
Ich möchte ganz gerne index.php?section=test eingeben können, jedoch nur einmal das Hallo ausgespuckt haben.
Ich möchte also mit dem Befehl nur den Inhalt der test.php aufrufen.
 
Re: Link erweiterung.

Code:
if(file_exists($_GET['mode'] . ".php") include($_GET['mode'] . ".php");
else include("error_404.html");

Eine Frage die sich etwas OT bewegt: Ist das security-technisch nicht der reinste Albtraum Im Prinzip könnte man da doch includen was immer man will - und zwar über die Browser Adress-Zeile
 
Re: Link erweiterung.

Mein Anliegen:
Ich möchte ganz gerne index.php?section=test eingeben können, jedoch nur einmal das Hallo ausgespuckt haben.
Ich möchte also mit dem Befehl nur den Inhalt der test.php aufrufen.
Dann entferne doch einfach den überflüssigen Aufruf.
 
Re: Link erweiterung.

Dann mach das Hallo in der index.php weg :-)
Falls du meinst nur test.php ohne index.php dann brauchst du nicht zu includen.
Ansonsten verstehe ich dein Problem auch nicht ...
 
Re: Link erweiterung.

Ich probiers nochmal:
Die index.php soll die Startseite sein.
In der index.php stehen die Angaben für das Design der Seite.
Dann hab ich nen Table erstellt in dem sowas wie willkommen stehn soll.
Wenn man auf test klickt soll in dem Tabel die test.php mit dem Inhalt Hallo geladen werden.
Der willkommensgruß jedoch nicht mehr.
Ich möchte jedoch dafür die Linkendung index.php?section=test
 
Re: Link erweiterung.

Etwa Folgendes?
PHP:
<?php

	if( isset($_REQUEST['section']) && file_exists('foobar/'.$_REQUEST['section'].'.php') ) {
		include_once 'foobar/'.$_REQUEST['section'].'.php';
	} else {
		echo 'Willkommen!';
	}

?>
 
Zurück