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

ممكن احد يطلع على كودي الخاص بالتسجيل يشوف شو المشكلة بليز

بدأه stest في 10 أبريل 2011 · 2 رد · 585 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا جميعا

انا عملت كود للتسجيل في موقع

لكن المشكلة اني لما ادخل اليوزر والبااسوورد يحولني مره ثانية على صفحة الهوم للتسجيل مره اخرى

بمعنى انه البيانات لما ادخلها بالفورم واعمل سبميت ينفذ دالة الشرط اذا كان الفورم فارغ

مع اني ادخل البيانات فلا اعلم مالمشكلة


<form id="loginForm" name="loginForm" action="login-exec.php" method="post" onsubmit= "return validate_form(this)">
<tr><td>username:<input name="login" type="text" size= "15" maxlength="30" id="login"/></td></tr>
<tr><td>password:<input type="password" size ="15" maxlength="30" id="password" />
<input name="submit" type="submit" value="Login"><input name="clear" type="reset" value="clear"/></td></tr></form>
<tr><td><a href="register-form.php"> sinUp</a></table>


//Start session
session_start();

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

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

//Validation error flag
$errflag = false;

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

//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}

//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) { 0
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: index.php");
exit();
}

//Create query
$qry="SELECT * FROM user WHERE UserName='$login' AND PassWard='".md5($_POST['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['member_id'];
$_SESSION['SESS_FIRST_NAME'] = $member['firstname'];
$_SESSION['SESS_LAST_NAME'] = $member['lastname'];
session_write_close();
header("location: index-1.php");
exit();
}else {
//Login failed
header("location: login-failed.php");
exit();
}
}else {
die("Query failed");
}
?>
<?php

تم تعديل هذه المشاركة بواسطة stest في 10 أبريل 2011 في 23:04

#2

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

أخي أنت لم تضع اسم للحقل الخاص بكلمة المرور مما يجعل المتغير $_POST[password] غير معرف وبالتالي قيمة errflag هي true دوماً

<input type="password" size ="15" maxlength="30" id="password" />

ينقصها name attribute

<input type="password" size ="15" maxlength="30" name="password" id="password" />

بتوفيق الله...

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 10 أبريل 2011 في 23:57

Everything will be fine when we TALK LESS, DO MORE


#3

MoHaMMaD Pro

ياالهي خطأ جدااا شنيع مني

ومحرج

شكرا لك وبووركت استااذنا

الله يجزاك خير

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…