Помогите доработать скрипт!

Discussion in 'PHP' started by DesignerMix, 16 Apr 2007.

  1. DesignerMix

    DesignerMix Elder - Старейшина

    Joined:
    10 Jan 2007
    Messages:
    35
    Likes Received:
    11
    Reputations:
    5
    PHP:
    <!-- HEAD START HERE -->

    <
    SCRIPT LANGUAGE="JavaScript">

    <!-- 
    Begin 
    function getCookieVal (offset) {
    var 
    endstr document.cookie.indexOf (";"offset);
    if (
    endstr == -1)
    endstr document.cookie.length;
    return 
    unescape(document.cookie.substring(offsetendstr));
    }
    function 
    GetCookie (name) {
    var 
    arg name "=";
    var 
    alen arg.length;
    var 
    clen document.cookie.length;
    var 
    0;
    while (
    clen) {
    var 
    alen;
    if (
    document.cookie.substring(ij) == arg)
    return 
    getCookieVal (j);
    document.cookie.indexOf(" "i) + 1;
    if (
    == 0
    break; 
    }
    return 
    null;
    }
    function 
    SetCookie (namevalue) {
    var 
    argv SetCookie.arguments;
    var 
    argc SetCookie.arguments.length;
    var 
    expires = (argc) ? argv[2] : null;
    var 
    path = (argc) ? argv[3] : null;
    var 
    domain = (argc) ? argv[4] : null;
    var 
    secure = (argc) ? argv[5] : false;
    document.cookie name "=" escape (value) +
    ((
    expires == null) ? "" : ("; expires=" expires.toGMTString())) +
    ((
    path == null) ? "" : ("; path=" path)) +
    ((
    domain == null) ? "" : ("; domain=" domain)) +
    ((
    secure == true) ? "; secure" "");
    }
    function 
    DisplayInfo() {
    var 
    expdate = new Date();
    var 
    visit;
    expdate.setTime(expdate.getTime() +  (24 60 60 1000 365)); 
    if(!(
    visit GetCookie("visit"))) 
    visit 0;
    visit++;
    SetCookie("visit"visitexpdate"/"nullfalse);
    var 
    message;
    if(
    visit == 1
    message="Сообщение для первого визита!";
    if(
    visit== 2
    message="Сообщение для второго визита";
    if(
    visit == 3
    message="Сообщение для третьего визита";
    if(
    visit == 4)
    message="Сообщение для четвертого визита"
    if(
    visit == 5
    message="Сообщение для пятого визита";
    if(
    visit == 6
    message="Сообщение для шестого визита";
    if(
    visit == 7)
    message="Сообщение для седьмого визита"
    if(
    visit == 8
    message="Сообщение для восьмого визита";
    if(
    visit == 9)
    message="Сообщение для девятого визита"
    if(
    visit >= 10
    message="Последнее постоянное сообщение!";
      
    alert("\n"+"Вы загружали эту страницу               \n"
                
    +"                              "+visit+"\n"
                
    +"                          раз(а)."+"\n"+"\n"
                
    +message);
    }
    function 
    ResetCounts() {
    var 
    expdate = new Date();
    expdate.setTime(expdate.getTime() +  (24 60 60 1000 365)); 
    visit 0;
    SetCookie("visit"visitexpdate "/"nullfalse);
    history.go(0);
    }
    // End -->
    </Script>

    <!-- HEAD END HERE -->


    </head>
    <body bgcolor="#EDEDED" text="#000000" link="#000000" topmargin="0" leftmargin="0" onload="DisplayInfo()">
    <center>

    <!-- BODY START HERE -->

    <FORM>
    <CENTER>
    <INPUT NAME="update" TYPE="BUTTON" VALUE="Обновить" OnClick="history.go(0)">
    <INPUT NAME="reset" TYPE="BUTTON" VALUE="Очистить" OnClick="ResetCounts()">
    </CENTER>
    </FORM>


    <!-- BODY END HERE -->


    <!-- HEAD START HERE -->

    <SCRIPT LANGUAGE="JavaScript">

    <!-- Begin
    var expDays = 30;
    var exp = new Date(); 
    exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

    function getCookieVal (offset) {  
    var endstr = document.cookie.indexOf (";", offset);  
    if (endstr == -1)    
    endstr = document.cookie.length;  
    return unescape(document.cookie.substring(offset, endstr));
    }
    function GetCookie (name) {  
    var arg = name + "=";  
    var alen = arg.length;  
    var clen = document.cookie.length;  
    var i = 0;  
    while (i < clen) {    
    var j = i + alen;    
    if (document.cookie.substring(i, j) == arg)      
    return getCookieVal (j);    
    i = document.cookie.indexOf(" ", i) + 1;    
    if (i == 0) break;   
    }  
    return null;
    }
    function SetCookie (name, value) {  
    var argv = SetCookie.arguments;  
    var argc = SetCookie.arguments.length;  
    var expires = (argc > 2) ? argv[2] : null;  
    var path = (argc > 3) ? argv[3] : null;  
    var domain = (argc > 4) ? argv[4] : null;  
    var secure = (argc > 5) ? argv[5] : false;  
    document.cookie = name + "=" + escape (value) + 
    ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
    ((path == null) ? "" : ("; path=" + path)) +  
    ((domain == null) ? "" : ("; domain=" + domain)) +    
    ((secure == true) ? "; secure" : "");
    }
    function DeleteCookie (name) {  
    var exp = new Date();  
    exp.setTime (exp.getTime() - 1);  
    var cval = GetCookie (name);  
    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
    }

    var favorite = GetCookie('animal');

    if (favorite != null) {
    switch (favorite) {
    case 'cat' :     url = 'http://scripts.woweb.ru'; // смените адреса
                 break;
    case 'dog' :     url = 'http://articles.woweb.ru'; 
                 break;
    case 'gerbil' : url = 'http://graphics.woweb.ru';
            break;
    case 'gopher' : url = 'http://catalog.woweb.ru';
            break;
    }
    window.location.href = url;
    }
    //  End -->
    </script>

    <!-- HEAD END HERE -->


    <!-- BODY START HERE -->

    <form>
    <table><tr><td>
    Куда делать переадресацию при следующем посещенни этой страницы?:<br>
    <input type=checkbox name="cat" onClick="SetCookie('animal', this.name, exp);">Скрипты<br>
    <input type=checkbox name="dog" onClick="SetCookie('animal', this.name, exp);">Статьи<br>
    <input type=checkbox name="gerbil" onClick="SetCookie('animal', this.name, exp);">Графика<br>
    <input type=checkbox name="gopher" onClick="SetCookie('animal', this.name, exp);">Каталог ссылок<br>
    </td></tr>
    </table>
    </form>

    <!-- BODY END HERE -->
    Очень нужно доработать эти два скрипта до того чтобы при загрузке странички первый раз отображалосб нужное мне содержимое, а при обновлении, т.е. второй загрузке меня швыряло на другую страницу. В принципе тут не особо трудно, но я не особо рублю, смог только найти скрипты нужные. Спасибо всем!
     
  2. censored!

    censored! Green member

    Joined:
    2 Nov 2004
    Messages:
    1,159
    Likes Received:
    299
    Reputations:
    156
    index.html
    HTML:
    <html>
    <head>
    </head>
    <body>
    <script language="JavaScript" src="script.js"></script>
    Тут твой контент
    </body>
    </html>
    script.js
    HTML:
    function getCookieVal (offset)
    {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1) endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
    }
    
    function GetCookie (name)
    {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen)
    	{
    	var j = i + alen;
    	if (document.cookie.substring(i, j) == arg) return getCookieVal (j);
    	i = document.cookie.indexOf(" ", i) + 1;
    	if (i == 0) break;
    	}
    return null;
    }
    
    var view = GetCookie('view');
    if (view == "one") 
    document.location.href="/";
    else
    {counter();}
    
    function counter()
    {
    var view = 'one';
    pathname = location.pathname;
    myDomain = pathname.substring(0,pathname.lastIndexOf('/')) +'/';
    var largeExpDate = new Date ();
    largeExpDate.setTime(largeExpDate.getTime() + (7 * 24 * 3600 * 1000));
    SetCookie('view',view,largeExpDate,myDomain);
    function SetCookie (name, value){ var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;
    var expires = (argc > 2) ? argv[2] : null;
    var path = (argc > 3) ? argv[3] : null;
    var domain = (argc > 4) ? argv[4] : null;
    var secure = (argc > 5) ? argv[5] : false;
    document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); }
    }
     
    _________________________
    3 people like this.
  3. DesignerMix

    DesignerMix Elder - Старейшина

    Joined:
    10 Jan 2007
    Messages:
    35
    Likes Received:
    11
    Reputations:
    5
    Всё работает, но только в FireFox'е, а в других браузерах, мне например нужен IE, почему-то не пашет... И к стати ещё вопрос: Как сделать чтобы жизнь куков была 45 минут, а то у меня получается только на несколько лет :eek: .

    censored! огромное спасибо +).
     
  4. DRON-ANARCHY

    DRON-ANARCHY Отец порядка

    Joined:
    4 Mar 2005
    Messages:
    716
    Likes Received:
    142
    Reputations:
    50
    так параметр должен быть. отвечающий за их жизнеспособность вроде...
     
  5. blaga

    blaga Elder - Старейшина

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    Мне кажеться что это та строчка которая нужна... Скорее всего ее и нужно подправлять.
     
  6. DesignerMix

    DesignerMix Elder - Старейшина

    Joined:
    10 Jan 2007
    Messages:
    35
    Likes Received:
    11
    Reputations:
    5
    Ага, эта строчка... буду мучать, пока не добьюсь :)