ABA


"צריך משהו די פשוט ב-PHP"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #11738 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11738
fuck31

   21:05   12.03.07   
אל הפורום  
  צריך משהו די פשוט ב-PHP  
 
   היי,

אני צריך דף Login עם משתמש וסיסמא קבועים (ללא מסד נתונים),
התנאים הם כאלה:

אם יש שגיאה בהתחברות, המשתמש יקבל error msg כלשהי
אם ההתחברות עברה בהצלחה, המשתמש יועבר לדף - נניח index.html
אם המשתמש ניסה לגשת לדף ה-index עוד לפני ההתחברות -הוא יקבל הודעה "לא התחברת"


תודה רבה, סליחה על החפירה :]


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  מכתב... Roy_Jan  13.03.07 00:08 1
     אממ דוקטור שאלה akoka 13.03.07 00:20 2
         קוד קצת יותר מסודר akoka 13.03.07 00:31 3
             אממ שכחתם משהו קטן... MeToR 13.03.07 01:05 4
                 שמעו , כתבתי את הקוד הזה בלילה Roy_Jan  13.03.07 06:10 5
                 פרופסור מור אני חושב שכדאי להוסיף לקוד שלך akoka 13.03.07 11:20 6
                     Thanks Dr. akoka, I forgot it :) MeToR 15.03.07 18:15 14
             שים לב מה רשמת חחח: Ice Cold  15.03.07 17:10 13
  תודה רבה לכולכם!! :] fuck31 13.03.07 11:41 7
  אממ יש לי בעיה קטנה עם הקוד של MeToR fuck31 13.03.07 11:50 8
     רגע, יכול להיות שלא הבנתי אותך נכון... MeToR 13.03.07 16:35 9
         בדיוק :] fuck31 13.03.07 19:41 10
             בעיקרון... MeToR 14.03.07 16:04 11
                 עדיף Session, השיטה השניה מסורבלת מדי. Sn00py  17.03.07 09:19 15
  מה השם משתמש והסיסמא user pass פנחס 14.03.07 19:11 12

       
Roy_Jan 
חבר מתאריך 24.7.15
   00:08   13.03.07   
אל הפורום  
  1. מכתב...  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 13.03.07 בשעה 00:10 בברכה, Roy_Jan
 
זה דף send.html


<form method="post" action="2.php">
שם משתמש : <input type="text" name="username">
<br>
סיסמא : <input type="password" name="password">
<br>
<input type="submit" value="שלח">
</form>

זה דף 2.php


<?php
$a = $_POST['username'];
$b = $_POST['password'];
if ($a=="bla" && $b=="yeah") {
echo "<script language=\"javascript\">";
echo "alert (\"התחברת טוב מאוד\");";
echo "window.location=\"index.html";";
echo "</script>";
}
else {
echo "<script language=\"javascript\">";
echo "window.location=\"http://www.walla.co.il\";";
echo "</script>";
}
?>

תהנה גבר

זה חלק מהקוד.
אם אתה רוצה גם לPHP זה include..
אם זה חשוב לך תגיד לי אני אעשה לך


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

   00:20   13.03.07   
אל הפורום  
  2. אממ דוקטור שאלה  
בתגובה להודעה מספר 1
 
   למה אתה משתמש בWindow.location במקום בheader וredirect ?או שזה הרגל?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

   00:31   13.03.07   
אל הפורום  
  3. קוד קצת יותר מסודר  
בתגובה להודעה מספר 2
 
   ערכתי לאחרונה בתאריך 13.03.07 בשעה 00:31 בברכה, akoka
 
login.php

<html>
<head>
<title>login</title>
</head>
<form method="post" action="login.php">
<body>
<input type="text" name="username" />username
</br>
<input type="password" name="password" />password
</br>
<input type="submit" value="login" />
</form>
</body>
</html>

login2.php

<?php
$username=$_POST['username'];
$password=$_POST['password'];
if ($username != "admin" && $password != "3564872"){
header("location: login.php");
exit();
}else{
header("location: admin.php");
}
?>



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות
   01:05   13.03.07   
אל הפורום  
  4. אממ שכחתם משהו קטן...  
בתגובה להודעה מספר 3
 
   ערכתי לאחרונה בתאריך 13.03.07 בשעה 01:06 בברכה, MeToR
 
הוא ביקש גם שתהיה בדיקה בעת כניסה לדף ה-index.
זאת אומרת, אם מישהו נכנס ולא התחבר, זה ישלח אותו להתחברות.
ולכן, צריך להשתמש ב-Cookies או ב-Session.

login.php:



<?php
session_start();
if (isset($_SESSION['con']))
header("location: index.php");
?>

<html dir="rtl">
<head>
<title> דף התחברות </title>
</head>
<body>
<form method="post" action="login.php">
<p> שם משתמש: <input type="text" name="user"> </p>
<p> סיסמא: <input type="password" name="pass"> </p>
<p> <input type="submit" value="התחברות"> </p>
<input type="hidden" name="check" value="true">
</form>

<?
if (isset($_POST['check']))
{
$user=$_POST['user'];
$pass=$_POST['pass'];
if (($user=="שם משתמש") and ($pass=="סיסמא"))
{
$_SESSION['con']="yes";
header("location: index.php");
}
else
echo "שם המשתמש ו/או הסיסמא שהקלדת שגויים.";
}
?>

</body>
</html>

index.php:



<?php
session_start();
if (!isset($_SESSION['con']))
header("location: login.php");
?>

<html dir="rtl">
<head>
<title> דף ראשי מוגן </title>
</head>
<body>
...
...
...
</body>
</html>

דרך אגב, דף ה-index חייב להיות עם סיומת php כדי שהוא יוכל לבדוק אם המשתמש התחבר או לא...

כל שאלה, אנחנו פה (אני, דוקטור akoka ודוקטור Roy_Jan)

בהצלחה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Roy_Jan 
חבר מתאריך 24.7.15
   06:10   13.03.07   
אל הפורום  
  5. שמעו , כתבתי את הקוד הזה בלילה  
בתגובה להודעה מספר 4
 
   אם הייתי מנתח אנשים , אנשים היו מתים :D.
אבל הבחור עם התואר (metor) עשה מאוד טוב , כמובן
שיש גם אפשרות לעשות include לקבצים במקום
הlocation אבל ככה זה בסדר גמור

נ.ב
למה כולם העתיקו ממני את התארים :D ?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

   11:20   13.03.07   
אל הפורום  
  6. פרופסור מור אני חושב שכדאי להוסיף לקוד שלך  
בתגובה להודעה מספר 4
 
   ob_start();
אחרת תווצר בעיה קטנה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות
   18:15   15.03.07   
אל הפורום  
  14. Thanks Dr. akoka, I forgot it :)  
בתגובה להודעה מספר 6
 
   ערכתי לאחרונה בתאריך 15.03.07 בשעה 18:18 בברכה, MeToR
 
Edit: I've just checked it, and it seems to be ok without the ob.

But thanks for the comment anyway


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   17:10   15.03.07   
אל הפורום  
  13. שים לב מה רשמת חחח:  
בתגובה להודעה מספר 3
 

if ($username != "admin" && $password != "3564872"){

לפי זה, אם אני נכנס עם admin וטועה בסיסמא, אני עדיין אגיע לממשק ADMIN כי שמת && ולא ||


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
fuck31

   11:41   13.03.07   
אל הפורום  
  7. תודה רבה לכולכם!! :]  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
fuck31

   11:50   13.03.07   
אל הפורום  
  8. אממ יש לי בעיה קטנה עם הקוד של MeToR  
בתגובה להודעה מספר 0
 
   כשאני מתחבר עם הפרטים הנכונים - הדף לא עובר הלאה לindex.php הוא נשאר באותו מקום :0.

ואני מצליח להכנס לדף index.php לא ע"י דף הlogin


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות
   16:35   13.03.07   
אל הפורום  
  9. רגע, יכול להיות שלא הבנתי אותך נכון...  
בתגובה להודעה מספר 8
 
   קודם כל, תחליף את זה בדף ה-login:

header("location: index.php");

בזה:

echo ("<script language='javascript'> location.href='index.php'; </script>");

כנ"ל בדף ה-index, אבל במקום:


location.href='index.php';

תכתוב:

location.href='login.php';

בכל מקרה, אם לא הבנתי אותך נכון, אז:
אתה מתכוון שכל פעם תהיה חייב להיכנס דרך ה-login?
גם אם שתי דקות לפני כן כבר נכנסת דרך ה-login?
זאת אומרת, שלא תוכל להיכנס בכלל ל-index.php דרך שורת הכתובת, אלא רק דרך ה-login?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
fuck31

   19:41   13.03.07   
אל הפורום  
  10. בדיוק :]  
בתגובה להודעה מספר 9
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות
   16:04   14.03.07   
אל הפורום  
  11. בעיקרון...  
בתגובה להודעה מספר 10
 
   ה-SESSION הולך ככה:

משתמש נכנס לאתר שלך, מנסה להיכנס ל-index דרך שורת הכתובת,
הדף בודק אם ה-SESSION שלו קיים כבר, רואה שלא, ואז הוא שולח אותו לדף ה-login.
המשתמש כותב את שם המשתמש והסיסמא, ולאחר מכן ה-SESSION שלו נרשם,
והוא מועבר אוטומטית לדף ה-index.
אם המשתמש כבר נמצא בדף ה-index ומרענן,
או רושם את כתובת דף ה-index בשורת הכתובת ונכנס, זה לא משנה, כי הוא כבר נמצא בדף.

עכשיו, אם המשתמש יוצא מהאתר שלך, ה-SESSION נמחק, ואז כשהוא מנסה
להיכנס לדף ה-index דרך שורת הכתובת, זה ישלח אותו לדף ה-login, בדיוק כמו בהתחלה.

בקיצור, אני לא מוצא משהו פסול ב-SESSION לצרכים שלך.

בכל מקרה, חשבתי על אפשרות שונה, שבה אחרי שאתה מתחבר,
נשלחת מחרוזת כלשהי דרך POST לדף ה-index, וכך אתה מוודא שהגעת לדף היישר מדף ה-login.
האפשרות הזאת דיי מסורבלת כשאתה רוצה ליצור דפים מוגנים נוספים,
ולכן ממולץ להשתמש ב-SESSION.

בהצלחה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   09:19   17.03.07   
אל הפורום  
  15. עדיף Session, השיטה השניה מסורבלת מדי.  
בתגובה להודעה מספר 11
 
  

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פנחס

   19:11   14.03.07   
אל הפורום  
  12. מה השם משתמש והסיסמא user pass  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net