PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anker-Problem


consch
24.07.2009, 01:33:56
Hallo,

ich habe eine Datei, in der eine Karte aufgerufen wird, klicke ich nun auf eine Fläche, dann möchte ich in eine bestimmt Stelle in der anderen Datei aufrufen.
Datei 1:
<html>
<head>
<title>Bundesländer</title>
</head>
<body>
<DIV style="margin-top: 20px;">
<MAP name=Deutschlandkarte>
<AREA onmouseover="karte.src='karte/karte_01.gif'"
onmouseout="karte.src='karte/karte_00.gif'"
shape=POLY coords=167,97,156,80,147,88,110,53,110,4,194,39
href="bland.php#sh" target="_blank">

<AREA onmouseover="karte.src='karte/karte_02.gif'"
onmouseout="karte.src='karte/karte_00.gif'"
shape=POLY coords=170,98,183,88,179,71,260,22,286,61,294,102,287,94,255,112,243,1 04,238,109,224,101,205,110,207,118
href="bland.php#meckpomm" target="_blank">

<AREA onmouseover="karte.src='karte/karte_03.gif'"
onmouseout="karte.src='karte/karte_00.gif'"
shape=POLY coords=161,93,155,81,148,90
href="bland.php#hh" target="_blank">

<IMG height=450 src="karte/karte_00.gif"
width=330 useMap=#Deutschlandkarte border=0 name=karte>
</MAP>
</DIV>
</body>
</html>
Datei bland.php:
<!-- Bundesland des Sitzes = Hamburg -->
<a name="hh">
<?php
$bland = 'o.bundesland = "Hamburg"';
?>
</a>
<!-- Bundesland des Sitzes = Mecklenburg-Vorpommern -->
<a name="meckpomm">
<?php
$bland = 'o.bundesland = "Mecklenburg-Vorpommern"';
?>
</a>
<!-- Bundesland des Sitzes = Schleswig-Holstein -->
<a name="sh">
<?php
$bland = 'o.bundesland = "Schleswig-Holstein"';
?>
</a>
Wenn ich jetzt $bland ausgeben lassen, dann ist es immer Schleswig-Holstein, egal was ich auf der Karte anklicke. Was hab ich falsch gemacht? Hat jem. eine Idee?

feuervogel
25.07.2009, 14:55:02
du musst dich mal mit dem unterschied zwischen serverseitiger ausführung und clientseitiger darstellung beschäftigen. wenn du zu einem anker verlinkst, passiert das auf der darstellungsseite, also im browser wird einfach zu der stelle im html gesprungen.

das php-script, das das html ausgibt, wird aber jedesmal vollständig ausgeführt (und nicht nur ab einem bestimmten anker im html).

also wird dieser code hier:

<!-- Bundesland des Sitzes = Hamburg -->
<a name="hh">
<?php
$bland = 'o.bundesland = "Hamburg"';
?>
</a>
<!-- Bundesland des Sitzes = Mecklenburg-Vorpommern -->
<a name="meckpomm">
<?php
$bland = 'o.bundesland = "Mecklenburg-Vorpommern"';
?>
</a>
<!-- Bundesland des Sitzes = Schleswig-Holstein -->
<a name="sh">
<?php
$bland = 'o.bundesland = "Schleswig-Holstein"';
?>
</a>

jedesmal ausgeführt beim aufrufen von bland.php und zuletzt wurde $bland eben "Schleswig Holstein" zugewiesen...

consch
27.07.2009, 01:17:52
Bedeutet das, dass ich dann nicht mit einem Anker arbeiten kann?
Gibt es Alternativen?

DokuLeseHemmung
27.07.2009, 01:46:31
Ja das bedeutet es!
PHP kriegt von den Ankern nix mit. Die bleiben schön im Browser.
Aber du könntest es dir per GET Parameter machen.

consch
28.07.2009, 20:47:43
Okay, danke, dann schau ich mir das mit dem GET-Parameter mal an.
Ganz zu Beginn hatte ich einfach jedes bl in einer eigenen php, aber dachte das es ja auch eine andere Möglichkeit nehmen muss :)
Danke für die Antworten, ich schau mal.