![]() |
[עזרה] פרטים ותוכן אישיים של משתמש רשום.
שלום לכולם.
אני רוצה לפתוח אתר כלשהו אשר מצריך שלכל אדם יהיו פרטים אישיים ובין הייתר גם תתאפשר שליחת הודעות פרטיות בין המשתמשים. אינני יודע כיצד לעשות שלכל אדם יהיו פרטים אישיים, דף פרטי וכ'ו, איך עושים את זה? כמובן שימוש במסדי נתונים, כמו בכל אתר. תודה רבה. |
אין לך את הבסיס בPHP עם חיבור במסד נתונים,
אף אחד לא יכתוב את לך את הסקריפט, בעיקרון זה טבלה מאוד פשוטה שבכל טור אתה מכניס פרטים לפי ID של המשתמש. |
אני עובד עם מסדי נתונים, אני מתעסק בטבלאות וכל זה.
פשוט מה אני אומר לעשות? טבלה בשם "name" למשל שבה יכנסו השמות של כל המשתמשים? איך אני עושה שבתוכן שיכנס יכנס אבל שהוא יצא הוא יצא לפי ה id. מסובך.. |
ציטוט:
PHP קוד:
|
אתה מתכוון כאילו:
PHP קוד:
אבל שוב, איך הולך תהליך ההכנסה? איך המערכת תדע איזה תוכן הכניס כל id? תודה. |
לכל משתמש אתה עושה ID משלו,
בטבלה עצמה אתה פותח טבלה בשם ID נגיד,עושה לה מספר אוטומטי וסוג INT (מספר) ואז פשוט כל משתמש שנירשם זה פותח לו ID משלו. בין היתר אתה מוסיף עוד עמודה כמו NAME שיכול לשמש לשם פרטי,AGE לגיל וכו'. ולאחר מכן בשליפה אתה עושה כמו שעשית PHP קוד:
|
כן כמו שעשיתי, השליפה ברורה, אבל ההכנסה.
שאני יבוא לשלוף, איך המערכת תדע איזה פרטים כל id הכניס? תודה. |
חפש בגוגל הסברים על איך בונים כזו מערכת, tutorials או משהו, או נסה ללמוד ממערכת קיימת איך עובדים.. אתה יכול לראות דוגמא לשליפות השונות במערכת miniCMS שבניתי היא די ברורה ופשוטה להבנה ובקבצים עצמם אתה יכול לראות איך אני מציג דף לפי הID שלו (כמו אצלך - המשתמש לפי הID) ואיך אני מוסיף דף חדש, או מעדכן קיים (בדיוק הפעולות שאתה צריך)
בכל מקרה הקוד שרשמת זה פתח לSQLInjection, קודם קבל את הID לערך כלשהו (ותעטוף בhtmlspecialchars או כל דרך למנוע injection) ורק אז תשלוף.. אבל אתה בכיוון הנכון. |
בקשר לאבטחה, אני בסוף יאבטח, אבטחה נוספת שאני די חושש כיצד אני אבצע אותה, זה למשל שהמשתמש יעדכן את הפרופיל שלו, הכוונה ישתמש בפקודה update, איך אני אמנע מצב שבו הוא ישנה את הכתובת במקום id=13 למשל הוא ירשום id=18 ויערוך את הפרטים של משתמש מספר 18 אבל כמו שאמרתי את זה כל זה נשאיר לסוף.
spy7fire - כמו שכתבתי באשכול, המערכת שלך נראית מעולה, הורדתי את קבצי המערכת ומשימוש בדמו באתר לא ראיתי שישנה אפשרות של הרשמת משתמשים. בכל אופן, אם יש את כל זה במערכת ויש לך קצת זמן להסביר לי על זה אני כבר נמצא באיסיקיו שלך נדמה לי, שלחתי לך הודעה, אני חושב שזה אתה. תודה רבה. |
אין לך בסיס בPHP אז זה קשה.
זהמאוד פשוט ומאוד בסיסי. פתח טבלה - משתמשים, בה יהיה טורים של - ID סיסמא+שאר הפרטים שאתה רוצה. ההכנסה - insert into ובערך id לעשות null ההוצאה - where id = '$id' האבטחה - אל תעשה שזה יהיה בכתובת. תעשה אימות מס' נתונים(לפחות זה וסיסמא) ע"י קוקיז\סיישן. אתה יכול לעשות דרך הגט(id=xx&pass=xx) אבל אח"כ כל מי שיהיה על המחשב יוכל להיכנס. |
dor77, מצטער להגיד לך
אבל אתה קופץ על שלבים עוד כשאתה לא מבין מה אתה עושה. המלצה שלי אלייך, תלמד בסיס ומעלה של PHP + SQL ולאחר מכן תתחיל לבנות מערכות. אתה תראה שהקוד כבר יבוא לך לבד, וכמובן שתוכל להעזר בנו אבל לא בשאלות של איך מכניסים לטבלה בעזרת ID, כי זה כבר בסיסי מאוד. אני חושב שהסברתי כבר אבל אני יסביר שוב, לכל משתמש יש ID משלו, ואתה פשוט שולף את הID של המשתמש, לפי הID שנשלף נשלף גם הפרטים שהכנסת (שם,סיסמא וכו' של אותו משתמש) בכל מקרה שיהיה לך בהצלחה ומקווה לראות מערכות שלך |
ציטוט:
אבל תראה, הצלחתי לבנות התחלה של מערכת ניהול תוכן, סתם כדי להתאמן על מה שלמדתי שזה לא כל כך הרבה אבל גם נעזרתי קצת, המשתמש/האדמין מכניס מאמר, זה מציג את התקציר של המאמר יחד עם תקצירים של כל המאמרים ולאחר לחיצה על "כנס למאמר" זה נכנס לדף ומציג את המאמר כולו לפי ה id, אני כבר הצלחתי לבנות משהו שיכול להיות דומה מאוד אבל פתאום אני נתקע. הבעיה שלי היא שאני מתחיל ללמוד PHP, למשל אתמול ניסיתי ללמוד Session באתר learnphp ולא הבנתי איך זה יכול להתקשר, הרבה מאוד דברים לא מובנים לי, גם מערכים, אני לא מבין מה זה בכלל, ניסיתי ללמוד מפה: http://www.learnphp.co.il/13.guide ולא הבנתי מה זה, ההסבר כל כך דליל שקשה להבין שם משהו. האנגלית שלי בסדר בסך הכל אבל אני מעדיף ללמוד בעברית, מן הסתם ככה שאני צריך אתרים בעברית ויש ממש קצת כאלה. אין ספק שאני מנסה להקדים את זמני, כלומר לבנות תוך כדי למידה, אבל כל זה נובע כי אני נתקע בנושאים מסויימים וזה מוריד את החשק ללמוד. בקשר ל SQL, זו שפה די קלה, אין הרבה מה ללמוד בה, יש כמה פונקציות עיקריות ובכלל גם הפונקציות הנחוצות שם זה שורה אחת, אני מרגיש שלא שם הבעיה שלי, אלא ב PHP. תודה. |
אז אני לא מבין מה הבעיה, אם אתה אומר שפתחת מערכת של מאמרים עם ID לכל מאמר, תעשה אותו דבר רק למשתמשים.
במקום שם מאמר, תכניס שם פרטי, במקום תקציר המאמר, תכניס סיסמא וכו' אחר כך בהתחברות, אתה שולף מהטבלאה של המשתמשים את השם משתמש והסיסמא שניכתבו ב-INPUT, ובעזרת mysql_num_rows אתה בודק אם זה שווה ל-0 (מה שאומר שלא נישלף מהטבלה - משתמש לא קיים / סיסמא לא תואמת וכו'), אם זה שווה ל1 זאת אומרת שהשם משתמש והסיסמא אכן קיימים ותואמים, תפתח לו SESSION. אחר כך פשוט תבדוק אם הסישן קיים, שיציג דף של מי שמחובר, אם לא - פשוט דף התחברות. |
אוקיי, כן כבר אני חושב שעליתי על הדרך שבה אני אמור לעשות את זה אבל כעת אני ידלג על זה לטבות לימוד PHP רציני.
כבר המון פעמים שרציתי להתחיל ללמוד PHP בצורה טובה ותמיד זה הופסק לאחר כמה פרקים, עכשיו אני אנסה שוב כי אני רואה שכל השורות האחרונות שלך לא היו מובנות לי כלל, אני מודה לך ולכולם על התגובות פה. תודה. |
כל הזמנים הם GMT +2. הזמן כעת הוא 17:07. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ