Om du skriver det i andra ordningen ska det fungera:
header('Location: ../musicmakpresentation.php?errormsg=' . urlencode($errormsg) . '#bottom');
9 svar · 276 visningar · startad av Prime_66
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.??
Om du skriver det i andra ordningen ska det fungera:
header('Location: ../musicmakpresentation.php?errormsg=' . urlencode($errormsg) . '#bottom');
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..
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.
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..
Att sidan är i en frame spelar ingen roll.
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 #.
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
Då fungerade det med ankare efter php alltså? Har också haft problem med det.
Nej, det fungerar INTE. Fick köra med javascript istället.