20-04-2008, 16:52
|
|
|
|
חבר מתאריך: 06.07.06
הודעות: 1,091
|
|
איך לשמור משתנה על השרת (שילוב של JS וPHP או הכל מחדש?)
היי. בהמשך לאשכול הזה אני מבקש עזרה פה.
יש לי בדף מסויים נגיד ריבוע ASCII, משהו כזה:
עכשיו אני רוצה שבאמצע שלו כל פעם יודפס הערך שנמצא בתוך משתנה מסויים.
המשתנה הזה מתקבל מדף אחר שבו המשתמש מכניס את שמו, וכדי שהשם שלו ישמר ויוכנס לריבוע בדף הראשון, הערך של המשתנה נכנס לCOOKIES.
עכשיו יש כמה בעיות בנוגע לזה:
1. המשתנה נמצא בCOOKIES של הלקוח ולכן הוא יראה בתוך הריבוע רק מה שיש לו בCOOKIES וכל אחד יראה לפי הCOOKIES שלו, ואני רוצה שכולם יראו אותו דבר (המשתנה צריך להיות על השרת).
2. בדף של הריבוע יש לי פונקציה (JS) שבודקת את הCOOKIE של הלקוח ואם יש שם משהו שמתאים לריבוע היא מכניסה את זה - זה גורם לכך שכל פעם שהוא יטען את הדף של הריבוע הערך שלו יכנס לתוכו (כשזה אמור להיות שרק אם הוא נכנס לדף שמטעין ערכים לריבוע הוא משנה את הריבוע).
3. אני כן רוצה שאדם אחד יוכל לשנות כמה פעמים אבל רק אם הוא עושה את זה דרך הטענת הCOOKIE בדף של הסקריפט.
עכשיו איך אני מתקן את הבעיות ויוצר (באמצעות תוספת של PHP כנראה) משתנה שנמצא על השרת (PHP) ויש אפשרות לשנות אותו רק דרך דף אחד?
בקיצור מה שאני צריך זה שתגידו לי (ואולי גם תעזרו לי ליצור את זה) מה היא הדרך הטובה ביותר ליצירת 2 דפים: דף אחד שבו המשתמש מכניס ערך למשתנה על שרת ודף שני שלוקח את המשתנה מהשרת
ומכניס אותו כטקסט במקום מסויים.
מה שעשיתי עד עכשיו זה ככה:
בדף של הריבוע יש את הסקריפט הבא:
קוד:
<script type="text/javascript">
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1)
{
c_start=c_start + c_name.length+1; c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end)) ;
}
}
return "";
}
function checkCookie()
{
username=getCookie('username');
doname="Last Donator";
if (username!=null && username!="")
{
doname=username;
}
}
checkCookie();
document.write(doname);
</script>
ובדף של הכנסת הערך למשתנה (דרך הCOOKIE) יש את הסקריפט הבא:
קוד:
<script type="text/javascript">
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1)
{
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end)) ;
}
}
return "";
}
function setCookie(c_name,value,expiredays)
{var exdate=new Date();exdate.setDate(exdate.getDate()+expiredays) ;
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function checkCookie()
{
username=getCookie('username');
if (username==null || username=="")
{
username=prompt('Please enter your name:',"");
if (username!=null && username!="" && (username.length>1 && username.length<18))
{
setCookie('username',username,365);
}
}
}
</script>
אבל כמו שאמרתי אני רוצה לשנות את זה כי נראה לי דרך הCOOKIE זה לא רעיון טוב ואני רוצה שלא יהיו הבעיות שפירטתי למעלה.
תודה רבה לכל מי שיעזור לי
_____________________________________
נערך לאחרונה ע"י rl_21 בתאריך 20-04-2008 בשעה 17:12.
|