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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=82241)

SniR-S 24-04-10 17:15

לא הבנתי כ"כ את מה ששי אמר, ואת השימוש בבינארי ודצימלי.
התכנון הוא לעשות מספר גישות בסדר ממוספר
כאשר יש לכל אחד ID משלו.

ככה שאין צורך להשתמש בקפיצות של 10
כי המספר לא משנה..

מה שכן אור, יש בעיה עם מה שהבאת לי.
מכיוון שה- explode מייצא מתוך מערך
את ההרשאה שאני מבקש, לדוגמא:
PHP קוד:

function getUserPer(){
$per "707|5|1";
$per explode("|"$per); // מייצא את הנתונים למערך $per אני צריך לבחור כל $per בנפרד ולכן התנאי שלמטה לא תקף..
return $per;
}

$per=getUserPer();
while(
$per){
if(
$per == "this page/'s permission"// התנאי הזה לא יכול לעבוד רק אם אני אבחר מה להציב לו ואשנה את המשתנה $per לדוגמא ל $per["1"] ואז ההרשאה תהיה 5 סתם דוגמא
    
show_page();


בקיצור הבעיה היא, שאני לא יודע איזה תנאי לעשות,
כי מה שאתה (ניצן) הצעת זה לא מתאים לי, זה לא יהיה הרשאות כאלו,
אלא הרשאות ממוספרות שאני אצטרך להגדיר כל אחת ואחת,
ולא תהיה לי האפשרות להשתמש ב
PHP קוד:

if ($permission >= {} 

מהסיבה הפשוטה, שלכל משתמש אני רוצה הרשאות שונות (התאמה אישית)...

OrPol 24-04-10 18:29

ציטוט:

נכתב במקור על ידי Snir Shamka (פרסם 761950)
לא הבנתי כ"כ את מה ששי אמר, ואת השימוש בבינארי ודצימלי.
התכנון הוא לעשות מספר גישות בסדר ממוספר
כאשר יש לכל אחד ID משלו.

ככה שאין צורך להשתמש בקפיצות של 10
כי המספר לא משנה..

מה שכן אור, יש בעיה עם מה שהבאת לי.
מכיוון שה- explode מייצא מתוך מערך
את ההרשאה שאני מבקש, לדוגמא:
PHP קוד:

function getUserPer(){
$per "707|5|1";
$per explode("|"$per); // מייצא את הנתונים למערך $per אני צריך לבחור כל $per בנפרד ולכן התנאי שלמטה לא תקף..
return $per;
}

$per=getUserPer();
while(
$per){
if(
$per == "this page/'s permission"// התנאי הזה לא יכול לעבוד רק אם אני אבחר מה להציב לו ואשנה את המשתנה $per לדוגמא ל $per["1"] ואז ההרשאה תהיה 5 סתם דוגמא
    
show_page();


בקיצור הבעיה היא, שאני לא יודע איזה תנאי לעשות,
כי מה שאתה (ניצן) הצעת זה לא מתאים לי, זה לא יהיה הרשאות כאלו,
אלא הרשאות ממוספרות שאני אצטרך להגדיר כל אחת ואחת,
ולא תהיה לי האפשרות להשתמש ב
PHP קוד:

if ($permission >= {} 

מהסיבה הפשוטה, שלכל משתמש אני רוצה הרשאות שונות (התאמה אישית)...

לא הבנת.
ה$per שאתה מוציא בפונקציה, זה כל ההרשאות שמקושרות למשתמש מסויים. סבבה?
נגיד אם הוא רשאי להיכנס רק להגדרות (שצריך הרשאה 707 בשבילן), בעמודה של ההרשאות בשורה שלו בטבלה, יהיה כתוב רק 707.

התנאי בודק האם יש לו את ההרשאה הזאת מבין כל ההרשאות שלו (WHILE),
כל הקטע בWHILE זה שהוא עובר על כל המערך בחיפוש אחר ההרשאה.
אם אין את ההרשאה בהרשאות שלו, התנאי לא יתקיים.

ואז, בIF PERMISSION = 707, אתה מציג את הדף.

אתה יכול להגדיל ולעשות ולהכניס את הקוד הזה, (שמונע ממך גישה לדף) בSOURCES של המערכת, ולכל דף להגדיר את הPERMISSION שלו בראש העמוד.
למשל

PHP קוד:

<?php
$CNF
['page_permission'] = 707;
require_once(
"./sources/permissions_val.php");

$is_val getUserPer($_SESSION['user_id'], $CNF['page_permission']);
?>

ופשוט לכתוב פונקציה שבודקת את כל ההרשאות של המשתמש מהמסד ומחזירה TRUE או FALSE

SniR-S 24-04-10 19:00

אחלה, אז הבנתי הכל מלכתחילה, פשוט זה לא עבד.
הבעיה היא בלולאה, משום מה היא לא עברה על כל המערך ופירקה אותו.
לכן השתמשתי ב foreach וכרגע זה עובד,
אני מקווה שזה טוב, עשיתי
PHP קוד:

foreach ($per as $per) {} 

נ.ב, תודה לכל מי שעזר..


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

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