Avatar billede smooth Nybegynder
03. oktober 2003 - 13:09 Der er 5 kommentarer og
1 løsning

Læs cookie med JavaScript

Hej alle sammen..

Jeg har liget lavet et lille og meget let script i PHP som først oprettet en cookie og der efter bruger den cookie til at activere nogle IF().

Men så få jeg at vide at scriptet skal være i JavaScript, og mig som ikke er en JavaScript haj ser mig lidt omkring og begynder at græde.

Er det muligt at I kan hjælpe mig ?

Det er sådan at en form sender 3 variabler til en side hvor jeg opretter cookies med PHP. Jeg ved ikke om det gør noget at cookie bliver oprettet med PHP med det tror jeg ikke.

Men når man så kommer anden gang til den samme from side så skal den huske hvad man før har skrevet. I php ser det sådan ud :


<html>
<head>
<title>asdsads</title>

</head>
<body>

<?php
// Checker om cookie med dato er til stede.
if(!empty($_COOKIE[dd])){

// Hvis cookie findes så skal dato udskrives.
echo" <option value='$_COOKIE[dd]' SELECTED>$_COOKIE[dd]</option>";
}

// Hvis cookien ikke findes så skal der ikke udskrives dato.
else { echo"<option value='' SELECTED>Dato</option>";}
?>

</body>
</html>
--------------------------------------------

Det jeg nu har brug for er at I oversætter den PHP funktion til JavaScript koden så den laver det samme som PHP nu laver.

Der er 200 point at hente :)

Med venlig hilsen
Smooth
Avatar billede casper_skovgaard Nybegynder
03. oktober 2003 - 15:03 #1
prøv at kigge nærmere på nedenstående eksempel, der er mere kode end du skal bruge men det er lidt nemmere til test. Sig til hvis du har brug for en detaljeret forklaring til koden.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
    <title></title>   
<script language="JavaScript" type="text/javascript">
<!--
// store info on cookie.
function setCookie(name, value, days) {
var expire = new Date ();
expire.setTime (expire.getTime() + (24 * 60 * 60 * 1000) * days);
document.cookie = name + "=" + escape(value) + "; expires=" + expire.toGMTString();
}

// retrieve info on cookie.
function getCookie(name) {
var startIndex = document.cookie.indexOf(name);
if (startIndex != -1) {
var endIndex = document.cookie.indexOf(";", startIndex);
if (endIndex == -1) endIndex = document.cookie.length;
return unescape(document.cookie.substring(startIndex+name.length+1, endIndex));
} else {
return null;
}
}

// delete info on cookie.
function deleteCookie(name) {
var expire = new Date ();
expire.setTime (expire.getTime() - (24 * 60 * 60 * 1000));
document.cookie = name + "=; expires=" + expire.toGMTString();
}

function initOption(){
    var dd = getCookie('dd');
    el = document.getElementById('myoption');
    myoption.value = dd;
}
</script>
</head>

<body onload="initOption();">

<option id="myoption" value='' SELECTED>Dato</option>

<a href="#" onclick="setCookie('dd','21-12-03',10);">set cookie</a>

<a href="#" onclick="temp=document.getElementById('myoption');alert(temp.value);">test</a>

</body>
</html>
Avatar billede smooth Nybegynder
03. oktober 2003 - 19:13 #2
Det er ikke helt det jeg spørger efter..  Det er hvordan IF() skal se ud. ¨

Des uden så har jeg set dette indlæg et sted her på E..

Men det eneste der mangler er if() funktionene til scriptet som casper_skovgaard har vist..
Avatar billede casper_skovgaard Nybegynder
03. oktober 2003 - 19:17 #3
if sætningen ligger faktisk i initOption(). hvis dd er tom så sættes .value til en tom string ellers sættes den til datoen.
Avatar billede roenving Novice
03. oktober 2003 - 21:57 #4
<script type="text/javascript">
var c = null;
optc = document.getElementBy('doption');
optc.value = '';
optc.text = 'Dato';

if(document.cookie)c = document.cookie.split(";");

for(i=0;c.length;i++){
  if(c[i].indexOf("dd"){
    v = c[i].substring(3);
    optc.value = v;
    optc.text = v;
  }
}
</script>

<select ... >
  <option ...>ukhgljhli</option>
  <option id="doption" value="">Dato</option>
</select>
Avatar billede smooth Nybegynder
05. oktober 2003 - 20:20 #5
OKay jeg giver snart op.  Hvis jeg nu give hele koden kan I så ikke udskifte PHP med JS ?

Og cookien er oprettet så I skal ikke lave et script der opretter cooke..

dd = dag
md = måned
yy = år
-----------------------------------------------------------------------------
<HTML><HEAD>
<LINK href="main.css" type=text/css rel=stylesheet>
</HEAD>

<BODY bgcolor="#FFFFFF"  ondragstart="return false">
<center>
<form action="http://newastro.dk/Log_ind/winbio.php?ID=100" method="POST">
<input type='hidden' name='cookie' value='ok'>
<table cellspacing="1" cellpadding="1" border="0">
<tr>
    <td></td>
    <td><div align="center">
  <select name="dd">
          <?php
          // Checker om cookie med dato er til stede.
          if(!empty($_COOKIE[dd])){
          // Hvis cookie findes så skal dato udskrives.
              echo" <option value='$_COOKIE[dd]' SELECTED>$_COOKIE[dd]</option>";
            }
          // Hvis cookien ikke findes så skal der ikke udskrives dato.
          else { echo"<option value='' SELECTED>Dato</option>";}
          ?>
          <option value=01>01</option>
          <option value=02>02</option>
          <option value=03>03</option>
          <option value=04>04</option>
          <option value=05>05</option>
          <option value=06>06</option>
          <option value=07>07</option>
          <option value=08>08</option>
          <option value=09>09</option>
          <option value=10>10</option>
          <option value=11>11</option>
          <option value=12>12</option>
          <option value=13>13</option>
          <option value=14>14</option>
          <option value=15>15</option>
          <option value=16>16</option>
          <option value=17>17</option>
          <option value=18>18</option>
          <option value=19>19</option>
          <option value=20>20</option>
          <option value=21>21</option>
          <option value=22>22</option>
          <option value=23>23</option>
          <option value=24>24</option>
          <option value=25>25</option>
          <option value=26>26</option>
          <option value=27>27</option>
          <option value=28>28</option>
          <option value=29>29</option>
          <option value=30>30</option>
          <option value=31>31</option>
        </select>
 
  <select name="md">
          <?php
          // Checker om cookie med måned er til stede.
          if(!empty($_COOKIE[md])){
          // Hvis cookie findes så skal måned udskrives.
              echo" <option value='$_COOKIE[md]' SELECTED>$_COOKIE[md]</option>";
            }
          // Hvis cookien ikke findes så skal der ikke udskrives måned.
          else { echo"<option value='' SELECTED>Måned</option>";}
          ?>
          <option value=01>Januar</option>
          <option value=02>Februar</option>
          <option value=03>Marts</option>
          <option value=04>April</option>
          <option value=05>Maj</option>
          <option value=06>Juni</option>
          <option value=07>Juli</option>
          <option value=08>August</option>
          <option value=09>September</option>
          <option value=10>Oktober</option>
          <option value=11>November</option>
          <option value=12>December</option>
        </select>
 
        <select name="yy">
          <option value=1890>1890</option>
          <option value=1891>1891</option>
          <option value=1892>1892</option>
          <option value=1893>1893</option>
          <option value=1894>1894</option>
          <option value=1895>1895</option>
          <option value=1896>1896</option>
          <option value=1897>1897</option>
          <option value=1898>1898</option>
          <option value=1899>1899</option>
          <option value=1900>1900</option>
          <option value=1901>1901</option>
          <option value=1902>1902</option>
          <option value=1903>1903</option>
          <option value=1904>1904</option>
          <option value=1905>1905</option>
          <option value=1906>1906</option>
          <option value=1907>1907</option>
          <option value=1908>1908</option>
          <option value=1909>1909</option>
          <option value=1910>1910</option>
          <option value=1911>1911</option>
          <option value=1912>1912</option>
          <option value=1913>1913</option>
          <option value=1914>1914</option>
          <option value=1915>1915</option>
          <option value=1916>1916</option>
          <option value=1917>1917</option>
          <option value=1918>1918</option>
          <option value=1919>1919</option>
          <option value=1920>1920</option>
          <option value=1921>1921</option>
          <option value=1922>1922</option>
          <option value=1923>1923</option>
          <option value=1924>1924</option>
          <option value=1925>1925</option>
          <option value=1926>1926</option>
          <option value=1927>1927</option>
          <option value=1928>1928</option>
          <option value=1929>1929</option>
          <option value=1930>1930</option>
          <option value=1931>1931</option>
          <option value=1932>1932</option>
          <option value=1933>1933</option>
          <option value=1934>1934</option>
          <option value=1935>1935</option>
          <option value=1936>1936</option>
          <option value=1937>1937</option>
          <option value=1938>1938</option>
          <option value=1939>1939</option>
          <option value=1940>1940</option>
          <option value=1941>1941</option>
          <option value=1942>1942</option>
          <option value=1943>1943</option>
          <option value=1944>1944</option>
          <option value=1945>1945</option>
          <option value=1946>1946</option>
          <option value=1947>1947</option>
          <option value=1948>1948</option>
          <option value=1949>1949</option>
          <option value=1950>1950</option>
          <option value=1951>1951</option>
          <option value=1952>1952</option>
          <option value=1953>1953</option>
          <option value=1954>1954</option>
          <option value=1955>1955</option>
          <option value=1956>1956</option>
          <option value=1957>1957</option>
          <option value=1958>1958</option>
          <option value=1959>1959</option>
          <?php
          // Checker om cookie med år er til stede.
          if(!empty($_COOKIE[yy])){
          // Hvis cookie findes så skal år udskrives.
              echo" <option value='$_COOKIE[yy]' SELECTED>$_COOKIE[yy]</option>";
            }
          // Hvis cookien ikke findes så skal der ikke udskrives år.
          else { echo"<option value='' SELECTED>År</option>";}
          ?>
          <option value=1960>1960</option>
          <option value=1961>1961</option>
          <option value=1962>1962</option>
          <option value=1963>1963</option>
          <option value=1964>1964</option>
          <option value=1965>1965</option>
          <option value=1966>1966</option>
          <option value=1967>1967</option>
          <option value=1968>1968</option>
          <option value=1969>1969</option>
          <option value=1970>1970</option>
          <option value=1971>1971</option>
          <option value=1972>1972</option>
          <option value=1973>1973</option>
          <option value=1974>1974</option>
          <option value=1975>1975</option>
          <option value=1976>1976</option>
          <option value=1977>1977</option>
          <option value=1978>1978</option>
          <option value=1979>1979</option>
          <option value=1980>1980</option>
          <option value=1981>1981</option>
          <option value=1982>1982</option>
          <option value=1983>1983</option>
          <option value=1984>1984</option>
          <option value=1985>1985</option>
          <option value=1986>1986</option>
          <option value=1987>1987</option>
          <option value=1988>1988</option>
          <option value=1989>1989</option>
          <option value=1990>1990</option>
          <option value=1991>1991</option>
          <option value=1992>1992</option>
          <option value=1993>1993</option>
          <option value=1994>1994</option>
          <option value=1995>1995</option>
          <option value=1996>1996</option>
          <option value=1997>1997</option>
          <option value=1998>1998</option>
          <option value=1999>1999</option>
          <option value=2000>2000</option>
    <option value=2001>2001</option>
    <option value=2002>2002</option>
        </select>
<br><input type=submit value="OK - Beregn min tydning">
</div></form>

</BODY>
</HTML>
Avatar billede smooth Nybegynder
05. oktober 2003 - 20:38 #6
Jeg fandt selv ud af det ved at søge på google. Her er resultatet :


<HTML><HEAD>
<LINK href="main.css" type=text/css rel=stylesheet>
</HEAD>
<SCRIPT LANGUAGE="JavaScript"
    TYPE="text/javascript">
<!--
function cookieGetter(cname) //
{
var searched = cname + "=" //8
if (document.cookie.length > 0) //9
    {
    nstart = document.cookie.indexOf(searched) //10
    if(nstart != -1) //11
    {
    nstart += searched.length //12
    nend = document.cookie.indexOf(";", nstart ) //13
    if (nend == -1) //14
    nend = document.cookie.length //15
    return unescape(document.cookie.substring(nstart,nend)) //16
    }
    }
}
//-->
</SCRIPT>
<BODY bgcolor="#FFFFFF"  ondragstart="return false">
<center>
<p class="title">NewAstro Biorytmer</p>
<p class="default">
<form action="winbio.php?ID=100" method="POST">
<input type='hidden' name='cookie' value='ok'>zzz
<table cellspacing="1" cellpadding="1" border="0">
<tr>
    <td><font face="Arial" size="-1" color="#191970"></td>
    <td><div align="center">
  <select name="dd">
<SCRIPT>
<!--
var dd = cookieGetter("dd") //17
if (dd != null)
    {
    document.write("<option value='"+dd+"' SELECTED>"+dd+"</option>") //18
    }
else
    {
    document.write("<option value='' SELECTED>Dato</option>") //19
    }
//-->
</SCRIPT>
          <option value=01>01</option>
          <option value=02>02</option>
          <option value=03>03</option>
          <option value=04>04</option>
          <option value=05>05</option>
          <option value=06>06</option>
          <option value=07>07</option>
          <option value=08>08</option>
          <option value=09>09</option>
          <option value=10>10</option>
          <option value=11>11</option>
          <option value=12>12</option>
          <option value=13>13</option>
          <option value=14>14</option>
          <option value=15>15</option>
          <option value=16>16</option>
          <option value=17>17</option>
          <option value=18>18</option>
          <option value=19>19</option>
          <option value=20>20</option>
          <option value=21>21</option>
          <option value=22>22</option>
          <option value=23>23</option>
          <option value=24>24</option>
          <option value=25>25</option>
          <option value=26>26</option>
          <option value=27>27</option>
          <option value=28>28</option>
          <option value=29>29</option>
          <option value=30>30</option>
          <option value=31>31</option>
        </select>
 
  <select name="md">
<SCRIPT>
<!--
var md = cookieGetter("md") //17
if (md != null)
    {
    document.write("<option value='"+md+"' SELECTED>"+md+"</option>") //18
    }
else
    {
    document.write("<option value='' SELECTED>Måned</option>") //19
    }
//-->
</SCRIPT>

          <option value=01>Januar</option>
          <option value=02>Februar</option>
          <option value=03>Marts</option>
          <option value=04>April</option>
          <option value=05>Maj</option>
          <option value=06>Juni</option>
          <option value=07>Juli</option>
          <option value=08>August</option>
          <option value=09>September</option>
          <option value=10>Oktober</option>
          <option value=11>November</option>
          <option value=12>December</option>
        </select>
 
        <select name="yy">
          <option value=1890>1890</option>
          <option value=1891>1891</option>
          <option value=1892>1892</option>
          <option value=1893>1893</option>
          <option value=1894>1894</option>
          <option value=1895>1895</option>
          <option value=1896>1896</option>
          <option value=1897>1897</option>
          <option value=1898>1898</option>
          <option value=1899>1899</option>
          <option value=1900>1900</option>
          <option value=1901>1901</option>
          <option value=1902>1902</option>
          <option value=1903>1903</option>
          <option value=1904>1904</option>
          <option value=1905>1905</option>
          <option value=1906>1906</option>
          <option value=1907>1907</option>
          <option value=1908>1908</option>
          <option value=1909>1909</option>
          <option value=1910>1910</option>
          <option value=1911>1911</option>
          <option value=1912>1912</option>
          <option value=1913>1913</option>
          <option value=1914>1914</option>
          <option value=1915>1915</option>
          <option value=1916>1916</option>
          <option value=1917>1917</option>
          <option value=1918>1918</option>
          <option value=1919>1919</option>
          <option value=1920>1920</option>
          <option value=1921>1921</option>
          <option value=1922>1922</option>
          <option value=1923>1923</option>
          <option value=1924>1924</option>
          <option value=1925>1925</option>
          <option value=1926>1926</option>
          <option value=1927>1927</option>
          <option value=1928>1928</option>
          <option value=1929>1929</option>
          <option value=1930>1930</option>
          <option value=1931>1931</option>
          <option value=1932>1932</option>
          <option value=1933>1933</option>
          <option value=1934>1934</option>
          <option value=1935>1935</option>
          <option value=1936>1936</option>
          <option value=1937>1937</option>
          <option value=1938>1938</option>
          <option value=1939>1939</option>
          <option value=1940>1940</option>
          <option value=1941>1941</option>
          <option value=1942>1942</option>
          <option value=1943>1943</option>
          <option value=1944>1944</option>
          <option value=1945>1945</option>
          <option value=1946>1946</option>
          <option value=1947>1947</option>
          <option value=1948>1948</option>
          <option value=1949>1949</option>
          <option value=1950>1950</option>
          <option value=1951>1951</option>
          <option value=1952>1952</option>
          <option value=1953>1953</option>
          <option value=1954>1954</option>
          <option value=1955>1955</option>
          <option value=1956>1956</option>
          <option value=1957>1957</option>
          <option value=1958>1958</option>
          <option value=1959>1959</option>
<SCRIPT>
<!--
var yy = cookieGetter("yy") //17
if (yy != null)
    {
    document.write("<option value='"+yy+"' SELECTED>"+yy+"</option>") //18
    }
else
    {
    document.write("<option value='' SELECTED>År</option>") //19
    }
//-->
</SCRIPT>
          <option value=1960>1960</option>
          <option value=1961>1961</option>
          <option value=1962>1962</option>
          <option value=1963>1963</option>
          <option value=1964>1964</option>
          <option value=1965>1965</option>
          <option value=1966>1966</option>
          <option value=1967>1967</option>
          <option value=1968>1968</option>
          <option value=1969>1969</option>
          <option value=1970>1970</option>
          <option value=1971>1971</option>
          <option value=1972>1972</option>
          <option value=1973>1973</option>
          <option value=1974>1974</option>
          <option value=1975>1975</option>
          <option value=1976>1976</option>
          <option value=1977>1977</option>
          <option value=1978>1978</option>
          <option value=1979>1979</option>
          <option value=1980>1980</option>
          <option value=1981>1981</option>
          <option value=1982>1982</option>
          <option value=1983>1983</option>
          <option value=1984>1984</option>
          <option value=1985>1985</option>
          <option value=1986>1986</option>
          <option value=1987>1987</option>
          <option value=1988>1988</option>
          <option value=1989>1989</option>
          <option value=1990>1990</option>
          <option value=1991>1991</option>
          <option value=1992>1992</option>
          <option value=1993>1993</option>
          <option value=1994>1994</option>
          <option value=1995>1995</option>
          <option value=1996>1996</option>
          <option value=1997>1997</option>
          <option value=1998>1998</option>
          <option value=1999>1999</option>
          <option value=2000>2000</option>
    <option value=2001>2001</option>
    <option value=2002>2002</option>
        </select>
<br><input type=submit value="OK - Beregn min tydning">
</div></form>
<center><font face="Verdana,Arial" color="#000080" size="1">
Vælg din fødselsdag og tast OK
</div></center><br>
Den fysiske kurve er blå, og den er på 23 dage i hver svingning.
Den har med fysisk styrke og sex styrken at gøre. Når den er i plus, er modstand mod sygdomme øget, modsat når den er nede i minus.
<p>
Den følelsesmæssige kurve er rød, og den er på 28 dage.
Den har med følelser og stemninger at gøre. Den står også for det sensuelle og kreative.
<p>
Den intellektuelle kurve er grøn og den er på 33 dage.
Den har med intelligensbrug og logik at gøre. Den er vigtig at tage i betragtning, når beslutninger tages.
Dømmekraft og hukommelse påvirkes også af denne kurve.
<br>
Når en kurve krydser 0% - midterlinien - skifter den polaritet, og man kalder det for en kritisk dag eller en krydsdag.
<p>Dataerne hentes via internettet, så du skal være koblet på - God fornøjelse ..
</BODY>
</HTML>
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