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

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



  #2  
ישן 10-02-2006, 22:14
  DrNe0 DrNe0 אינו מחובר  
 
חבר מתאריך: 24.07.05
הודעות: 18
בתגובה להודעה מספר 1 שנכתבה על ידי DrNe0 שמתחילה ב "פתרון לשגיאה בנושא headers"

<?php virtual('/ShayLogs/Connections/shaylogsConn.php'); ?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}


$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}


if (isset($_POST['username'])) {
$loginUsername=$_POST['username'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "level_usr";
$MM_redirectLoginSuccess = "/ShayLogs/admin/index.php";
$MM_redirectLoginFailed = "/ShayLogs/admin/login.php";
$MM_redirecttoReferrer = true;
mysql_select_db($database_shaylogsConn, $shaylogsConn);

$LoginRS__query=sprintf("SELECT username_usr, password_usr, level_usr FROM shaylogs_user_usr WHERE username_usr='%s' AND password_usr='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

$LoginRS = mysql_query($LoginRS__query, $shaylogsConn) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {

$loginStrGroup = mysql_result($LoginRS,0,'level_usr');

//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;


if (isset($_SESSION['PrevUrl']) && true) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
<!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=iso-8859-1" />
<title>Blog: Login</title>
</head>


<body>
<form id="adminlogin" name="adminlogin" method="POST" action="<?php echo $loginFormAction; ?>">
<table width="30%" border="0" cellspacing="0" cellpadding="0">
<caption align="top">
Administrator Only
</caption>
<tr>
<td>Username: </td>
<td><label>
<input name="username" type="text" id="username" />
</label></td>
</tr>
<tr>
<td>Paswword: </td>
<td><label>
<input name="password" type="password" id="password" />
</label></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><label>
<input name="login" type="submit" id="login" value="Log in" />
</label></td>
</tr>
</table>
</form>
</body>
</html>



תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 11-02-2006, 15:52
צלמית המשתמש של tnadav1
  משתמש זכר tnadav1 tnadav1 אינו מחובר  
 
חבר מתאריך: 02.10.05
הודעות: 2,355
שלח הודעה דרך MSN אל tnadav1
בתגובה להודעה מספר 1 שנכתבה על ידי DrNe0 שמתחילה ב "פתרון לשגיאה בנושא headers"

1)
ציטוט:
in C:\wamp\www\ShayLogs\admin\login.php on line 2090200600

פששש... כתבת הרבה...

2)
הבעיה שאתה מציג קוראת בגלל שה- Header נשלח כבר...
מה שקורא זה שהשתמשת בפונקציה virtual, ששולחת בקשה לתוכנת שרת (שים לבת זה יעבוד רק אם תוכנת השרת היא Apache... בגלל שהבקשה היא לשרת, בקריאה לפונקציה שולחת Header וזה לא טוב... אפשר להשתמש ב- ob_start אבל אני ממליץ כמה שפחות להשתמש בפונקציה בגלל שקוד יהיה יותר יעיל בלי הפונקציה והכל זה עניין של תכנון הקוד.
מה שאתה בעצם מנסה זה לדחוף לקובץ קוד (אני כבר מנחש שזה התחברות למסד נתונים) שזה טוב...
אבל אני ממליץ לך להשתמש בפונקציה include...

3)
אתה משתמש גם ב- Post וגם ב- Get... אפילו אם זה עובד, זה לא מומלץ...

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

5)
קוד PHP:
 $LoginRS__query=sprintf("SELECT username_usr, password_usr, level_usr FROM shaylogs_user_usr WHERE username_usr='%s' AND password_usr='%s'",
get_magic_quotes_gpc() ? $loginUsername addslashes($loginUsername), get_magic_quotes_gpc() ? $password addslashes($password)) 

התנאי פה הוא גם בזבוז, כי גם אם תעשה addslashes למחרוזת שכבר עברה את התהליך, לא יקרה כלום...
בנוסף
sprintf הוא גם בזבוז בגלל שאפשר לשרשר משתנים..
דוגמא:
קוד PHP:
 "SELECT 
    `username_usr`, `password_usr`, `level_usr` 
FROM 
    `shaylogs_user_usr` 
WHERE 
    `username_usr`='"
.$loginUsername."' AND password_usr='".$password."'" 

( הוספתי רווחים וכו' בשביל שיהיה לך יותר נוח לקרוא)
אפשר בשרשור גם לשים פונקציות... למשל:
קוד PHP:
 "SELECT 
    `username_usr`, `password_usr`, `level_usr` 
FROM 
    `shaylogs_user_usr` 
WHERE 
    `username_usr`='"
.addslashes($loginUsername)."' AND password_usr='".addslashes($password)."'" 



זהו לעכשיו...
_____________________________________


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

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

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

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

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



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

הדף נוצר ב 0.04 שניות עם 12 שאילתות

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

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