Avatar billede count42 Nybegynder
21. maj 2002 - 20:16 Der er 70 kommentarer og
1 løsning

Opdatering af html side

Jeg har et lille problem.

Jeg har lave en side, hvor folk skal kunne logge ind. Dette gør jeg vha en cookie.Mit problem består af to ting:

1. Jeg kan ikke få slettet cookien igen..
2. Jeg skal have opdateret en side, der ligger i en anden frame end den der skal kalde opdateringen

Håber nogen kan hjælpe!
Avatar billede count42 Nybegynder
21. maj 2002 - 20:27 #1
Jeg bruger dette til at oprette cookien:

if($myrow = mysql_fetch_array($result)){   
    setcookie ("cookie_nick", $nick,time()+99999);
    setcookie ("cookie_pass", $pass,time()+99999);
    header("Location: main.html");
    exit;
}

og dette script til at fjerne den:

<SCRIPT>
function DelCookie(sName, sValue) {
  document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1998 23:59:59 GMT;";
}
</SCRIPT>

Jeg har forsøgt location.reload det virker ikke..!? Kan jeg "kaste" en reload på en frame..f.eks.: mainFrame.reload(); ???
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 20:33 #2
parent.mainFrame.location.reload(true);
Avatar billede count42 Nybegynder
21. maj 2002 - 20:36 #3
<div align="center">
    <p align="center"><fieldset> <legend> Login: </legend>
  <form name='login' method='post' action='members.php' target='mainFrame'>
    <br>
    <label for="t1">Nickname:</label>
    <INPUT TYPE=TEXT NAME='nick' size='10' MAXLENGTH='10'>
    <br>
    <label for="t2">Password:</label>
    <INPUT TYPE=PASSWORD NAME='pass' size='10' MAXLENGTH='10'>
    <br>
    <br>
    <INPUT TYPE=submit value='login' id="submit">
  </FORM></fieldset>
</div>

hvordan implementerer jeg den?..den skal sættes ind i ovenstående kode!?
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 20:37 #4
Hvorfor lægger du ikke bare cookiescriptetover i login framen???
Avatar billede count42 Nybegynder
21. maj 2002 - 20:39 #5
Ved ikke helt hvad du mener? Det jeg vil er, at jeg øverst på siden vil have at der står:
'logged in as: nickname'
Jeg kan godt få lagt cookien og få logget brugeren ind..jeg skal bare have opdateret den frame hvori det står! :)
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 20:42 #6
Du kan i din members.php skrive noget alá det her:

<?
if($jegERLoggetInd){
?>
<script>
parent.mainFrame.location.reload(true);
</script>
<?
}
?>
Avatar billede count42 Nybegynder
21. maj 2002 - 20:44 #7
ok!..jeg prøver! :)
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 20:47 #8
Så skal du selvfølgelig tjekke om cookien er sat i toppen der.

?>
if($minCookieErSat){
echo("<input type='text' value='$minCookiesVærdi'>")
}else{
echo("<input type='text' value='Ikke logget ind'>")
}
Avatar billede count42 Nybegynder
21. maj 2002 - 20:57 #9
hmm..den reloader ikke!?..jeg har sat den til at opdatere parent.mainFrame...
og også tjekket for om cookien er sat!

Det kan godt være det er mig der er dum..men jeg kan ikke få det til at virke!
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 21:01 #10
Har du flere framesets??? Hvordan ser dit frameset ud?

Og tjeck evt om du når dertil hvor den registrere dit login med en simpel

if($jegERLoggetInd){
echo("hej du");
}

Det er lidt svært at gætte sig frem til opbygningen af dine filer.

/Nikolaj
Avatar billede count42 Nybegynder
21. maj 2002 - 21:03 #11
Jeg har 4 frames..to øverst og to nederst...den jeg vil have opdateret er den øverst til højre..

siden er: www.codename42.dk
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 21:09 #12
Er du sikker på at du så ikke skal bruge:

parent.rightFrame.location.reload(true);

/Nikolaj
Avatar billede count42 Nybegynder
21. maj 2002 - 21:11 #13
Det skal jeg.. :)..det har jeg også gjordt!...det var en fejl jeg skrev længere oppe :)
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 21:13 #14
læser du cookiens værdi i den fil også?
Avatar billede count42 Nybegynder
21. maj 2002 - 21:15 #15
hmm...jeg er lidt en newbie i php..hvordan læser jeg værdien..er det ikke bare '$cookieværdi' ???
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 21:17 #16
I den nye PHP bruger man:

echo $HTTP_COOKIE_VARS["minCookie"];
Avatar billede count42 Nybegynder
21. maj 2002 - 21:20 #17
det virkede ikke?..

Jeg tror bare, at jeg finder på en anden løsning..det vil ikke rigtig virke for mig..

Tusind tak for hjælpen :)
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 21:23 #18
Jeg vil gerne hjælpe dig, men du bliver nødt til at vise mig din PHP kode så.
Avatar billede count42 Nybegynder
21. maj 2002 - 21:29 #19
if($nick){
  $db = mysql_connect("localhost", "login", "password");
  mysql_select_db("DBnavn",$db);
  $sql = "SELECT pass FROM users WHERE userName='$nick' AND pass='$pass'";
  $result = mysql_query($sql,$db);

  if($myrow = mysql_fetch_array($result)){   
    setcookie ("cookie_nick", $nick,time()+99999);
    setcookie ("cookie_pass", $pass,time()+99999);
    //echo "you have just logged in!";
    if($cookie_nick){
    ?>
    <script>
        parent.rightFrame.location.reload(true);
    </script>
    <?php
    }
    header("Location: home.php");
    exit;
}
Dette er koden, hvorfra framen skal opdateres..

Herunder er koden fra den frame der skal opdateres:

      if($cookie_nick){
        echo $HTTP_COOKIE_VARS["cookie_nick"];
    }
    else{
        echo "Guest";
    }
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 21:31 #20
2 sekunder :)
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 22:08 #21
hehe sidder stadigt og roder lidt med det, men jeg spekulerede på om du ikke bare kunne lave den her i rightFrame.php

if(!isset($navn)){
echo ("ikke logget ind");
}else{
echo ("Velkommen $navn");
}

Og så i stedet for at reloade siden så bruge :

parent.rightFrame.location.href="TOCright.php?navn=<? $navn ?>"

/Nikolaj
Avatar billede count42 Nybegynder
21. maj 2002 - 22:16 #22
måske!.jeg prøver...:)
Avatar billede count42 Nybegynder
21. maj 2002 - 22:30 #23
Det virkede ikke!?

Nu kan den godt vise om man er guest eller logget ind..man skal bare trykke F5 for at den opdaterer!?.
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 22:41 #24
Der står i PHP manualen at siden skal reloades først.

prøv så i stedet med:

if(!isset($navn)){
echo ("ikke logget ind");
}else{

if(!isset($yepDu){
header($PHP_SELF);
$yepDu = "yep";
}
echo ("Velkommen $navn");
}

Jeg roder lidt rundt nu, men håber du forstår.

/Nikolaj
Avatar billede count42 Nybegynder
21. maj 2002 - 22:50 #25
Den der $yepDu = "yep"; hvad er hhv.. yepDu og yep?

..Det er pænt af dig at bruge så meget tid på det :)
Avatar billede sukos Juniormester
21. maj 2002 - 22:52 #26
Kan man ikke bare reloade hele framesettet?
    header("Location: alleframes.php");
Avatar billede sukos Juniormester
21. maj 2002 - 22:53 #27
Altså:

    header("Location: http://www.sidenavn.dk");
Avatar billede count42 Nybegynder
21. maj 2002 - 22:55 #28
hmm..måske..det har jeg ikke tænkt på!
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 22:56 #29
Som du kan se har jeg hentet PHP ekspertisen ind. Min kære onkel Sukos skal nu bevise hvad han kan. *LOL*
Avatar billede sukos Juniormester
21. maj 2002 - 22:57 #30
Så du min dreng! Nu ikke gøre nar!
Avatar billede sukos Juniormester
21. maj 2002 - 22:58 #31
Og jeg skal sgutte bevise någettt. Bare hjælpe hvis jeg kan!
Og du skal jo altid hjælpes, nikolajdu!!!!! :o)
Avatar billede count42 Nybegynder
21. maj 2002 - 23:07 #32
Nu opdatere den siden...problemet er bare, at hele siden bliver åbnet inde i mainFrameen? :)
Avatar billede count42 Nybegynder
21. maj 2002 - 23:08 #33
Jeg brugte iøvrigt ikke header("location: www.sidenavn.dk"); da den ikke duede men header("location: index.html");
Avatar billede sukos Juniormester
21. maj 2002 - 23:08 #34
Det er vel en target?
base target=mainframe
Avatar billede count42 Nybegynder
21. maj 2002 - 23:08 #35
ok!..prøver :)
Avatar billede sukos Juniormester
21. maj 2002 - 23:09 #36
Du skal bruge http:// i din header!
Avatar billede count42 Nybegynder
21. maj 2002 - 23:10 #37
Det gør det samme..den åbner hele siden i mainFram..jeg skal have reloaded hele mit fameset! :)
Avatar billede count42 Nybegynder
21. maj 2002 - 23:14 #38
Hvis du vil kan du se det selv..

Siden hedder: www.codename42.dk

gå ind under members og log ind med:

login: draagdnul
pass: korn4ever
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 23:17 #39
Så prøv min version igen (den der næsten virkede)

og brug:

top.frames["rightFrame"].location.reload(true);
Avatar billede count42 Nybegynder
21. maj 2002 - 23:18 #40
ok!
Avatar billede sukos Juniormester
21. maj 2002 - 23:19 #41
Hvorfor bruger du en target i formaction
Avatar billede sukos Juniormester
21. maj 2002 - 23:22 #42
hmm, jeg skal godt nok opdatere for at se siden, og kan ikke få lov at logge ud.
Avatar billede count42 Nybegynder
21. maj 2002 - 23:22 #43
Du mener:
if($cookie_nick){
?>
  <SCRIPT>
      top.frames["rightFrame"].location.reload(true);
  </SCRIPT>
<?php
}
i members.php (den der kalder opdateringen)
og:
if(!isset($cookie_nick)){
  echo "Guest";
}
else{
  echo "$cookie_nick";
}
I rightFrame ikke?...

Når jeg gør det kommer der en hvid side frem i mainFrame og rightFrame bliver ikke opdateret?
Avatar billede sukos Juniormester
21. maj 2002 - 23:23 #44
Men jeg forstår ikke helt, jeg ville da bruge ren php til at sætte og slette cookies? Hvorfor javascript?
Avatar billede count42 Nybegynder
21. maj 2002 - 23:24 #45
nemlig!..jeg kan ikke få fjernet cookien heller..men det er et helt andet problem! :)

hvad mener du med 'target i formaction'?
Avatar billede sukos Juniormester
21. maj 2002 - 23:25 #46
Det må jo være
if(isset($cookie_nick))
Avatar billede nikolajdu Nybegynder
21. maj 2002 - 23:25 #47
Så prøver vi med et sidste lille forslag.

parent.parent.rightFrame.location.reload(true);

altså 2 parent.
Avatar billede count42 Nybegynder
21. maj 2002 - 23:25 #48
Jeg har forsøgt javascript da jeg ikke kunne få det til at virke i php..jeg er ikke så meget inde i php endnu..det er den første side jeg laver med php :)
Avatar billede count42 Nybegynder
21. maj 2002 - 23:28 #49
hmm.. parent.parent.rightFrame.location.reload(true);

gør det samme..hvid skærm i mainFrame??..

Jeg må indrømme at jeg ikke rigtigt fatter hvad der er galt!!
Avatar billede sukos Juniormester
21. maj 2002 - 23:39 #50
JEg er ikke go' (heller ikke) til det javascript, men for nu at gøre det lidt mere kringlet:

Du har et frameset, med topppen og mainframe.

Toppen vises hele tiden.

mainframe laver du så et nyt frameset til.

På den måde er det en og samme fil du hele tiden skal refere til.
Er du med på hvad jeg mener?

Altså et frameset som består af toppen, og dernæst et nyt frameset til at definere main og right.
Det ville nok gøre det lidt nemmere. Og sæt hellere de cookies med php.
Det gi'r bedre mulighed for at kryptere passwordet.
Avatar billede count42 Nybegynder
21. maj 2002 - 23:43 #51
Jeg tror godt jeg ved hvad du mener..men er det ikke sådan jeg allerede har det..her er mit frameset:

<frameset rows="123,*" frameborder="NO" framespacing="0" cols="*">
  <frameset cols="*,215" frameborder="NO"framespacing="0" rows="*">
    <frame name="topFrame" scrolling="NO" noresize src="TOC.php">
    <frame name="rightFrame" scrolling="NO" noresize src="TOCright.php">
  </frameset>
  <frameset cols="*,314" frameborder="NO" framespacing="0" rows="*">
    <frame name="mainFrame" src="home.php">
    <frame name="rightFrame1" scrolling="AUTO" noresize src="news.php">
  </frameset>
</frameset>
Avatar billede sukos Juniormester
21. maj 2002 - 23:45 #52
hmm, det vedjeg ikke om det?
Er der nogen af de filer som er et nyt frameset?
Avatar billede count42 Nybegynder
21. maj 2002 - 23:45 #53
og du har HELT ret i det med cookien..jeg skal bare lige have læst lidt om hvordan man gør :)..men det er heldigvis ikke af så stor betydning endnu da både spillet og siden er på prealpha stadiet :)
Avatar billede count42 Nybegynder
21. maj 2002 - 23:46 #54
nej..de er almindelige php filer uden frameset eller noget andet! :)
Avatar billede sukos Juniormester
21. maj 2002 - 23:50 #55
Tror nu heller ikke dit definering a framesettet er korrekt?

Kan din side se så'n ud:

    TOP   
________________________
              |
              |
  MAIN        | RIGHT
              |
              |
Avatar billede sukos Juniormester
21. maj 2002 - 23:52 #56
Hvis nu den kan det, så laver du et "indexframeset" med top.php og bund.php

Top.php viser toppen.
bund.php er et nyt frameset hvor main og right bliver defineret.
Avatar billede count42 Nybegynder
21. maj 2002 - 23:52 #57
Det er meninge, at den skal se sådan ud:

topFrame |  rightFrame
-----------------------
mainFrame | rightFrame1
Avatar billede count42 Nybegynder
21. maj 2002 - 23:53 #58
ahh...det vil jeg lige prøve!
Avatar billede sukos Juniormester
21. maj 2002 - 23:55 #59
Og forresten er sessions bedre/nemmere end cookies. cookien er "overlegen" på den måde at den bliver lagt på brugerens comp, og kan derfor hentes igen på et senere tidspunkt. Hvorimod med sessions, så er der "lukket" når brugeren lukker browseren ned.
Avatar billede sukos Juniormester
21. maj 2002 - 23:56 #60
Nu vil jeg i seng!

Men til at blive lidt klogere på sessions og cookies kan di prøve at kikke her:

http://steffen.stellanova.dk/
Avatar billede count42 Nybegynder
22. maj 2002 - 00:04 #61
ok!..tusind tak for hjælpen begge to :)

Jeg vil rode videre med det..finder nok en løsning på et tidspunkt! :)

Hvis i vil have nogle point så bare post et svar..i har fortjent dem!!
Avatar billede nikolajdu Nybegynder
22. maj 2002 - 00:08 #62
ok, jeg vil også sove lidt snart :)
Avatar billede nikolajdu Nybegynder
22. maj 2002 - 00:08 #63
svar da så  :)
Avatar billede nikolajdu Nybegynder
22. maj 2002 - 00:22 #64
Hov jeg deler med onkel i morgen. Håber du finder en løsning :)
Avatar billede count42 Nybegynder
22. maj 2002 - 00:28 #65
ja..gør det..jeg fik vist givet dig alle pointene..det var ikke med vilje! :)

Det gør jeg..jeg bliver nok bare nød til at sætte mig mere ind i php og så ordne det hele via det :)..
Avatar billede nikolajdu Nybegynder
22. maj 2002 - 00:30 #66
Mjaaa. Er lidt bange for jeg ikke helt har haft hovedet med mig her, men ser jeg lyset så skriver jeg tilbage.
Avatar billede count42 Nybegynder
22. maj 2002 - 00:31 #67
hehe...lyder godt :)
Avatar billede sukos Juniormester
22. maj 2002 - 07:07 #68
Nikolajdu se lyset????????
det er da højest lyset fra morgensolen når han bliver smidt ud af morgen-værtshuset! :o))))))
Avatar billede nikolajdu Nybegynder
22. maj 2002 - 12:54 #69
Avatar billede count42 Nybegynder
28. maj 2002 - 10:28 #70
Jeg har fået løst problemet..jeg rodede lidt med opsætningen af mine frames og ændrede nogle småting i mine scripts så virkede det ligepludselig :)
Avatar billede nikolajdu Nybegynder
28. maj 2002 - 10:30 #71
oki doki :))
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