הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP] צריך רעיונות בקשר למנגנון הצפה (https://hosts.co.il/forums/showthread.php?t=26541)

Elad-A 16-07-06 14:34

[PHP] צריך רעיונות בקשר למנגנון הצפה
 
שלום,
אני רוצה לעשות מעין מנגנון כזה שיאפשר להוסיף תגובה רק אם עברו 30 שניות אך לא עולה לי לראש רעיון.
אשמח אם למישהו יש רעיון איך לעשות את זה.
תודה, אלעד.

BlueNosE 16-07-06 14:36

תעשה ככה, שליפה מהמסד בעת שליחת הודעה:
כל ההודעות של המשתמש UID (USER ID) שגדולות מtime()+30.
אם MYSQL_NUM_ROWS שווה ל0 תמשיך, אחרת תציג אזהרה.

Tomer 16-07-06 14:40

PHP קוד:

$sql mysql_query("SELECT time FROM users_msg_tbl WHERE time>=time()+30");
if (
mysql_num_rows($sql) != 0) die("עליך להמתין 30 שניות מרגע פרסום ההודעה"); 


Elad-A 16-07-06 14:42

עשיתי דבר כזה:
PHP קוד:

$query mysql_query("select date from topics ORDER BY `date` DESC LIMIT 0,1") or die(mysql_error()); 
$r mysql_fetch_array($query); 
$date $r["date"]; 

עשיתי ככה כדי להוציא את התאריך האחרון במסד ועשיתי ככה:
PHP קוד:

$date $r["date"]; 
$date2 date("d-m-Y H:is");
 
$x $date2-$date
echo 
$x

אבל זה תמיד מחזיר 0.
מה הבעיה?
עריכה:
תומר גם מה שרשמת לא עובד.

Tomer 16-07-06 14:55

ציטוט:

נכתב במקור על ידי Elad-A
עשיתי דבר כזה:
PHP קוד:

$query mysql_query("select date from topics ORDER BY `date` DESC LIMIT 0,1") or die(mysql_error()); 
$r mysql_fetch_array($query); 
$date $r["date"]; 

עשיתי ככה כדי להוציא את התאריך האחרון במסד ועשיתי ככה:
PHP קוד:

$date $r["date"]; 
$date2 date("d-m-Y H:is");
 
$x $date2-$date
echo 
$x

אבל זה תמיד מחזיר 0.
מה הבעיה?
עריכה:
תומר גם מה שרשמת לא עובד.

מה שרשמתי זה בהתבסס על זה שבערך time יש לך את זמן פרסום ההודעה במצב של time() ולא במצב של תאריך.. הכוונה ל UNIX Style Time ולא ל 07:24:54

eLad 16-07-06 14:57

זה רק אני או שמיותר להשתמש במסד נתונים כאן?

Elad-A 16-07-06 14:59

שיניתי ל time() ולא אומר שגיאה עדיין.

sUP 16-07-06 15:01

ציטוט:

נכתב במקור על ידי eLad
זה רק אני או שמיותר להשתמש במסד נתונים כאן?

אז נשמח לשמוע אלטרנטיבות אחרות ולהשכיל
|קורץ|

Elad-A 16-07-06 15:17

איך אפשר בלי מסד באמת??

Balrog 16-07-06 15:20

אני כרגע חושב שכן צריך מסד (לא סומך על קוקי לעניין הזה)
מה שכן, יכול להיות שזה צריך להיות time()-30 (במקום +30)?

עריכה:
במחשבה שניה זה תלוי באיזה אגף זה רשום, הכוונה הייתה לגבי הקוד שניתן למעלה:
קוד:

$sql = mysql_query("SELECT time FROM users_msg_tbl WHERE time>=time()-30");
if (mysql_num_rows($sql) != 0) die("עליך להמתין 30 שניות מרגע פרסום ההודעה");



כל הזמנים הם GMT +2. הזמן כעת הוא 21:39.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ