Avatar billede Slettet bruger
15. maj 2003 - 12:21 Der er 22 kommentarer og
1 løsning

Problem med at få target_top til at virke i php kode

Hej.

Jeg har det her:

  $insertGoTo = "index.html";
  if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));


men jeg kan ikke finde ud af at få lagt target=_top ind så det virker. Jeg skal have det lavet så den rydder siden og starter helt forfra, men det kan jeg ikke få den til.

Jeg håber her er en der kan hjælpe mig.
Avatar billede medions Nybegynder
15. maj 2003 - 12:23 #1
Du er nødt til at lave din Target i din Anchor (<a href="" target="_top">link</a>)

//>Rune
Avatar billede Slettet bruger
15. maj 2003 - 12:25 #2
Det vil sige at det kan jeg ikke i ovenstående ? Det kan ikke stå andre steder, da det er der siden kaldes.
Avatar billede medions Nybegynder
15. maj 2003 - 12:29 #3
Det kan ikke være muligt at angive target i PHP, da PHP afvikles på selveste serveren, og ikke på klienten hvor frames afvikles.

Du kunne evt. lave en funktion der parsede noget target ned i en variabel som så udskrev dit Anchortag!

Fx.

$var = "<a href=$filnavn target=$target>klik her</a>";
echo $var;

Eller noget i den stil!?

//>Rune
Avatar billede Slettet bruger
15. maj 2003 - 12:30 #4
Man skal ikke klikke på linket, det udføres efter et tryk på en submitknap. index.html bliver jo lagt ind, men jeg kan ikke få det andet lagt med ind.
Avatar billede websmith Nybegynder
15. maj 2003 - 12:31 #5
Eller du kunne bruge:

echo "<script>top.location.replace('" +$insertGoTo +"');</script>")

mvh
Avatar billede medions Nybegynder
15. maj 2003 - 12:32 #6
ahh, så kunne der være en anden mulighed som kunne være at lave det i JavaScript! -der kan du selv styre hvilken frames du vil ha' den ind i!

Du har mulighed for næsten alt med JavaScript ;o)

//>RUne
Avatar billede websmith Nybegynder
15. maj 2003 - 12:33 #7
Ja :)
Avatar billede websmith Nybegynder
15. maj 2003 - 12:34 #8
Jeg er ikke lige den store php haj, så syntaxen er måske ikke helt korrekt, men ideen er den rigtige :)
Avatar billede Slettet bruger
15. maj 2003 - 12:40 #9
top.location.replace  Er det ikke java ? Det kan ikke laves med alle umulige krumspring. Det skal kunne sættes ind i ovenstående. Der må være en måde at gøre det på, men hvhordan ;-)
Avatar billede medions Nybegynder
15. maj 2003 - 12:40 #10
Hvad jeg nu mere havde tænkt mig var at gøre sådan her:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
<script type="text/javascript">
    function Videresend() {
        top.location = 'din_side.php';
    }
</script>
</head>

<body>

<form name="frm1" method="post" onsubmit="Videresend();">
    <input type="submit" name="submitknap" value="klik på mig">
</form>

</body>
</html>

Altså ikke og bruge PHP!

//>Rune
Avatar billede Slettet bruger
15. maj 2003 - 12:42 #11
Man kan ikke bare lige sætte noget ind i den side. Den har det med at komme med en blank side når man laver om på noget. Det er en stor side med en masse på, og det hele virker. Men da der er kommet en venstre frame på mangler jeg at få ryddet siden, ellers kommer framen hele tiden ved siden af den der er der og tilsidst kan man kun se den frames :)
Avatar billede websmith Nybegynder
15. maj 2003 - 12:44 #12
top.location er ikke java, men javascript.

Det jeg havde tænkt mig var at dit php script skulle printe javascript istedet for at sætte en Location header. Fordelen ved dette er at du kan sætte target på.

Dvs. istedet for

header("Location:/index.html?test");

bruger du
echo "<script>top.location.replace('" +$insertGoTo +"');</script>");

Eller hvordan nu syntaxen er for at sætte strenge sammen.
Avatar billede erikjacobsen Ekspert
15. maj 2003 - 12:49 #13
Jeg har ikke læst alle indlæg grundigt, men synes at muligheden

  <form ...... target="_top">

bør overvejes af spørgeren
Avatar billede Slettet bruger
15. maj 2003 - 12:54 #14
Erik. Du er som sædvanlig dagens mand i skysovs ;) TAK det virkede.
Vil du have nogle point så svar.
Avatar billede erikjacobsen Ekspert
15. maj 2003 - 12:56 #15
Jo tak
Avatar billede Slettet bruger
15. maj 2003 - 12:56 #16
Tak for hjælpen.
Avatar billede websmith Nybegynder
15. maj 2003 - 12:57 #17
Det er sgu for latterligt.
Her giver både Rune og jeg godt svar som begge vil fungere, og så giver du erik alle points.
Avatar billede websmith Nybegynder
15. maj 2003 - 12:59 #18
godt=gode
Avatar billede Slettet bruger
15. maj 2003 - 12:59 #19
Jeg spurgte om at få det lagt ind i det eksisterende, og jeres forsøg var en masse andet der skulle laves. Erik's svar var kort og præcis hvad jeg manglede, så er det vel også rimeligt at han får de point. Jeg fik target=_top lagt ind uden alle mulige javascritp og lignende.
Men tak for jeres forsøg.
Avatar billede websmith Nybegynder
15. maj 2003 - 13:01 #20
Mit svar kunne da også bruges uden videre.
Du havde allerede en linie med:
header(sprintf("Location: %s", $insertGoTo));

Den sagde jeg bare at du skulle skifte ud med
echo "<script>top.location.replace('" +$insertGoTo +"');</script>");

Hvor svært er det?
Avatar billede Slettet bruger
15. maj 2003 - 13:02 #21
At der skulle blandes et andet script ind i det. Det jeg fik var meget simplere og efter min mening den rigtige måde at gøre det på.
Avatar billede websmith Nybegynder
15. maj 2003 - 13:05 #22
Det kan da godt være at du synes at det var et bedre svar, og den "rigtige" måde, men jeg gav dig et rigtigt svar, som ville kunne implementeres af selv min mor, og alligevel 0 point.

Men det er jo ganske nemt at klikke på
Skjul indlæg fra denne bruger: globalt når du skider på dem som gider at svare på spørgsmål.
Avatar billede Slettet bruger
15. maj 2003 - 13:06 #23
ok.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester