471
צפיות
צפיות
38
תשובות
תשובות
שאלה על פונקציות (בPHP)
הגדרתי פונקציה כך:
function unset()
{
session_start();
session_unregister('session_name');
}
ופונקציה זאת מופיעה בתחילת הדף ולמי שלא הבין הוא מוחקת session.
עשיתי לינק כזה:
echo '<a href="" onclick="'.unset().'">unset</a>';
וכשלוחצים עליו הוא אמור להפעיל את הפונקציה, הבעיה היא שהפונקציה מתחילה לבד כל פעם שנכנסים לדף ולא רק כשלוחצים על הלינק.
אז איך אפשר לעשות שהיא לא תתחיל אוטומטית עם טעינת הדף?
38 תשובות
אתה יכול לנסות להוסיף משפט תנאי
שבודק אם הערך של ac שווה לערך מסויים, למשל 1
ואז לבצע את הפעלת הפונקציה.
כלומר כדי להפעיל את הפונקציה צריך להוביל לקישור כזה:
page.php?ac=1
במידה והתכוונת לקישור שאינו מפעיל פונקציה ללא מעבר בעמוד.
אבל רציתי לדעת…
איך אני משלב פונקציה של PHP בonclick בלי שהיא תפעל עם עליית הדף…
למה הפונקציה פועלת בעת עליית הדף
מלכתחילה ?
זה למה
ב-PHP וב-ASP אי אפשר לקרוא לפעולות בשרת באירועי לקוח (ב-ASP.NET אפשרי ע"י הפקדים המיוחדים של הטכנולוגיה)
קודם כל הפעולות שבין <?PHP ו- ?> (או ב-ASP <% %>)
מתבצעות שאלו הפעולות של השרת ולאחר מכן מתבצעות הפעולות בלקוח (HTML, CSS ו-JS)
http://www.tapuz.co.il/tapuzforum/main/ForumFAQAnswer.asp?id=130&QID=80
(אולם זה ב-ASP אך זה עדכני גם לגבי PHP)
וואלה שכחתי שאני מדבר על צד שרת…
יש לי שאלה על הצגת שורות ע"פי סדר
איך אני מציג את השורות לפי תאריך?
אני מתכוון איך אני כותב את התאריך (באיזה פורמט) כך שזה יזהה מה התאריך המאוחר יותר?
אם אתה
מתכוון לשליפת הרשומה עם התאריך המאוחר ביותר אז ככה:
SELECT TOP 1 <fields> FROM tbl ORDER BY dateFields DESC
או
SELECT <fields> FROM tbl WHERE dateField=MAX(dateField)
(אני בספק עם השני עובד)
מממ
לא הבנת את השאלה:
איך השרת אמור לדעת שהתאריך 15.5 הוא מאוחר יותר מהתאריך 30.4 ?
לא ממש הבנתי
תעשה לו למשל
שיציג את הרשומות שהתאריך שלהן גדול/קטן מהתאריך הרצוי לך, שתציב שם…
ככה הוא יידע אם התאריך שלך גדול או קטן מהתאריך שבטבלה…
אם הבנתי נכון..
טוב, הדוגמא הכי ברורה למה שאני רוצה
למשל בפורום הזה:
כל פעם שפותחים הודעה חדשה או מגיבים להודעה, היא קופצת לראש הדף, איך זה?
אתה יכול ליצור שדה תאריך/שעה
אצל בטבלה של הנושא ואז שמוסיפים תגובה תעדכן את אותו שדה לתאריך הנוכחי וזה בעצם יקפיץ את ההודעה לראשית הפורום.
מה שמחזיר אותי לשאלה הקודמת…
באיזה פורמט לכתוב את התאריך? כי אם יש לי שני תאריכים: 30.5 1.7 הוא לא יכול לדעת איזה תריך הוא מאוחר יותר…
כמו כן אפשר להשתמש באותו שדה כדי
לנעוץ (הודעה נעוצה,דביקה והודעת עוגן הן בעלות אותן משמעות)
ע"י כך שתיתן תאריך שגדול מהתאריך של היום ואז ההודעה תהיה נעוצה עד זמן מסויים
ההבדל יהיה בזמן ההודעה
שאתה יוצר את השדה אתה צריך ליצור אותו כ-תאריך/שעה (באקסס זה כשדה אחד לשניהם יש מסדים אחרים שזה בנפרד)
ובכך זה מזהה
שמע
תקרא את המאמר שלי במדור ASP על בניית פורום רקורסיבי (ההמשך)
ותלך שם להקפצות ונעיצות שם זה מוסבר לוגית איך עושים
יש לי שאלה בקשר ל ORDER BY
יש לי 2 שדות: אחד של תאריך ואחד של שנה.
אני יכול לעשות ORDER BY לפי שניהם ביחד?
כן, כמובן
ככה:
Order By ID Desc, SomeDate Desc
ורק לציין
שהוא קודם יסדר לפי הפרמטר הראשון (ID במקרה הזה) ואח"כ לפי הפרמטר השני. ככה שאם ID הוא מספור אוטומטי זה לא ממש משנה אם אתה מסדר לפי SomeDate.
תודה, ו….
אני השתמשתי ב AND במקום פסיק (,) – זה אותו דבר?
שאלה על עברית בפורום שלי
בניתי פורום והעליתי אותו לרשת.
עכשיו, כל פעם שאני נכנס אליו אני רואה את העברית בצורות מוזרות ואני צריך לשנות את הקידוד…
אז יש דרך להגדיר את העברית שתהיה אוטומטית באתר?
שים את השורה הבאה ב-HEAD שלך
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
זה אמור לפתור את הבעיה.
זה צריך להיות ברמת השרת נראה לי
כמו ב-ASP שעושים CODEPAGE צריך להיות בטח משהו כזה ל-PHP
ניסיתי, לא עזר…. זה לא קשור לזה ש
אני משתמש ב include (כולל לפים אחרים) נכון?
לא צריך להיות קשר
אם אף אחד לא יודע מה לעשות:
מישהו מכיר שרת איחסון חינם שתומך ב PHP וב MySQL?
תודה מראש…
מכיר את לייקוס ?
מכיר, הבעיה היא…
שהם לא נותנים הרבה מקום, וגם הם קובעים את שם ה DB, ואני מעדיף שאני יקבע אותו…
לא נותנים הרבה מקום ?
כמה מקום אתה צריך ??
זה אכסון חינמי, זה ברור שלא הכל יהיה מושלם.
ת'אמת, המקום הוא לא הבעיה אלא ה DB
אםם בקשר לשאלה על העברית…
הבעיה היא שזה מציג ג'יבריש (אני חושב) במקום עברית:
äôåøåí ùìé
אז יש דרך לסדר את זה אוטומטית? (כאילו בלי לשנות קידוד כל הזמן)
מהיכן העתקת את הקוד ?
מעורך מסויים כמו HomeSite או DreamWaver?
פתח את הקובץ בפנקס הרשימות.
אם אתה רוצה להוסיף קידוד לעמוד אז תכתוב את זה בשורה הראשונה של העמוד (אחרת לא יעבוד!):
<%@language="VBSCRIPT" CODEPAGE="1255"%>
הוא עובד ב-PHP
נסיון לתגובה.
איך הכנסתה את הנתונים,
היה לי פעם באג די מעצבן,שהאתר שלי היה על קידוד UTF-8,אבל הדף שהכניס את הנתונים למסד היה על קידוד ISO,ואז נוצר אי-תאימות בין הדפים ושם הייתה הבעייה (הישתמשתי ב phpMyAdmin כדאי לכניס נתונים,הוא עובד על ISO).
מה זאת אומרת…
איך הכנסתי את הנתונים? איזה נתונים?
פשוט כתבתי בדף בעברית וזה הראה ג'יבריש…
סליחה
טעות שלי,חשבתי שמדובר בבעית מסד נתונים.
בקשר לבעייה שלך אני יכול להגיד:
1) בדוק את תגי המטה שלך.
2) נסה את זה: default_charset = "windows-1255"
או אם אתה משתמש ביוניקוד 8 ביט נסה את זה default_charset = "UTF-8"
בהצלחה לך.
—–>>
1) איפה אני כותב את default_charset
2) זה לא בשרת שלי, אלא בשרת איחסון…
ושאלה על לייקוס..
למה אני לא מצליח להפעיל שם SESSIONS ? על השרת שלהם הם פשוט לא עובדים… עוד מישהו נתקל בבעיה הזאת?