webForumDet fria alternativet

Ankare och GET variabler i samma länk

PHPur PHP

9 svar · 276 visningar · startad av Prime_66

Medlem sedan aug. 2004290 inlägg
Frågan#1

Går det att skicka med både ett ankare och GET variabler i samma länk på detta vis;

$errormsg ="Filen du försöker ladda är inte godkänd. Max filstorlek 50kb, max 50 * 50 pixlar.";
header('location: ../musicmakpresentation.php#bottom?errormsg='.$errormsg.'');

dår har jag alltså på sidan musicmakpresentation.php ett ankare: <a name="bottom"></a>

Men problemet är att när jag skriver som jag gjort fungerar varken error-messet eller ankaret.??

Medlem sedan sep. 20021 655 inlägg
#2

Om du skriver det i andra ordningen ska det fungera:

header('Location: ../musicmakpresentation.php?errormsg=' . urlencode($errormsg) . '#bottom');
Medlem sedan aug. 2004290 inlägg
#3

Saken är den att det inte ens funkar om jag tar bort error messet. Alltså bara skriver:

header('Location: ../musicmakpresentation.php#bottom');

Ankaret på php sidan är angivet på följade sätt: <a name="bottom"></a> och jag har testat att det funkar genom att göra en vanlig klickbar länk ifrån samma sida. Kanske rä något problem med att # inte kan stå efter ändelsen php? O bara funkar med html eller htm. Fast det vore ju konstigt..

Medlem sedan sep. 20021 655 inlägg
#4

Prime_66 skrev:

Kanske rä något problem med att # inte kan stå efter ändelsen php?

Det ska inte vara några problem.

Däremot är jag lite tveksam till att du skriver ../musicmakpresentation.php med två inledande punkter.
Det man anger som location ska egentligen, enligt HTTP-specifikationen, vara en absolut sökväg, men webbläsare brukar förstå det ändå.

Testa att ändra till att skriva ut hela sökvägen, i stil med

header('Location: [url]http://www.dindomän.se/musicmakpresentation.php#bottom[/url]');

Det är förresten inte så att det klagas över att du försöker skicka en header? Innan du skickar en header kan du nämligen inte ha någon form av utskrift.

Medlem sedan aug. 2004290 inlägg
#5

Japp, det verkar ett av felen med min sökväg. Men sen är sidan i ett frameset också. I mitten-framen. Kanske det som gör att det skiter sig med..

Medlem sedan sep. 20021 655 inlägg
#6

Att sidan är i en frame spelar ingen roll.

Medlem sedan aug. 2004290 inlägg
#7

Grejen är den att ankaret verkar "försvinna" när man skriver in länken med hjälp av header. Ankaret borde ju synas i adress-fältet precis som error messet gör när man skickar det med hjälp av GET. Skriver man in adressen manuellt i adresfältet funkar det.

men om man skriver:

 header('location: [url]http://www.fat.se/~demon/musicmaker/musicmakpresentation.php#bottom[/url]');

verkar den ignorera #.

Medlem sedan aug. 2004290 inlägg
#8

Nä..jävla skit php. Fick bli med javscript då funkar det som man har tänkt sig iaf. Lösning:


<script>
function MM_goToURL() { 
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
</script>

[php]
//Ladda in t.ex. en bild o utnyttja javascript onload
  echo '<img src="../../Images/trans.gif" width="196" height="297" onload="MM_goToURL(\'parent.frames[\\\'mainFrame\\\']\',\'../testing.php#kuk\');return document.MM_returnValue">';
[/php]

:birp

Medlem sedan mars 2004230 inlägg
#9

Då fungerade det med ankare efter php alltså? Har också haft problem med det.

Medlem sedan aug. 2004290 inlägg
#10

Nej, det fungerar INTE. Fick köra med javascript istället.

131 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)