Gibt es eine Längenbegrenzung bei HREF und PHP ?

StarsUnited

Grünschnabel
Hallo,

ich hoffe Ihr könnt mir helfen. Ich versuche meine neue Homepage (http://www.ich-will-entdeckt-werden.de) dynamisch zu gestalten. Dabei nutze ich an irgendeiner Stelle folgenden Link innerhalb eines php-Scriptes:

<a href=\"model_detail_template.php?Kundennummer=$kundennummer&filenameprev=$filenameprev&seitennummer=$seitennummer&anzahl_kunden=$anzahl_kunden_uebergabe&anzahl_models=$anzahl_models_uebergabe\">

Irgendwie wird aber nach "$filenameprev" die href abgeschnitten und es scheint immer nach einer ganz bestimmten Anzahl von Zeichen zu sein.

Daher meine Frage, gibt es da eine Längenbegrenzung und kann ich die Ausschalten, denn es gibt im www dorch noch weitaus längere Links, oder ?

Danke Euch schon im Voraus

Gruß Michael
 
Prinzipiell gibt es keine Beschränkung bei der Länge eines URLs – zumindest nicht von Seiten der Spezifikation. Von Seiten der Browser jedoch schon. Am besten solltest du URLs mit einer Länge größer als 265 Zeichen vermeiden.
Es ist aber möglich, dass es andere Gründe für dieses Phänomen gibt. Wird es denn auch schon abgehackt ausgegeben? Wie sieht denn eine typische Ausgabe aus?

Probier mal Folgendes:
PHP:
<?php

	function generateURLQuery( $args, $html=false )
	{
		$argSeparator = ( $html === true )
			? htmlspecialchars(ini_get('arg_separator.input'))
			: ini_get('arg_separator.input');
		if( $html == true ) {
		$return = '';
		foreach( $args as $key => $value ) {
			$return .= rawurlencode($key) . '=' . rawurlencode($value) . $argSeparator;
		}
		return substr($return, 0, strlen($argSeparator) * -1);
	}

	$args = array(
		'Kundennummer'  => $kundennummer,
		'filenameprev'  => $filenameprev,
		'seitennummer'  => $seitennummer,
		'anzahl_kunden' => $anzahl_kunden_uebergabe,
		'anzahl_models' => $anzahl_models_uebergabe
	);
	echo '<a href="model_detail_template.php?'.generateURLQuery($args, true).'">foobar</a>';

?>
 
Erst mal Danke für die rasche Antwort.

Habe versucht das Script in mein php einzubauen und bekomme folgende Fehlermeldung im Browser:

Fatal error: Cannot redeclare generateurlquery() (previously declared in /homepages/41/d152463529/htdocs/cgi-bin/model_uebersicht_test.php:135) in /homepages/41/d152463529/htdocs/cgi-bin/model_uebersicht_test.php on line 135

Dabei ist die Zeile 135 die, in der die "function......" Anweisung beginnt.

Gruß Michael
 
Hast du die Funktionsdeklaration zwei mal notiert? Sonst benenn die Funktion einfach um.
 
Ja, hatte die Funktion in einer Schleife :-( ...dann löst er die Anweisung nicht auf und gibt folgenden Link weiter:

http://www.ich-will-entdeckt-werden.de/cgi-bin/model_detail_template.php?'.generateURLQuery(Array).'

Kann es sein, daß das daran liegt, daß ich die <A HREF.......... Anweisung in einer "echo" Anweisung verpackt habe, also darin aufrufe und deshalb ".generateURLQuery(Array)." nicht in bezug auf die Function erkannt wird ?

...du siehst, ich bin noch ziemlicher Anfänger :-(

Daher tausend Dank
 
Dann hast du anscheinend die Zeichenkette falsch ausgezeichnet. Hast du meinen Vorschlag mal 1:1 übernommen und ausprobiert?
 
Zurück