الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في كود صفحة Login ؟ أرجو المساعدة ...

بدأه Bavarian85 في 22 ديسمبر 2013 · 20 رد · 3,043 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السادة المشرفين 

الزملاء الأكارم

تحية طيبة ....

 

حدثت لدي مشكلة غير متوقعة عند رفع سكربت علامات الطلاب وهي كالتالي :

على السيرفر المحلي Localhost : كل الملفات والسكربت يعمل بشكل ممتاز.

المشكلة حدثت عند رفع السكربت على استضافة مدفوعة حدث التالي :

- عند إدخال اسم المستخدم وكلمة المرور لا يتم التحويل إلى الصفحة المطلوبة ..

 

أرفق لكم كود ملف الـ Login  :

<?php

	session_start();
	//==================================================
	// استدعاء بيانات ملف اعداد الاتصال بقاعدة البيانات
	include("admin/config.php");
	//==================================================
	// استدعاء ملف البيانات العامه
	include("admin/setting.php");
	include("Check.php");
	echo $stylescript;
	echo $stylebody;
	//==================================================
	// اسم الصفحه
	$titlepage = "$schoolsname - صفحة الدخول";
	//==================================================
	if ($action == 'trylogin')
	{
		if(($user_name_insert == "") OR ($user_password_insert == ""))
		{
			$result = mysql_query("SELECT template_content FROM school_template where template_name = '".ErrorInsertUserNameAndPassword."'");
			$result_info = mysql_fetch_array($result);		
			$ErrorInsertUserNameAndPassword = $result_info["template_content"];
			$ErrorInsertUserNameAndPassword = str_replace("\"","'",$ErrorInsertUserNameAndPassword);
			eval("\$ErrorInsertUserNameAndPassword = \"$ErrorInsertUserNameAndPassword\";");	
			echo $ErrorInsertUserNameAndPassword;
			exit;
		}
		
		$result = mysql_query("SELECT * FROM school_user where user_name = '$user_name_insert'");
		$result_num = mysql_num_rows($result);
		
		if ($result_num == 0)
		{
			// طباعة رساله خطأ بعدم صحة الاسم المدخل
			$result = mysql_query("SELECT template_content FROM school_template where template_name = '".ErrorWrongUserNameInsert."'");
			$result_info = mysql_fetch_array($result);		
			$ErrorWrongUserNameInsert = $result_info["template_content"];
			$ErrorWrongUserNameInsert = str_replace("\"","'",$ErrorWrongUserNameInsert);
			eval("\$ErrorWrongUserNameInsert = \"$ErrorWrongUserNameInsert\";");	
			echo $ErrorWrongUserNameInsert;
			exit;
		}
		else
		{
			$result_info = mysql_fetch_array($result);
			$user_password = $result_info['user_password'];
			$user_password2 = $result_info['user_password2'];
			$user_group_id = $result_info['user_group_id'];
			$user_user_id = $result_info['user_user_id'];
		
				
			// التاكد من صحة الرقم السري المدخل
			if(($user_password_insert <> $user_password)
			 and
			 ($user_password_insert <> $user_password2))
			{
				$result = mysql_query("SELECT template_content FROM school_template where template_name = '".ErrorWrongUserPasswordInsert."'");
				$result_info = mysql_fetch_array($result);		
				$ErrorWrongUserPasswordInsert = $result_info["template_content"];
				$ErrorWrongUserPasswordInsert = str_replace("\"","'",$ErrorWrongUserPasswordInsert);
				eval("\$ErrorWrongUserPasswordInsert = \"$ErrorWrongUserPasswordInsert\";");	
				echo $ErrorWrongUserPasswordInsert;
				exit;
			}
			else
			{
				$new_value_lasttime = time();
				// اذا كان الرقم السري يخص المدير
				if($user_group_id == 1)
				{
					// استخراج بيانات المدير 
					$result = mysql_query("SELECT * FROM school_employee where employee_id = $user_user_id");
					$result_info = mysql_fetch_array($result);
					$user_full_name = $result_info['employee_full_name'];
					$user_login_lasttime = $result_info['employee_login_lasttime'];
					// استدعاء صيغة وقت اخر زياره النصيه
					include("user_login_lasttime_text.php");
					$date_to_convert = $user_login_lasttime;
					$sho_time=1;
					//include("hejri.php");
					$user_login_lasttime = $date_result;
					// عمل تحديث لوقت اخر زياره للمدير	
					$result = mysql_query("UPDATE school_employee SET employee_login_lasttime = '$new_value_lasttime',employee_count_login = employee_count_login+1 WHERE employee_id = $user_user_id");
				}
				// اذا كان الرقم السري يخص المدرسين
				if($user_group_id == 3)
				{
					$result = mysql_query("SELECT * FROM school_employee where employee_id = $user_user_id");
					$result_info = mysql_fetch_array($result);
					$user_full_name = $result_info['employee_full_name'];
					$user_login_lasttime = $result_info['employee_login_lasttime'];
					// استدعاء صيغة وقت اخر زياره النصيه
					include("user_login_lasttime_text.php");
					$date_to_convert = $user_login_lasttime;
					$sho_time=1;
					//include("hejri.php");
					$user_login_lasttime = $date_result;
					// عمل تحديث لوقت اخر زياره للمدرس	
					$result = mysql_query("UPDATE school_employee SET employee_login_lasttime = '$new_value_lasttime',employee_count_login = employee_count_login+1 WHERE employee_id = $user_user_id");
				}
				// اذا كان الرقم السري يخص الطالب او ولي امره
				if($user_group_id == 4)
				{
					if($HTTP_SESSION_VARS['S_pas_login'] == 1){$welcomepas ="ولي امر : ";}
					// استخراج بيانات الطالب
					$result = mysql_query("SELECT * FROM school_student where student_id = $user_user_id");
					$result_info = mysql_fetch_array($result);
					$user_full_name = $welcomepas.''.$result_info['student_full_name'];
					$user_login_lasttime = $result_info['student_login_lasttime'];
					// استدعاء صيغة وقت اخر زياره النصيه
					include("user_login_lasttime_text.php");
					$date_to_convert = $user_login_lasttime;
					$sho_time=1;
					//include("hejri.php");
					$user_login_lasttime = $date_result;
					// معرفه من قام بالدخول .. الطالب او ولي امره
					if($user_password_insert == $user_password2)
					{
						
						$S_pas_login = 1;
						$S_student_login = 0;
						session_register("S_pas_login");
						session_register("S_student_login");
						// عمل تحديث لوقت اخر زياره لولي امر الطالب	
						$result = mysql_query("UPDATE school_student SET student_login_pas_lasttime = '$new_value_lasttime',student_pas_login_count = student_pas_login_count+1 WHERE student_id = $user_user_id");
					}
					elseif($user_password_insert == $user_password)
					{
						
						$S_pas_login = 0;
						$S_student_login = 1;
						session_register("S_pas_login");
						session_register("S_student_login");
						// عمل تحديث لوقت اخر زياره للطالب
						$result = mysql_query("UPDATE school_student SET student_login_lasttime = '$new_value_lasttime',student_login_count = student_login_count+1 WHERE student_id = $user_user_id");
					}
				}
						
				
				$S_user_user_id = $user_user_id;
				session_register("S_user_user_id");
				$S_user_group_id = $user_group_id;
				session_register("S_user_group_id");
				$S_user_full_name = $user_full_name;
				session_register("S_user_full_name");
				$S_user_login_lasttime = $user_login_lasttime;
				session_register("S_user_login_lasttime");
				$S_user_login_lasttime_text = $user_login_lasttime_text;
				session_register("S_user_login_lasttime_text");
				
				echo "<p dir='rtl'>تم قبول بياناتك ... فضلا انتظر ثواني للدخول الى الموقع</p>";
				exit("<META HTTP-EQUIV='refresh' CONTENT='2 URL=index.php'>");
			}
		}
	}		
	//==================================================
	
	
	
	//################################################## 
	// طباعة صفحة الدخول للموقع 
	$result = mysql_query("SELECT template_content FROM school_template where template_name = '".login."'");
	$result_info = mysql_fetch_array($result);		
	$login = $result_info["template_content"];
	$login = str_replace("\"","'",$login);
	eval("\$login = \"$login\";");	
	echo $login;
	//################################################## 
?>

أرجو المساعدة ولكم جزيل الشكر والتقدير ...

−1
#2

يا جماعة الخير ...

 

أكثر من 50 مشاهدة ولا يوجد رد حتى الآن ..

 

:(

#3

هل يعقل أنه لا يوجد أحد قادر على المساعدة ..

أرجوكم أخوتي أنا بأمس الحاجة لمساعدتكم...

#4

انت تواجه مشكلة الوجيه ,

وكود التوجيه صحيح اخي الفاضل ،

echo "<p dir='rtl'>تم قبول بياناتك ... فضلا انتظر ثواني للدخول الى الموقع</p>";
                exit("<META HTTP-EQUIV='refresh' CONTENT='2 URL=index.php'>");

لذلك تقنيا مشاكل الدخول يجب التأكد اولا من صحة الاتصال بقاعدة البيانات ,

على الاقل يجب ان تتلقى رسالة تفيدك بقبول بياناتك

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#5

أخي العزيز ...

شكراً جزيلاً على الرد .

 

أرفق لك كود ملف الاتصال بقاعدة البيانات ..

<?php
	// ==================================================//
	//
	//
	//
	// ==================================================//
	// -----------------------------------
	// نوع قاعدة البيانات .. فقط مايسكل هوالمدعوم حاليا
	// database's type (only mysql is supported at the moment)
	$dbservertype='mysql';
	// -----------------------------------
	// اسم مضيف او رقم اي بي السيرفر
	// server's hostname or ip
	$servername='localhost';
	// -----------------------------------
	// الاسم والباسوورد للدخول الى مضيف قاعدة البيانات
	// username and password to log onto db server
	$dbusername='';
	$dbpassword='';
	// -----------------------------------
	// اسم قاعدة البيانات
	// database's name 
	$dbname='MySchool';
	// -----------------------------------
	// بريد المدير الادمن
	// admin's email
	$technicalemail='';
	// -----------------------------------
	// الدخول الى خادم قاعدة البيانات
	// log onto db server
	$db = mysql_pconnect($servername,$dbusername,$dbpassword) 
			 or 
		 die("لايمكن الاتصال بخادم قاعدة البيانات"); 
			// -----------------------------------
	// الدخول الى قاعدة بيانات المخصصه للمنتدى
	// selected board's database
	mysql_select_db($dbname)
	or 
	die("لايمكن تحديد قاعدة بيانات المنتدى");
	// -----------------------------------
?>

أرجو الإطلاع والمساعدة

#6

أستاذي العزيز هل لهذه المعلومات علاقة بالمشكلة :

 

هذه  معلومات سيرفر الاستضافة:

Apache version: 2.2.15

PHP version: 5.3.24

MySQL version: 5.6.13

Operating System Linux Kernel Version 3.2.40

Architecture i686 Theme x3

 

هذه معلومات السيرفر المحلي على حاسوبي :   The AppServ Open Project - 2.5.10 for Windows

تم تعديل هذه المشاركة بواسطة Bavarian85 في 25 ديسمبر 2013 في 12:37

#7
// الاسم والباسوورد للدخول الى مضيف قاعدة البيانات
    // username and password to log onto db server
    $dbusername='';
    $dbpassword='';

هل انت متأكد انك تضع اليوزرنيم والباسوورد بشكل صحيح , اذا نعم , ما هي الرسالة التي تظهر لك عند تسجيل الدخول للنظام , ادا لم تشاهد رسالة , استعرض مصدر ( عرض الصفحة ) و شاهد الخطأ , اخبرنا عنه

1

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#8

نعم أستاذ حمدان .. أنا أضع كل شيء بشكل صحيح 

المشكلة أنه لا توجد رسالة خطأ أبداً ولا يتم التحويل أبداً

عند الضغط على زر الدخول يقوم بمسح البيانات المدخلة في اسم المستخدم وكلمة المرور فقط 

وهذا كود الصفحة كما طلبت :

    
	<style type='text/css'>
		BODY 
		{
			SCROLLBAR-BASE-COLOR: #C0C0C0;
			SCROLLBAR-ARROW-COLOR: #C0C0C0;
			font-family: Tahoma; 
			font-size: 10pt;
		}
		// الوصله -->
		A 
		{
			text-decoration: none;
			font-family: Tahoma; 
		}
	</style>
				   
	<BODY bgColor='#C0C0C0' text='black' vLink='black' aLink='black' link='black'>
	<html dir='rtl'>

<head>
<meta name='GENERATOR' content='Microsoft FrontPage 5.0'>
<meta name='ProgId' content='FrontPage.Editor.Document'>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1256'>
<TITLE>مـعـهد الـمـعـلا الـتـخـصـصـي - صفحة الدخول</TITLE>
</head>
<br><br>
<form method='POST' action='login.php?action=trylogin'>
<table dir='ltr' align='center' border='2' cellpadding='1.5' cellspacing='1.5' style='border-collapse: collapse' bordercolor='white' width='50%' id='AutoNumber1'>
  
  <tr>
    <td width='50%' align='right'>
    	<p><font face='Tahoma'>   Username    </font></p>
    </td>
    <td width='50%'>
     	<p><input type='text' name='user_name_insert' size='20'></p>
      </td>
  </tr>
  
  <tr>
    <td width='50%' align='right'>
    	<p><font face='Tahoma'>  Password  </font></p>
    </td>
    <td width='50%'><font face='Tahoma'>
    	<p><input type='password' name='user_password_insert' size='20'></p>
    </td>
  </tr>
  
  <tr>
    <td width='100%' colspan='2'>
    	<p align='center'><br>	<input type='submit' value='       Login         ' name='B1' style='font-family: Tahoma'>
    </td>
  </tr>
  
</table>
</form>
<br><br>
#9

نعم أستاذ حمدان .. أنا أضع كل شيء بشكل صحيح 

المشكلة أنه لا توجد رسالة خطأ أبداً ولا يتم التحويل أبداً

عند الضغط على زر الدخول يقوم بمسح البيانات المدخلة في اسم المستخدم وكلمة المرور فقط 

وهذا كود الصفحة كما طلبت :

    
	<style type='text/css'>
		BODY 
		{
			SCROLLBAR-BASE-COLOR: #C0C0C0;
			SCROLLBAR-ARROW-COLOR: #C0C0C0;
			font-family: Tahoma; 
			font-size: 10pt;
		}
		// الوصله -->
		A 
		{
			text-decoration: none;
			font-family: Tahoma; 
		}
	</style>
				   
	<BODY bgColor='#C0C0C0' text='black' vLink='black' aLink='black' link='black'>
	<html dir='rtl'>

<head>
<meta name='GENERATOR' content='Microsoft FrontPage 5.0'>
<meta name='ProgId' content='FrontPage.Editor.Document'>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1256'>
<TITLE>مـعـهد الـمـعـلا الـتـخـصـصـي - صفحة الدخول</TITLE>
</head>
<br><br>
<form method='POST' action='login.php?action=trylogin'>
<table dir='ltr' align='center' border='2' cellpadding='1.5' cellspacing='1.5' style='border-collapse: collapse' bordercolor='white' width='50%' id='AutoNumber1'>
  
  <tr>
    <td width='50%' align='right'>
    	<p><font face='Tahoma'>   Username    </font></p>
    </td>
    <td width='50%'>
     	<p><input type='text' name='user_name_insert' size='20'></p>
      </td>
  </tr>
  
  <tr>
    <td width='50%' align='right'>
    	<p><font face='Tahoma'>  Password  </font></p>
    </td>
    <td width='50%'><font face='Tahoma'>
    	<p><input type='password' name='user_password_insert' size='20'></p>
    </td>
  </tr>
  
  <tr>
    <td width='100%' colspan='2'>
    	<p align='center'><br>	<input type='submit' value='       Login         ' name='B1' style='font-family: Tahoma'>
    </td>
  </tr>
  
</table>
</form>
<br><br>
#10

نريد التأكد ان البيانات وصلت لمرحلة التحقق فعلا ً
فوق الاسطر التالية :

echo "<p dir='rtl'>تم قبول بياناتك ... فضلا انتظر ثواني للدخول الى الموقع</p>";
                exit("<META HTTP-EQUIV='refresh' CONTENT='2 URL=index.php'>");

ضع التالي

die("WE ARE HERE");

بمجرد الدخول , اذا تم عرض الرسالة WE ARE HERE ستكون خطوة جيدة , والا سنحاول ان نعرف اين يقف الكود بالتحديد , بنفس الطريقة , مبدئيا دعنا نحاول خطوة بخطوة,
فعليا مشكلة كهذه ستكون بسيطة جدا , ولكننا سنتعلم معاً طريقة من طرق الـ Debugging

1

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#11

أخي العزيز ..

 

لاجديد يذكر , قمت بوضع الكود ولكن للأسف لم يظهر شيء نهائياً.

 

يبدو أن المشكلة قبل هذا السطر .

#12

جرب ضع السطر نفسه قبل كل سطر حتى تكتشف اين يقف الكود عندها سنحاول حل المشكلة

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#13

اخي العزيز الكود يقف عند هذا السطر :

if ($action == 'trylogin')
#14

إذا قبل السطر المشار اليه ,

ممكن تغير die الى

die("Action value:" . $action );

المفترض يطبع Action value: trylogin

تم تعديل هذه المشاركة بواسطة Hamdan Taima في 29 ديسمبر 2013 في 02:51

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#15

صديقي العزيز ..

 

قمت بكتابة هذا السطر قبل سطر : if ($action == 'trylogin')

 

تم طباعة  : Action value  فقط لاغير

 

قمت بكتابة هذا السطر بعد if ($action == 'trylogin')

 

 تم طباعة  : لم تقم بإدخال بيانات المعرف أو/و الرقم السري

#16

المشكلة بإذن الله بسيطة لكن دعنا نتأكد من التالي جرب وضع هذا الكود

if ($action == 'trylogin')
	{
		die("action: $action  , Name: $user_name_insert  , Pass: $user_password_insert ");

قم بتسجيل الدخول بشكل عادي , جرب مرة اخرى ايضا ً ,
من المفترض ان يتم طباعة اسم الدخول وكلمة المرور و trylogin  بشكل عادي , ادا لا يتم طباعتهم ستبدوا الامور اسهل

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#17

صديقي العزيز ..

 

لم تتم طباعة أي شيء على الشاشة حتى حقول اسم المستخدم وكلمة المرور لمم يتم عرضها فقط شاشة بيضاء فارغة .

#18

صديقي حمدان ..

أعتذر عن هذا الخطأ تم عرض صناديق الإدخال ولكن نفس المشكلة لا يتم طباعة أي شيء مما سبق.

#19

جرب التالي ونشوف النتيجة ان شاء الله

die($_POST['user_name_insert'];

المفترض يطبع اسم الدخول الي قمت بادخاله فقط

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#20

صديقي العزيز .. شكراً لجهودك

 

ولكن للأسف لم أحصل على شيء فقط صفحة بيضاء فارغة 

#21

كما قلنا قبل الحل بسيط وهو كالتالي :

if ($_GET[action] == 'trylogin')
    {
        $user_name_insert=$_POST[user_name_insert];
        $user_password_insert=$_POST[user_password_insert];

مع ملاحظة وجود مشكلة في ترميز الصفحة @

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

مواضيع مشابهة