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

مساعدة في عمل نموذج تسجيل دخول

بدأه Mouhamed Saleem Zayat في 16 سبتمبر 2010 · 4 رد · 1,688 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته:

أقوم ببرمجة جزئية متعلقة ببرنامج لتسجيل الدخول على ملفين منفصلين الأول login.php وهو عبارة عن كود html عادي يحتوي على شكل نموذج تسجيل الدخول بالإضافة إلى نموذج لإرسال البيانات يستخدم

الطريقة post ويتم الإرسال إلى الملف الآخر checklogin.php حيث يقوم بفتح جلسة session خاصة بالمستخدم الذي يريد الدخول ومن ثم يقوم بعملية التأكد من صحة البيانات المرسلة إلخ الموضوع.

على الرغم من ذلك فإن ملف checklogin.php لا يستطيع الوصول إلى بيانات النموذج الممثلة في اسم المستخدم وكلمة المرور ثم يقوم بإعادة مسار البرنامج إلى ملف login.php?frequest.

الرجاء توضيح أين يكمن الخطأ.

ملف login-form.php

<body>
<table width="100%" border="0" align="center">
  <tr>
    <th align="left" bgcolor="#CCCCCC" scope="col"><img src="/Kassarlogy/img/logo/image1.jpeg" width="300" height="100" border="0" align="left" 
    	longdesc="http://www.kassarsoft.com" /></th>
  </tr>
  <tr>
    <td bgcolor="#333"></td>
  </tr>
  <tr >
    <td align="right" bgcolor="#CCCCCC"></td>
  </tr>
</table>
<br /><br /><br />
<form id="loginForm" name="loginForm" method="post" action="checklogin.php">
  <table width="300" border="0" align="center" cellpadding="2" cellspacing="0">
    <tr>
      <td width="112"><b>Login</b></td>
      <td width="188"><input name="login" type="text" class="textfield" id="login" /></td>
    </tr>
    <tr>
      <td><b>Password</b></td>
      <td><input name="password" type="password" class="textfield" id="password" /></td>
    </tr>
    <tr>
      <td> </td>
      <td><input type="submit" name="Submit" value="Login" /></td>
    </tr>
  </table>
</form>
</body>

ملف login-exec.php

<?php
	//Start session

	session_start();

	//Include database connection details
	require_once('../connections/connection.php');

	//Array to store validation errors
	$errmsg_arr = array();

	//Validation error flag
	$errflag = false;

	//Connect to mysql server
	$link = mysql_connect($hostname_TestConnect, $username_TestConnect, $password_TestConnect);
	if(!$link) {
		die('Failed to connect to server: ' . mysql_error());
	}

	//Select database
	$db = mysql_select_db($database_TestConnect);
	if(!$db) {
		die("Unable to select database");
		header("location: loginfailed.php");
	}

	//Function to sanitize values received from the form. Prevents SQL injection
	function clean($str) {
		$str = @trim($str);
		if(get_magic_quotes_gpc()) {
			$str = stripslashes($str);
		}
		return mysql_real_escape_string($str);
	}

	//Sanitize the POST values
	$login = clean($_POST['login']);
	$password = clean($_POST['password']);

	//Input Validations
	if($login == '') {
		$errmsg_arr[] = 'Login ID missing';
		$errflag = true;
	}
	if($password == '') {
		$errmsg_arr[] = 'Password missing';
		$errflag = true;
	}

	//If there are input validations, redirect back to the login form
	if($errflag) {
		$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
		session_write_close();
		header("location: login.php?frequest=Please check your username and password login is($login) password is($password)");//?pass=$password
		exit();
	}

	//Create query
	$qry="SELECT * FROM users WHERE user_name={$login} AND password={$password}";
	$result=mysql_query($qry);

	//Check whether the query was successful or not
	if($result) {
		if(mysql_num_rows($result) == 1) {
			//Login Successful
			session_regenerate_id();
			$member = mysql_fetch_assoc($result);
			$_SESSION['SESS_MEMBER_ID'] = $member['user_id'];
			$_SESSION['SESS_FIRST_NAME'] = $member['user_first_name'];
			$_SESSION['SESS_LAST_NAME'] = $member['user_last_name'];
			session_write_close();
			header("location: cPanel.php");
			exit();
		}else {
			//Login failed
			header("location: loginfailed.php");
			exit();
		}
	}else {
		die("Query failed $qry");
	}
?>

تم تعديل هذه المشاركة بواسطة Mouhamed Saleem Zayat في 16 سبتمبر 2010 في 16:06

#2

ممكن ترفق الملفات

اللهم اهدنا فيمن هديت - اللهم صلى على سيدنا محمد

من أراد الدنيا فعليه بالقرآن ومن أراد الآخرة فعليه بالقرآن ومن أرادهما معاً فعليه بالقرآن

#4

مشكور كل من ساهم في مساعدتي على العموم قمت بإعادة صياغة المشروع من جديد.

#5

اخى الكريم

السلام عليكم

تلاحظ وجود خطأ فى هذه الجملة البرمجية

header("location: login.php?frequest=Please check your username and password login is($login) password is($password)");

حاول صياغتها بالطريقة الصحيحة وان شاء الله ستحل المشكلة

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