Sprungmarken?

icefire

Erfahrenes Mitglied
Hallo!

Für ein Vote von Files möchte ich eine Sprungmarke setzen, damit ich wieder an die Ausgangsstelle zurück komme. In HTML gibts die Möglichkeit Sprungmarken zu setzen und zwar so:
PHP:
<a href="#a5">Das Kamel</a> // Sprung im Files
<a href="blabla.htm#a11">Philae Tempel</a> // Sprung in ein anderes File

Mit name="#a5" wird dann die Makierung gesetzt.

Jetzt habe ich versucht mit PHP das Verfahren anzuwenden. Aber weil ich die Tabellen durch den Inhalt in der Datenbankabfrage bestimme, kann ich keine festen Makierungen setzen. Spasses halber habe ich ein neue Feld "jumper" hinzugefügt und zahlen zugeordnet.

In der Tabelle von der Ausgangsseite (map_cs.php) habe ich nun name=\"#".$data[jumper]."\" eingefügt. Wenn ich auf Vote klicke wird die ID übergeben und die Daten werden nochmal abgefragt und in das Votingformular übergeben.
PHP:
<input type="hidden" name="jumper" value="<? echo $data[jumper] ?>"></td>

Jetzt vote ich und er übergibt auch die Makierung an die nächste Seite, die alle Daten eintragen soll und auf die Ausgangsseite verweisen soll. Das hatte ich mir so gedacht:
PHP:
echo("<br><table border=\"0\" align=\"center\">
<tr><td>Deine Stimme wurde gezählt!</td></tr>
<tr><td><br></td></tr>
<tr><td><a href=\"index.php?file=map_cs#".$post[jumper]."\">Zurück</a></td></tr>
</table><br>");

Ihr könnt euch sicherlich vorstellen das er die aufzurufende Seite nicht findet. Was habe ich denn falsch gemacht bzw. muss ich beachten? Gibts noch eine anderen Lösungsweg mit PHP?

thx for help
ice
 
Zum einen kannst du natürlich nur zu einem Anker springen, den zu zuvor definiert hast, die z.B. so aussehen
Code:
<a name=7>Hier kommt Text hin oder auch nicht</a>
Diesen Anker könntest du über filename.ext#7 anspringen.

Und das ist es auch schon. Die Syntax ist ansonsten korrekt, so kann ich z.B. mit folgendem Aufruf
/index.php?content=ergebnisse#7
problemlos den entsprechenden Anker anspringen.

Sollte das den Kern des Problems nicht treffen, versuch noch einmal das ganze differenzierter darzustellen.
 
Alle Files haben von mir einen Anker bekommen und wurden in die Datenbank eingetragen. Die werden ja dann automatisch zugewiesen:
PHP:
while($data = mysql_fetch_array($link))
{ 
if ($data[map_typ] == 'cs')
{
printf("<tr bgcolor='%s'>
<td name=".$data[jumper]." colspan=2 align=center>
[<a href=\"".$path.$srf.$data[map_name].$exf."\">Download</a>] 
*** Eure Bewertung: [".substr($ergebnis,0,4)."]
[<a href=\"index.php?file=downloads/vote&map_id=".$data[map_id]\">Vote?</a>]
</td></tr>", bgcolor(1));
}
}

Die ID und auf der nächsten Seite der Anker werden 100%tig übertragen, das habe ich getestet. Frag sich nur warum der Link zurück nicht funktioniert!?
PHP:
<a href=\"index.php?file=map_cs#".$_POST[jumper]."\">Zurück</a>
 
ich sehe hier
PHP:
while($data = mysql_fetch_array($link)) 
{ 
if ($data[map_typ] == 'cs') 
{ 
printf("<tr bgcolor='%s'> 
<td name=".$data[jumper]." colspan=2 align=center> 
[<a href=\"".$path.$srf.$data[map_name].$exf."\">Download</a>] 
*** Eure Bewertung: [".substr($ergebnis,0,4)."] 
[<a href=\"index.php?file=downloads/vote&map_id=".$data[map_id]">Vote?</a>] 
</td></tr>", bgcolor(1)); 
} 
}
weder einen Anker, noch glaube ich, dass deine Links so überhaupt funktionieren würden, denn dort stimmt etwas nicht mit deinen auskommentierten Anführungszeichen!

Probier es bei deinen Links mal so:
PHP:
"<a href=\"index.php?file=map_cs#" . $_POST['jumper'] . "\">Zurück</a>"
 
Ich glaube langsam das ich ein PHP-Trauma habe - der Fehler war eigentlich ganz einfach - und übersehen habe ich das vom Tim auch weil der name=wert nicht in <a> stand sondern in <td>!:-(

Danke für eure Zeit! :-)
 
Zurück