הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 07-01-09, 23:40   # 1
Ben147
חבר חדש
 
מיני פרופיל
תאריך הצטרפות: Dec 2008
הודעות: 30

Ben147 לא מחובר  

[בעיה] PHP מערכת התחברות

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

PHP קוד:
Index.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login</title>
</head>



<body>
<form id="form1" name="form1" method="post" action="">
UserName: 
<label>
<input type="text" name="username" id="username" />
</label>
<p>PassWord:
<label>
<input type="text" name="password" id="password" />
</label>
</p>
<p>
<label>
<input type="submit" name="next" id="next" value="Login" />
</label>
</p>
</form>
</body>
</html>
<?php
session_start
();
if (isset(
$_POST['next']))
{
test();
}

function 
test()
{
if (
$_POST['username'] == "Admin" && $_POST['password'] == "1234")
{
$_SESSION['login'] = "1";
echo 
"<meta http-equiv='refresh' content='0;URL=panel.php' />";
}
else
{
echo 
"<center>ôøèéí ùâåééí</center>";
}
}
?>

השגיאה היא:
PHP קוד:
Warningsession_start() [function.session-start]: Cannot send session cache limiter headers already sent (output started at index.php:15in index.php on line 30 
השגיאה היא לשורה של:
ציטוט:
session_start();
תודה לעוזרים

Last edited by Ben147; 07-01-09 at 23:52..
  Reply With Quote
ישן 08-01-09, 00:36   # 2
SarafC
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Apr 2008
הודעות: 511

SarafC לא מחובר  

שימוש בסשנס צריך להיות לפני הכל, לפני הHEADERS (תגיות הפתיחה).

הקוד שלך אמור להיות:

PHP קוד:
<?php
session_start
();
if (isset(
$_POST['next']))
{
test();
}
function 
test()
{
if (
$_POST['username'] == "Admin" && $_POST['password'] == "1234")
{
$_SESSION['login'] = "1";
echo 
"<meta http-equiv='refresh' content='0;URL=panel.php' />";
}
else
{
echo 
"<center>שגיאה</center>";
}
}
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255" />
<title>Login</title>
</head>
 
<body>
<form id="form1" name="form1" method="post" action="">
UserName: 
<label>
<input type="text" name="username" id="username" />
</label>
<p>PassWord:
<label>
<input type="text" name="password" id="password" />
</label>
</p>
<p>
<label>
<input type="submit" name="next" id="next" value="Login" />
</label>
</p>
</form>
</body>
</html>
אגב, ערכתי לך את הקידוד (הוא לא עברי, ואתה רוצה להציג טקסט בעברית).

לקריאה נוספת על סשנס, הייתי מציע לך לעיין פה:

http://php.eitan.ac.il/main.php?id=00169
__________________
בברכה, שרף כהן
  Reply With Quote
ישן 08-01-09, 01:02   # 3
Ben147
חבר חדש
 
מיני פרופיל
תאריך הצטרפות: Dec 2008
הודעות: 30

Ben147 לא מחובר  

הוספתי קובץ panel.php
ציטוט:
<?php
session_start();
if ($_SESSION == "1")
{
?>

(TEST TEXT TEXT)


<?php
}
else
{
echo "אתה לא מחובר";
}
?>
ו login.php
ציטוט:
<?php
session_start();
if ($_SESSION['login'] == "1")
{
echo "<meta http-equiv='refresh' content='0;URL=panel.php' />";
}
else
{
echo "<meta http-equiv='refresh' content='0;URL=login.php' />";
}
?>
וברגע שאני מתחבר במקום לרשום לי TEXT TEXT TEXT הוא רושם לי אתה לא מחובר
  Reply With Quote
ישן 08-01-09, 01:13   # 4
SarafC
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Apr 2008
הודעות: 511

SarafC לא מחובר  

panel.php:

PHP קוד:
<?php
session_start
();
if (
$_SESSION['login'] == "1")
{
?>
(TEST TEXT TEXT)

<?php
}
else
{
echo 
"אתה לא מחובר";
}
?>
אתה לא יכול לקרוא לסשן מבלי לאמר את שמה =]

אתה כתבת:

PHP קוד:
if ($_SESSION == "1"
וצריך לכתוב:

PHP קוד:
 if ($_SESSION['login'] == "1"
בקשר לlogin.php, אם אין לי סשן אמדמין זה מרענן בלי הפסקה את העמוד. מה המטרה?
__________________
בברכה, שרף כהן
  Reply With Quote
ישן 08-01-09, 01:17   # 5
Ben147
חבר חדש
 
מיני פרופיל
תאריך הצטרפות: Dec 2008
הודעות: 30

Ben147 לא מחובר  

המטרה של ה login זה ברגע שהפרטים נכונים הוא עושה רענן ועובר לקובץ panel.php
ואם לא הוא עושה רענן וחוזר ל login
  Reply With Quote
ישן 08-01-09, 01:28   # 6
SarafC
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Apr 2008
הודעות: 511

SarafC לא מחובר  

אז מה לגבי עמוד הindex.php?

תן לי להראות לך את מה שאני בניתי (הקוד שלך בצורה יותר נוחה):

index.php - פאנל הניהול

PHP קוד:
<?php
session_start
();
if (
$_SESSION['login'] == "1")
{
?>
(TEST TEXT TEXT)

<?php
}
else
{
echo 
"אתה לא מחובר";
}
?>
login.php - טופס ההתחברות

PHP קוד:
<?php
session_start
();
if (isset(
$_POST['next']))
{
test();
}
function 
test()
{
if (
$_POST['username'] == "Admin" && $_POST['password'] == "1234")
{
$_SESSION['login'] = "1";
echo 
"<meta http-equiv='refresh' content='0;URL=panel.php' />";
}
else
{
echo 
"<center>שגיאה</center>";
}
}

if (
$_SESSION['login'] == 1)
{
 echo 
"<meta http-equiv='refresh' content='0;URL=panel.php' />";
}
else
{
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255" />
<title>Login</title>
</head>
 
<body>
<form id="form1" name="form1" method="post" action="">
UserName: 
<label>
<input type="text" name="username" id="username" />
</label>
<p>PassWord:
<label>
<input type="text" name="password" id="password" />
</label>
</p>
<p>
<label>
<input type="submit" name="next" id="next" value="Login" />
</label>
</p>
</form>
</body>
</html> 
<?php
}
php?>
קרא את הקוד בעיון.

מקווה שהבנת =]
__________________
בברכה, שרף כהן
  Reply With Quote
ישן 08-01-09, 01:30   # 7
Ben147
חבר חדש
 
מיני פרופיל
תאריך הצטרפות: Dec 2008
הודעות: 30

Ben147 לא מחובר  

סידרתי את זה פשוט מחקי את הקובץ login.php הוא לא נחוץ

יש אפשרות לאחר ההתחברות להכין כפתור כאשר לוחצים עליו מתנתקים ולידו את שם המשתמש של המחובר?

Last edited by Ben147; 08-01-09 at 01:40..
  Reply With Quote
ישן 08-01-09, 01:41   # 8
SarafC
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Apr 2008
הודעות: 511

SarafC לא מחובר  

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

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

PHP קוד:
session_unregister('login'); 
ציטוט:
מה עם הקובץ panel.php למה לפי מה שאני רואה בקוד של login.php אתה מפנה ת urls ל panel.php
בקוד של login.php אני בודק אם המשתמש כבר מחובר כאדמין, ואם כן מעביר אותו מייד ללוח הניהול. אם לא, הוא צריך להתחבר שוב.


תראה, אתה שואל פה הרבה שאלות, כשבקריאה פשוטה יכול להבין את כולן.

תעיין באתר הבא: http://php.eitan.ac.il/ ותקרא כמה שיותר (רצוי הכל, זה לא כל כך הרבה).

אני הלכתי לישון.

לילה טוב.

בהצלחה =]
__________________
בברכה, שרף כהן
  Reply With Quote
ישן 08-01-09, 02:06   # 9
Ben147
חבר חדש
 
מיני פרופיל
תאריך הצטרפות: Dec 2008
הודעות: 30

Ben147 לא מחובר  

אוקי הסתדרתי
תודה רבה על העזרה
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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