• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

اساتید php یکی هست بدونه درد این کد چیه

hossein_asp

کاربر تازه وارد
تاریخ عضویت
31 مارس 2005
نوشته‌ها
639
لایک‌ها
0
سن
41
محل سکونت
جایی که خدا نباشد
اساتید php کد زیر لوگین به سایته که دریم ویور تولید می کنه قاعدتا باید با نام کاربری یه سشن ایجاد کنه به نام MM_Username من با asp خیلی راحت با اون جدولم رو فیلتر می کردم اما با php اصلا انگار نه انگار
سشنی وجود داره هی ارور میده اعصابمو خرد کرده یکی هست به داد من برسه بگه درد اون چیه.​
<?php require_once('Connections/mydb.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['textfield'])) {
$loginUsername=$_POST['textfield'];
$password=$_POST['textfield2'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "index.php";
$MM_redirectLoginFailed = "untitled.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_mydb, $mydb);

$LoginRS__query=sprintf("SELECT id, login FROM flashchat_users WHERE id='%s' AND login='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

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

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

if (isset($_SESSION['PrevUrl']) && false) {
$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>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction; ?>">
<label>
<input type="text" name="textfield" />
</label>
<label>
<input type="text" name="textfield2" />
</label>
<label>
<input type="submit" name="Submit" value="Submit" />
</label>
</form>
</body>
</html>​
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,289
لایک‌ها
34
محل سکونت
mt.cgi
کدهارو درست بزار.
PHP:
<?php require_once('Connections/mydb.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['textfield'])) {
$loginUsername=$_POST['textfield'];
$password=$_POST['textfield2'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "index.php";
$MM_redirectLoginFailed = "untitled.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_mydb, $mydb);

$LoginRS__query=sprintf("SELECT id, login FROM flashchat_users WHERE id='%s' AND login='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); 

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

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

if (isset($_SESSION['PrevUrl']) && false) {
$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>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction; ?>">
<label>
<input type="text" name="textfield" />
</label>
<label>
<input type="text" name="textfield2" />
</label>
<label>
<input type="submit" name="Submit" value="Submit" />
</label>
</form>
</body>
</html>
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
47
اولاً باید خطا رو هم مینوشتی تا بشه فهمید دردش چیه.
دوماً احتمالاً فایلی که include کردی خروجی تولید میکنه. (اغلب خطاهای session به این دلیله)
سوماً کدهای تولید شده معمولاً کیفیتشون پایین هست

اينو امتحان كن ببين درست ميشه؟

PHP:
<?php
if (!isset($_SESSION)) {
session_start();
}

require_once('Connections/mydb.php');

$loginF ...
 

hossein_asp

کاربر تازه وارد
تاریخ عضویت
31 مارس 2005
نوشته‌ها
639
لایک‌ها
0
سن
41
محل سکونت
جایی که خدا نباشد
امتحان کردم نشد اینم ارورش:Notice: Undefined variable: _SESSION in E:\nnn\index.php on line 53
اینم خط 53
PHP:
<?php echo $_SESSION['MM_Username']; ?>
آخه تو این دنیا فقط منم که از کد های آماده دریم ویور استفاده می کنم.کدهای ASP اون خیلی خوبه PHP اون این وضع رو داره aSP.NET ش هم افتضاحه.
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
47
احتمالاً تو داری تو localhost برنامتو تست میکنی مشکل به احتمال زیاد اینه که تو php.ini آدرسی که برای ذخیره session ها تنظیم شده اشتباه هست. مثلاً زدی پاکش کردی. این خط رو تو php.ini چک کن ببین حل میشه یا نه؟

کد:
session.save_path = /tmp

باید آدرس درست باشه.
 

hossein_asp

کاربر تازه وارد
تاریخ عضویت
31 مارس 2005
نوشته‌ها
639
لایک‌ها
0
سن
41
محل سکونت
جایی که خدا نباشد
من php رو روی iis نصب کردم فکر کنم مشکل از نصب php هست که با سشن ها مشکل داره.
php من ورژنش 4.4 هست که با installer نصب میشه آخر نصب یه چیزایی میگه راجع به
کابرای ویندوز nt ولی من نوفهمم.لطفا زامپ و وامپ و ... رو به من پیشنهاد نکنید که همه رو آزمایش کردم همه با سشن ها مشکل داشتن.
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
47
این دیگه مشکل خودته. من همه کدهایم رو با xampp مینویسم و مشکلی ندارم. خنده دار هست که تو localhost با IIS کار میکنی و میخوای کدتو بفرستی رو سروری که Apache هست. البته این نظر منه.
 

hossein_asp

کاربر تازه وارد
تاریخ عضویت
31 مارس 2005
نوشته‌ها
639
لایک‌ها
0
سن
41
محل سکونت
جایی که خدا نباشد
کسی کاری رو که تو گفتی نمی کنه فقط از iis استفاده می کنم.سشن هام تو پوشه sessiondata وجود داره
ولی تو اینترنت اکسپلورر جواب نمیده.
 
بالا