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

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

dor77 02-01-09 22:59

[עזרה] פרטים ותוכן אישיים של משתמש רשום.
 
שלום לכולם.

אני רוצה לפתוח אתר כלשהו אשר מצריך שלכל אדם יהיו פרטים אישיים ובין הייתר גם תתאפשר שליחת הודעות פרטיות בין המשתמשים.

אינני יודע כיצד לעשות שלכל אדם יהיו פרטים אישיים, דף פרטי וכ'ו, איך עושים את זה?

כמובן שימוש במסדי נתונים, כמו בכל אתר.

תודה רבה.

daMn 02-01-09 23:45

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

dor77 03-01-09 00:04

אני עובד עם מסדי נתונים, אני מתעסק בטבלאות וכל זה.
פשוט מה אני אומר לעשות?
טבלה בשם "name" למשל שבה יכנסו השמות של כל המשתמשים?
איך אני עושה שבתוכן שיכנס יכנס אבל שהוא יצא הוא יצא לפי ה id.

מסובך..

Speed 03-01-09 00:08

ציטוט:

נכתב במקור על ידי dor77 (פרסם 690422)
אני עובד עם מסדי נתונים, אני מתעסק בטבלאות וכל זה.
פשוט מה אני אומר לעשות?
טבלה בשם "name" למשל שבה יכנסו השמות של כל המשתמשים?
איך אני עושה שבתוכן שיכנס יכנס אבל שהוא יצא הוא יצא לפי ה id.

מסובך..

אתה פשוט שולף את השם לפי הid ..
PHP קוד:

WHERE id=.... 


dor77 03-01-09 00:21

אתה מתכוון כאילו:

PHP קוד:

SELECT name FROM names WHERE id={$_GET['id']} 

זה יעבוד?

אבל שוב, איך הולך תהליך ההכנסה?
איך המערכת תדע איזה תוכן הכניס כל id?

תודה.

DorOaki 03-01-09 14:46

לכל משתמש אתה עושה ID משלו,
בטבלה עצמה אתה פותח טבלה בשם ID נגיד,עושה לה מספר אוטומטי וסוג INT (מספר)
ואז פשוט כל משתמש שנירשם זה פותח לו ID משלו.
בין היתר אתה מוסיף עוד עמודה כמו NAME שיכול לשמש לשם פרטי,AGE לגיל וכו'.
ולאחר מכן בשליפה אתה עושה כמו שעשית
PHP קוד:

mysql_query("SELECT * FROM `users` WHERE id = {$_GET['id']} "); 


dor77 03-01-09 17:21

כן כמו שעשיתי, השליפה ברורה, אבל ההכנסה.
שאני יבוא לשלוף, איך המערכת תדע איזה פרטים כל id הכניס?

תודה.

spi7fire 03-01-09 17:47

חפש בגוגל הסברים על איך בונים כזו מערכת, tutorials או משהו, או נסה ללמוד ממערכת קיימת איך עובדים.. אתה יכול לראות דוגמא לשליפות השונות במערכת miniCMS שבניתי היא די ברורה ופשוטה להבנה ובקבצים עצמם אתה יכול לראות איך אני מציג דף לפי הID שלו (כמו אצלך - המשתמש לפי הID) ואיך אני מוסיף דף חדש, או מעדכן קיים (בדיוק הפעולות שאתה צריך)

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

dor77 03-01-09 18:19

בקשר לאבטחה, אני בסוף יאבטח, אבטחה נוספת שאני די חושש כיצד אני אבצע אותה, זה למשל שהמשתמש יעדכן את הפרופיל שלו, הכוונה ישתמש בפקודה update, איך אני אמנע מצב שבו הוא ישנה את הכתובת במקום id=13 למשל הוא ירשום id=18 ויערוך את הפרטים של משתמש מספר 18 אבל כמו שאמרתי את זה כל זה נשאיר לסוף.

spy7fire - כמו שכתבתי באשכול, המערכת שלך נראית מעולה, הורדתי את קבצי המערכת ומשימוש בדמו באתר לא ראיתי שישנה אפשרות של הרשמת משתמשים.
בכל אופן, אם יש את כל זה במערכת ויש לך קצת זמן להסביר לי על זה אני כבר נמצא באיסיקיו שלך נדמה לי, שלחתי לך הודעה, אני חושב שזה אתה.

תודה רבה.

ASTeam 04-01-09 10:19

אין לך בסיס בPHP אז זה קשה.
זהמאוד פשוט ומאוד בסיסי.

פתח טבלה - משתמשים, בה יהיה טורים של - ID סיסמא+שאר הפרטים שאתה רוצה.
ההכנסה - insert into ובערך id לעשות null
ההוצאה - where id = '$id'
האבטחה - אל תעשה שזה יהיה בכתובת. תעשה אימות מס' נתונים(לפחות זה וסיסמא) ע"י קוקיז\סיישן.
אתה יכול לעשות דרך הגט(id=xx&pass=xx) אבל אח"כ כל מי שיהיה על המחשב יוכל להיכנס.

DorOaki 04-01-09 11:20

dor77, מצטער להגיד לך
אבל אתה קופץ על שלבים עוד כשאתה לא מבין מה אתה עושה.
המלצה שלי אלייך, תלמד בסיס ומעלה של PHP + SQL ולאחר מכן תתחיל לבנות מערכות.
אתה תראה שהקוד כבר יבוא לך לבד, וכמובן שתוכל להעזר בנו אבל לא בשאלות של איך מכניסים לטבלה בעזרת ID, כי זה כבר בסיסי מאוד.
אני חושב שהסברתי כבר אבל אני יסביר שוב, לכל משתמש יש ID משלו, ואתה פשוט שולף את הID של המשתמש, לפי הID שנשלף נשלף גם הפרטים שהכנסת (שם,סיסמא וכו' של אותו משתמש)
בכל מקרה שיהיה לך בהצלחה ומקווה לראות מערכות שלך

dor77 04-01-09 12:15

ציטוט:

נכתב במקור על ידי DorOaki (פרסם 690660)
dor77, מצטער להגיד לך
אבל אתה קופץ על שלבים עוד כשאתה לא מבין מה אתה עושה.
המלצה שלי אלייך, תלמד בסיס ומעלה של PHP + SQL ולאחר מכן תתחיל לבנות מערכות.
אתה תראה שהקוד כבר יבוא לך לבד, וכמובן שתוכל להעזר בנו אבל לא בשאלות של איך מכניסים לטבלה בעזרת ID, כי זה כבר בסיסי מאוד.
אני חושב שהסברתי כבר אבל אני יסביר שוב, לכל משתמש יש ID משלו, ואתה פשוט שולף את הID של המשתמש, לפי הID שנשלף נשלף גם הפרטים שהכנסת (שם,סיסמא וכו' של אותו משתמש)
בכל מקרה שיהיה לך בהצלחה ומקווה לראות מערכות שלך

אני מסכים איתך, אני גם חושב כמוך.
אבל תראה, הצלחתי לבנות התחלה של מערכת ניהול תוכן, סתם כדי להתאמן על מה שלמדתי שזה לא כל כך הרבה אבל גם נעזרתי קצת, המשתמש/האדמין מכניס מאמר, זה מציג את התקציר של המאמר יחד עם תקצירים של כל המאמרים ולאחר לחיצה על "כנס למאמר" זה נכנס לדף ומציג את המאמר כולו לפי ה id, אני כבר הצלחתי לבנות משהו שיכול להיות דומה מאוד אבל פתאום אני נתקע.
הבעיה שלי היא שאני מתחיל ללמוד PHP, למשל אתמול ניסיתי ללמוד Session באתר learnphp ולא הבנתי איך זה יכול להתקשר, הרבה מאוד דברים לא מובנים לי, גם מערכים, אני לא מבין מה זה בכלל, ניסיתי ללמוד מפה:
http://www.learnphp.co.il/13.guide
ולא הבנתי מה זה, ההסבר כל כך דליל שקשה להבין שם משהו.

האנגלית שלי בסדר בסך הכל אבל אני מעדיף ללמוד בעברית, מן הסתם ככה שאני צריך אתרים בעברית ויש ממש קצת כאלה.

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

תודה.

DorOaki 04-01-09 14:00

אז אני לא מבין מה הבעיה, אם אתה אומר שפתחת מערכת של מאמרים עם ID לכל מאמר, תעשה אותו דבר רק למשתמשים.
במקום שם מאמר, תכניס שם פרטי, במקום תקציר המאמר, תכניס סיסמא וכו'
אחר כך בהתחברות, אתה שולף מהטבלאה של המשתמשים את השם משתמש והסיסמא שניכתבו ב-INPUT, ובעזרת mysql_num_rows אתה בודק אם זה שווה ל-0 (מה שאומר שלא נישלף מהטבלה - משתמש לא קיים / סיסמא לא תואמת וכו'), אם זה שווה ל1 זאת אומרת שהשם משתמש והסיסמא אכן קיימים ותואמים, תפתח לו SESSION.
אחר כך פשוט תבדוק אם הסישן קיים, שיציג דף של מי שמחובר, אם לא - פשוט דף התחברות.

dor77 04-01-09 15:06

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

תודה.


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

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