לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 01-08-2006, 00:41
  המחפש המחפש אינו מחובר  
 
חבר מתאריך: 24.11.05
הודעות: 317
טופס התחברות בשילוב session

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

הטופס:
קוד PHP:
<?
 session_start();
?>
<html dir="rtl"> 
 <head> 
 </head> 
 <body> 
  <div align="center"> 
   <? 
    switch ($_GET["page"]) { 
     case 'login': 
      $user = $_POST["user"]; 
      $pass = $_POST["pass"]; 
      $_SESSION['user'] = $user; 
      $_SESSION['pass'] = $pass;
      echo "התחברת בהצלחה<br /><br /><a href=login.php?page=page>עמוד 1</a><br /><a href=login.php?page=logout>התנתקות</a>";
      break; 
     case 'page':  
      if($_SESSION['user'] != "") {  
       echo "שם המשתמש שלך: {$_SESSION['user']}<br />הסיסמה שלך: {$_SESSION['pass']}<br /><a href=login.php?page=logout>התנתקות</a>";  
      } else {  
       echo "אינך מחובר<br /><a href=login.php>התחברות</a>";  
      }   
      break; 
     case 'logout':
      $_SESSION['user'] = ""; 
      $_SESSION['pass'] = "";
      echo "התנתקת<br /><br /><a href=login.php>התחברות</a>";
      break; 
     default: 
      if($_SESSION['user'] != "" && $_SESSION['pass'] != "") {
       echo "אתה כבר מחובר<br /><br /><a href=login.php?page=page>עמוד 1</a><br /><a href=login.php?page=logout>התנתקות</a>";
      } else {
       echo "<form method='post' action='login.php?page=login'><table width='300' align='center'> 
       <tr><td width='35%' colspan='2' align='center'><bold>התחברות</bold></td></tr> 
       <tr><td width='35%'>שם משתמש:</td><td><input type='text' name='user' /></td></tr> 
       <tr><td width='35%'>סיסמה:</td><td><input type='password' name='pass' /></td></tr> 
       <tr><td colspan='2' align='center'><input type='submit' name='send' value='שלח'></tr> 
       </table></form>"; 
      }
      break; 
    } 
   ?> 
  </div> 
 </body> 
</html>
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 01-08-2006, 20:02
  deano deano אינו מחובר  
 
חבר מתאריך: 16.03.06
הודעות: 42
בתגובה להודעה מספר 3 שנכתבה על ידי המחפש שמתחילה ב "בcase של login לא רשמתי את..."

ציטוט:
במקור נכתב על ידי המחפש
בcase של login לא רשמתי את זה, אבל לקחתי את זה בחשבון. יש טבלה של המשתמשים והוא בודק שהפרטים שהוזנו אכן נכונים ורק אם כן הוא בונה את הsession.

זה בסדר לעשות ככה?


עשית קצת שטויות ודברים מיותרים אבל לא נורא.
למשל מה הקטע ב
קוד PHP:
 $user $_POST['user'];
$pass $_POST['pass'];
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass


למה לא פשוט הכנסת בלי לעשות את המעבר הזה?
וגם כמו שאמרתי כבר אסור להכניס את הסיסמה לSESSION זה לא טוב...
ולמשל למה עשית לכל הטופס ECHO חחחח.....

קיצר אם אתה עושה עם טבלה והכל אז בסדר, רק אל תאכסן שם משתמש או סיסמה בSESSION, אלא ID מסויים שאתה מחולל, למשל אתה יכול לעשות
קוד PHP:
<?
        $uniq_id = md5(uniqid(mt_rand(0,9999)).microtime());
        $_SESSION['somename'] = $uniq_id;
?>


ואז לשלוף מהטבלה לפי הID הזה איזה משתמש מחובר......
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 16:57

הדף נוצר ב 0.06 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר