Mehrere Variablen mit GET übergeben geht nicht

tinella

Erfahrenes Mitglied
Liebe Leute

Ich hab mal wieder ein Problem. Wäre super, wenn mir jemand kurz helfen könnte.

Also ich habe eine Homepage, welche ein Menu (besteht aus Buttons) besitzt.

Wenn man zB auf den Menupunkt Kontakt klickt, soll sich der Inhalt von zwei Div's ändern.
# Div 1 = Text (zB Kontaktformular)
# Div 2 = Titelbild

Befinde ich mich zB im Menupunkt Home, sollte im
# Div 1 = Text (zB Einleitetext) und im
# Div 2 = Homebild erscheinen

Mein momentaner Stand ist der, dass sich NUR der Inhalt des Div 1 ändert, jedoch nicht das Bild in Div 2. Div 2 bleibt also mit dem Bild "Home" ausgefüllt, was ich nicht will.

Mein momentaner Stand sieht folgendermassen aus...

Index (NAVIGATIONS DIV):
Code:
<div id="navigation">	
		<a href="<?php echo $_SERVER['PHP_SELF'];?>?textContent=content/home" <img src="images/navigation/home.gif" alt="Home" name="Home" width="189" height="24" border="0" id="Home" /></a>
		
		<a href="<?php echo $_SERVER['PHP_SELF'];?>?textContent=content/kontakt" <img src="images/navigation/kontakt.gif" alt="Kontakt" name="Kontakt" width="189" height="24" border="0" id="Kontakt" /></a>
</div>

Hier sage ich ?textContent=content/home (welches ich weiter unten, in der anderen PHP Datei namens siteHandling.php) abfrage und im DIV 1 ausgebe.

HIER LIEGT MEIN PROBLEM! Ich möchte hier quasi auch noch sagen, dass titleContent so lauten muss: ?titleContent=images/titiles/kontakt
Nur wenn ich das einfach nach ?textContent=content/kontakt anhänge, passiert nix.


Das Problem ist, dass im siteHandling.php die Variable titleContent immer leer ist, dabei müsste die eigentlich voll sein damit er in die Schleife reinkommt und den richtigen Titel anzeigt! So wie es jetzt funktioniert, ist sie immer leer und er nimmt im siteHandling.php immer den Standardwert, also home und zeigt somit auch immer Home als Bild an, egal ob ich auf Kontakt geklickt habe.

Text (DIV 1):
Code:
<div id="text">
			<?php
				// Take wished file, else take standardfile answers.gif
				if(is_file($_SESSION['sessionTextContent'].".php")) {
					require ($_SESSION['sessionTextContent'].".php");
				}
			?>			
			</div>

Titel (Div 2):
Code:
			<div id="title">
			<?php				
				// Take wished picture, else take standardpicture hometitle.gif
				$titlePath = ($_SESSION['sessionTitleContent'] . ".gif");				
				$title = exif_imagetype($titlePath);
				
				// Check if is it a gif-picture
				if ($title & (IMAGETYPE_GIF)) {
			?>
					<img src="<?php echo $titlePath ?>" />
			<?php
				} else {
				// TODO: can not give out picture
				}
			?>	
			</div>


siteHandling.php:
Code:
<?php
// SITE HANDLING TEXT (DIV 1)
if ($_REQUEST['textContent']) {
echo "schlaufe 1, textContent true";
	$_SESSION['sessionTextContent'] = $_REQUEST['textContent'];
}

if (!$_SESSION['sessionTextContent']) {
echo "schlaufe 2, textContent false";
	$_SESSION['sessionTextContent'] = "content/home";
}

// SITE HANDLING TITLES (DIV 2)
if ($_REQUEST['titleContent']) {
echo "schlaufe eins, titleContent true";
	$_SESSION['sessionTitleContent'] = $_REQUEST['titleContent'];
}

if (!$_SESSION['sessionTitleContent']) {
echo "schlaufe zwei, titleContent false ______ ";
	$_SESSION['sessionTitleContent'] = "images/titles/hometitle";
}
?>

Hmm, ich hoffe ich habe es nicht verkompliziert.

Wäre um Hilfe sehr froh.

Vielen Dank und liebe Grüsse,
Tinella
 
Zuletzt bearbeitet:
Mmh danke für deine Antwort.

Also es ist so, dass wenn ich im Navigationsdiv die Übergabeparameter des Textes ersetze mit den Übergabeparametern des Titels, verändert es mir die Titel korrekt, ABER dafür dann die Texte nicht mehr.

Also folgendermassen:

Verändert Text korrekt:
Code:
		<a href="<?php echo $_SERVER['PHP_SELF'];?>?textContent=content/home"><img src="images/navigation/home.gif" alt="Home" name="Home" width="189" height="24" border="0" id="Home" />
?textContent=content/home

Verändert Titel korrekt:
Code:
		<a href="<?php echo $_SERVER['PHP_SELF'];?>?titleContent=images/titles/kontakt"><img src="images/navigation/kontakt.gif" alt="Kontakt" name="Kontakt" width="189" height="24" border="0" id="Kontakt" />
?titleContent=images/titles/kontakt

Ich möchte aber beides korrekt verändern.

Folgendes funktioniert leider nicht:
Code:
		<a href="<?php echo $_SERVER['PHP_SELF'];?>?textContent=content/home?titelContent=images/titles/kontakt"><img src="images/navigation/home.gif" alt="Home" name="Home" width="189" height="24" border="0" id="Home" />
?textContent=content/home?titelContent=images/titles/kontakt

Wie mache ich das bloss?
 
Hallo

der erste Parameter mit ? wie du es hast, alle weiteren werden mit & verknüpft, in deinem Beispiel also:

Code:
<a href="<?php echo $_SERVER['PHP_SELF'];?>?textContent=content/home&titelContent=images/titles/kontakt"><img src="images/navigation/home.gif" alt="Home" name="Home" width="189" height="24" border="0" id="Home" />

HTML valide wäre statt & das: &amp; -->besser :)
Es könnte auch sein das Dennis recht hat mit den Slashes das habe ich nicht ausprobiert, falls das der fall ist kannste ja synonyme verwenden.

Anmerkung
Bei deinem Handlingscript wäre eine isset() Überprüfung angebracht und das globale Array $_GET

Bsp.
Code:
// SITE HANDLING TEXT (DIV 1)
$_SESSION['sessionTextContent'] = "content/home";
if (isset($_GET['textContent'])) 
{
   echo "schlaufe 1, textContent true";
   $_SESSION['sessionTextContent'] = $_GET['textContent'];
}

mfg
 
Lieber Online-Skater,

vielen Herzlichen Dank!!
Genau das habe ich gemeint!

Du hast mit sehrrrr geholfen :-)

Euch allen noch einen schönen Abend,

Tinella
 

Neue Beiträge

Zurück