تغيير در ساختار Script ...

ACTIVE

Active Member
با سلام
اين اسكريپتي كه پايينه در هنگام ورود به يك صفحه يك Box ي را باز كرده و نام كاربر را ميپرسد . من از اين اسكريپت جهت نمايش نام فردي كه در آن صفحه است استفاده كردم :
<SCRIPT>
<!-- Begin
var namePrompt = prompt("Please Enter Your Name :","");
function dispname (namePrompt) {
document.write(""+namePrompt+"");
}
// End -->
</SCRIPT>

<BODY>

<SCRIPT LANGUAGE="Javascript">
<!-- Begin
document.write("<font size=2 color=red> ");
dispname(namePrompt);
document.write("!</font>");
// End -->
</SCRIPT>
حال سوالات :
1) اين پنجره را طوري مي خواهم كه وقتي يك فرد { مثلا با نام : علي} وارد شد دفعه بعد كه بازم مياد در همان صفحه { حال پس از گشتن در چند صفحه ديگه مثلا ميخاد بياد بازم تو همان صفحه اي كه نام پرسيده شده است } ديگه ازش نام پرسيده نشه و هيچ Box ي باز نشه .البته يكي از دوستام گفت كه از طريق كوكي بايد كنترل بشه !!!
2) از افرادي كه وارد ميشن بصورت يك ليست { مثلا مانند صفحه اول مجيد آنلاين كه ليست افراد داشت } نوشته بشه بطوريكه تمامي افراد بازديد كننده اون اسمها رو ببينن .
خب اميدوارم كه منو بابت اينهمه سوال كه ميپرسم ببخشين . بين خودمون بمونه از كم سوادي !
لطفا در موارد خواسته شده منو راهنمايي كنيد و در صورت وجود كد يا اسكريپت خاص انو برام بذارين .
ارادتمند شما
 

Zanguei

Member
کد:
document.cookie="CookieName= CookieValue [;expires=ExpDate][;domain=DomainName][;path=PathName][;secure]
در كد بالا:
expires: تاريخ در قالب GTM كه در آن زمان عمر كوكي تمام ميشود.
----------------------------------------------------------------------------
domain: توسط مقدار domain ميتوان محدوده اعتبار كوكي در سرور را مشخص كرد مثلا :
yourdomain.com يا yoursubdomain.yourdomain.com
اگر كوكي در بخش yourdomain.com ساخته شود براي تمام قسمتها معتبر است اما ميتوان با تعيين اين مقدار آنرا فقط براي بخش yoursubdomain.yourdomain.com حائز اعتبار نمود.
----------------------------------------------------------------------------
path: اين پارامتر هم كمي مشابه بالاست. به عنوان مثال چنانچه شما كوكي را در مسير hdocs/ بوجود آورده باشيد كليه زير مسيرهاي اين مسير نيز ميتوانند به آن دسترسي داشته باشند اما با اين پارامتر ميتوان فقط يك مسير مشخص را تعيين نمود. مثلا hdocs/shop
----------------------------------------------------------------------------
secure: اگر توسط اين پارامتر كلمه كليدي secure را به كوكي اضافه كنيد فقط صفحات وب داراي اتصال امن HTTPS ميتوانند از آن استفاده كنند.
----------------------------------------------------------------------------
مثال:
کد:
document.cookie="[email protected];expires=Tue,28 Oct 2003 08:00:00GMT";
------------------------------------------------------------------------------
تا اينجا نوشتن كوكي بر روي دستگاه كاربر.
راستش الان خيلي خسته شدم با عذرخواهي از شما تا موقعي كه اينارو تست كني منم باقيشو فردا ميگم.
 

ACTIVE

Active Member
سلام
جناب زنگويي از توضيحاتتون ممنونم . فقط در صورت وجود پس از توضيح كد يا اسكريپتي كه براي اين كار موجود است را در صورت عدم وجود خستگي برايم ارسال كنيد . در ضمن اينم بگم كه من اين رو مي خوام رو يه سرور Free پياده كنم .
متشكرم
 

Zanguei

Member
خوب آقا رضا ادامه داستان:
كد جاوا اسكريپت اصلا ربطي به سرور نداره بلكه به مرورگر كاربر ربط داره كه جاوا اسكريپت رو ساپورت ميكنه يا نه و چون ما تو ايران هستيم و تقريبا همه مرورگراشون نسخه جديد و upgrade شده IE ميباشد لذا شما هيچ مشكلي نخواهي داشت.اصلا جاي نگراني نيست.
اما كد.اينم يه مثال با كد كه شامل 3 فايل هست:
فايل اول: Loggednow.htm

کد:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>JavaScript Functions to Format Cookie Data</title>

  <script type="text/javascript" language="JavaScript">
<!--

//*****************************
//**** FUNCTION: setCookie ****
//*****************************

    function setCookie (CookieName,CookieValue,ExpDate,Domain,Path,
                        Security)
    {
     var CookieData = CookieName;
   
//************************************************************
//** store letters and numbers as themselves, but store any **
//** symbols or spaces in the cookie value as an ASCII code **
//************************************************************

     CookieData = CookieData + "=" + escape(CookieValue);

//** check for optional parameters values **

     if (ExpDate.value != "")
       CookieData = CookieData + "; expires=" + ExpDate.toGMTString();

     if (Domain != "") 
       CookieData = CookieData + "; domain=" + Domain;
     if (Path != "") 
       CookieData = CookieData + "; path=" + Path;
     if (Security == "secure")
       CookieData = CookieData + "; secure"

//** insert the cookie in the cookie file **

     document.cookie = CookieData;

     return;
    }

//*********************************
//**** FUNCTION: visitorSignIn ****
//*********************************

    function visitorSignIn(Form)
    {
     if (Form.fname.value == "") return false;
     if (Form.lname.value == "") return false;
     if (Form.email.value == "") return false;

//** Generate an expiration date one year from today **

     var ExpDate = new Date ();
     ExpDate.setTime (ExpDate.getTime() + 
                       (365 * 24 * 60 * 60 * 1000));
  
//**************************************************
//** Write the cookies that store the first name, **
//** last name, and e-mail address		  **
//**************************************************

     setCookie ("FirstName",Form.fname.value,ExpDate,"","","");
     setCookie ("LastName",Form.lname.value,ExpDate,"","","");
     setCookie ("eMailAddr",Form.email.value,ExpDate,"","","");

//** load another Web page **

     self.location="LoggedIn.htm"
    }
// -->
  </script>
</head>

<body bgcolor="#ADD8E6">

  <h2>Setting Cookie Values</h2>

  <form name="RegistrationForm">
    <table>
      <tr>
        <td>First Name:</td>
        <td><input type="text" name="fname" size="20" /></td>
      </tr>

      <tr>
        <td>Last Name:</td>
        <td><input type="text" name="lname" size="20" /></td>
      </tr>

      <tr>
        <td>E-mail:</td>
        <td><input type="text" name="email" size="20" /></td>
      </tr>

      <tr>
        <td><input type="button" value="Register"
                   onclick="visitorSignIn(RegistrationForm)" /></td>
      </tr>
    </table>
  </form>
</body>
</html>
فايل دوم:LoggedIn.htm
کد:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>JavaScript to Retrieve Cookie Values</title>

  <script type="text/javascript"
          src="getCookieValue.js">
  </script>
</head>

<body bgcolor="#ADD8E6">

  <h2>Reading Cookie Values</h2>

  <script type="text/javascript">
<!--
    document.write('<hr><b>The cookie values are:<\/b>' + document.cookie + '<hr>');
    document.write('<p><b>First Name: <\/b>' + getCookieValue("FirstName") + '<\/p>');
    document.write('<p><b>Last Name: <\/b>' + getCookieValue("LastName") + '<\/p>');
    document.write('<p><b>E-Mail Address: <\/b>' + getCookieValue("eMailAddr") + '<\/p>');
// -->
  </script>
</body>
</html>
فايل سوم: GetCookieValue.js
کد:
// *******************************
// **** FUNCTION: cookieValue ****
// *******************************

function cookieValue (FirstChar)
{

//************************************************************
//** Semicolons separate the cookie name/value pairs in the **
//** document.cookie property. Find the index of first 	    **
//** semicolon that follows the start of the cookie value   **
//************************************************************
  
 var LastChar = document.cookie.indexOf (";", FirstChar);

 if (LastChar == -1)
 LastChar = document.cookie.length;

//****************************************************************
//** return a string starting with the first character in the   **
//** cookie up to (but not including) the semicolon that 	**
//** separates it from the next cookie value in document.cookie **
//****************************************************************

 return unescape(document.cookie.substring(FirstChar, LastChar));
}

// *******************************
// **** FUNCTION: cookieValue ****
// *******************************

function getCookieValue (CookieName)
{
 CookieName = CookieName + "=";
 var NameLength = CookieName.length;
 var CookieLength = document.cookie.length;
 var FirstChar = 0;
 var LastChar = 0;

 while (FirstChar < CookieLength)
  {
   LastChar = FirstChar + NameLength;

   if (document.cookie.substring(FirstChar, LastChar) == CookieName)
     return cookieValue (LastChar);

   FirstChar = document.cookie.indexOf(" ", FirstChar) + 1;
   if (FirstChar == 0) break; 
  }
 return null;
}
اين فايل ها رو در كنار هم قرار بده و بعد فايل اول رو اجرا كن. فيلد ها رو پر كن و نتيجه رو پس از Submit ببين.
 

ACTIVE

Active Member
با سلام
جناب زنگويي دستت درد نكنه آقا شرمندم كردين . ولي من قبلا در اولين ارسال گفتم كه
اين اسكريپتي كه پايينه در هنگام ورود به يك صفحه يك Box ي را باز كرده و نام كاربر را ميپرسد . من از اين اسكريپت جهت نمايش نام فردي كه در آن صفحه است استفاده كردم :
منظورم يه پنجره شبيه POP UP باز بشه اينطوري هم ميشه ؟
در كل دستتون درد نكه راهنماييه جالبي بود . ممنونم ٬ اگه بازم از اين جور راهنماييها داشتين بازم بگين خوشحال ميشم از راهنمايياتون استفاده كنم .
باسپاس
 

Zanguei

Member
راستش منظورتو نفهميدم.در مورد pop up. منظورت یک پنجره جدیده؟ چه جور pop up ای میخوای. نکنه میخوای یه پنجره جدید از نوع مرورگر باز بشه در اندازه اي مشخص مثلا 100*100 با يه صفحه جديد و اسم كاربر رو بگيره ؟ و در اينصورت كد باز شدن اون رو ميخواي؟
دقیقا به من بگو که میخوای از همون اول که مثلا من وارد سایتت شدم چه بلاهایی سرم بیاد تا من بهتر بتونم کمکت کنم.
 

ACTIVE

Active Member
سلام
راستش چون زياد خودم حاليم نيست شما رو هم گيج كردم .
منظورم اينه كه يك پوپي باز بشه و اسم كاربر رو بگيره و در يك پانلي در صفحه به عنوان مشخصاتش نشون بده .
حالا با كد اولي كه نوشتم اين كار شدش ولي وقتي كه ميخواهم Refresh كنم يا به يه صفحه ديگه برم و برگردم بازم اين صفحه باز ميشه ٬ ميخوام كه اين صفحه فقط 1 بار براي هر كاربري پس از وارد سازي نام او نشان داده شود .
حالا مثلا از يه جاي ديگه يك كاربر ديگه اي هم به سايت مياد در اينصورت ميخوام تو همون پانل مثلا زيرش اسم فردي كه تازه اومده رو هم نشون بده
2 تا موضوع شد . اگه بازم نتونستم برسونم در صورت تمايل صفحه رو بفرستم تاببينيدش .
ممنون از لطفتان
 

Zanguei

Member
خوب در مورد اولي كه گفتي ميخواي براي بار دوم كه فرد به اون صفحه اومد pop up باز نشه ميتوني توسط گذاشتن يك شرط و چك كردن كوكي مانع از باز شدن اون بشي.
اما در مورد دومي كه گفتي ميخواي اسامي كاربران حاضر در سايت رو در يك پانلي نشون بده قضيه خيلي فرق ميكنه چون اين كارو ديگه نميشه با JavaScript انجام داد و بايد با يك زبان Server Side اين كارو انجام بدي مثل ASP يا PHP تا هر وقت كه كاربر از سايت خارج شد اسم اون رو از ليست حذف كنه و همچنين اون ليست براي همه يكسان ديده بشه. اين همون قضيه Session ها ست. اميدوارم متوجه صحبت من شده باشي.
 

ACTIVE

Active Member
با سلام
زنگويي عزيز من هر دو رو متوجه شدم . ولي در مورد اولي چون من بصورت تءوريك آشنا به اين زبانها مي باشم ولي در عمل 0ام و حتي شرطي رو كه گفتين نمي تونم جاسازيش كنم . لطفا بيشتر بگين .
ممنون و شرمنده شما ...
 

Zanguei

Member
من براي نمونه فايل LoggedIn.htm رو كه در بالا آوردم تغيير دادم. در اين فايل كه قبل از اين مقادير درون كوكي رو نشون ميداد ابتدا شرطي وجود كوكي در سيستم كاربر رو چك كرده و بعد در صورت مثبت بودن شرط عمل فوق انجام ميگيرد و در غير اينصورت يك پنجره pop up باز خواهد شد. براي ديدن نتيجه كوكي كه قبلا توسط اين فايلها در سيستمتان ايجاد شده را پاك كنيد.(يادآوري: در ليست كوكيها كوكي توسط محلي بر روي Hard Disk كه فايل را اجرا كرده ايد مشخص شده است. مثلا D:\Documents and Settings\yourname\Desktop وهمينطور توسط نام فايل HTML )
کد:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>JavaScript to Retrieve Cookie Values</title>

  <script type="text/javascript"
          src="getCookieValue.js">
  </script>
<script type="text/javascript">
<!--
function OpenSetCookiePopUp(){
   popSetCookie=window.open("setCookie.html","SetCookie","width=400,height=300");
}
-->
</script>
</head>

<body bgcolor="#ADD8E6">
 
  <h2>Reading Cookie Values</h2>

  <script type="text/javascript">
<!--
    if(document.cookie){
       document.write('<hr><b>The cookie values are:<\/b>' + document.cookie + '<hr>');
       document.write('<p><b>First Name: <\/b>' + getCookieValue("FirstName") + '<\/p>');
       document.write('<p><b>Last Name: <\/b>' + getCookieValue("LastName") + '<\/p>');
       document.write('<p><b>E-Mail Address: <\/b>' + getCookieValue("eMailAddr") + '<\/p>');
    }else OpenSetCookiePopUp();
// -->
  </script>
</body>
</html>
 

ACTIVE

Active Member
جناب زنگويي سلام
آقا دستت درد نكنه . خسته نباشي ٬ سعي ميكنم كه بيشتر روش فعاليت كنم اگه اشكالي پيش اوميد بازم مزاحم ميشم .
دركل دستتون درد نكه
با سپاس
 

Zanguei

Member
خواهش ميكنم رضا جون وظيفم بود. شما مراحمي. اگه سوالي پيش اومد بپرس اگه ياد داشته باشم حتما جوابتو ميدم!
راستي اي شيطون منظورت از خسته نباشي چي بود :wink:
[marq=right:fe32432a7b]پس از يادگيري آموختن از همه چيز زيباتر است.[/marq:fe32432a7b]
 

جدیدترین ارسال ها

بالا