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

نظام log in

مغلق
بدأه mr_ak في 22 سبتمبر 2005 · 12 رد · 880 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اريد ان اعمل صفحة لا يسمح بالدخول اليها الا للأعضاء المسجلين من قبل وموجود بياناتهم فى جدول اسمه user موجود به ال username و password اريد ها عاااااااااااااااااااجل

#2

اسف : المنتدى مش بيقدم خدمة توصيل الأكواد

لكن انت فى موضوعك شرحت حل مشكلتك و ممكن تعمله بسهولة إن شاء الله

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#3

يا جماعة انا عايز حد يساعدنى بالكود لأنى كل ما اعمل واحد ميشتغلش

#4

ورينا الى عملته و احنا حنساعدك إن شاء الله

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#5

config.php

<?php
$username = 'admin';
$password = 'pass';
?>

login.php

<?php
session_start();
if($_SESSION['admin']) exit;
if(isset($_POST['user_pw'])){
        require('config.php'); // require when needed only
        if($_POST['user_pw'] == $password && $_POST['user_un'] == $username){
                $_SESSION['admin'] = true; // the action
                require('done.htm');
                exit;

        }

}
?>
<html dir="rtl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<title>ÊÓÌíá ÏÎæá</title>
<link href="css.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="announce">
<div>ãä ÝÖáß Þã ÈÊÓÌíá ÇáÏÎæá ÇæáÇ</div>
</div>
<form action="login.php" method="post">
<fieldset class="fieldset">
<legend> ÊÓÌíá ÏÎæá </legend>
<table width="460" align="center">
<tr>
<td>
ÇÓã ÇáãÓÊÎÏã
</td>
<td><input type="text" name="user_un" dir="ltr"></td>
</tr>
<tr>
<td>
ßáãÉ ÇáãÑæÑ
</td>
<td><input type="password" name="user_pw" dir="ltr"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="ÇÑÓÜÜÜÜÜÜÜÇá"></td>
</tr>
</table>
</fieldset>
</form>
</body>
</html>
<?php
exit;
?>

اريد ان اعدل ملف ال login.php بدلا ما يقتصر على اسم مستخدم واحد وباسورد واحد اريده ان يتفحص ذلك من قاعدة بيانات حتى يتاح لى اضافة العديد من المستخدمين

#6

اولا اعمل جدول فى قاعدة البيانات اسمه users مثلا و فيه الأعمدة دى

- id

- user

- pass

CREATE TABLE users (
id int unsigned not null auto_increment,
user varchar(25) not null,
pass varchar(50) not null,
PRIMARY KEY(id)
)

دلوقتى عندك الجدول الى فيه بيانات دخول كل عضو

______________

دة جزء التأكد من بيانات العضو او الشخص الى عايز يسجل دخول

بس انت عليك طبعا بقية التعديلات والتحسين فيه

$con = mysql_pconnect('localhost','root','');
mysql_select_db('database_name') or die('failed to connect');

$sql = 'SELECT * FROM users
        WHERE user=\''.$_POST['user_un'].'\' AND pass=\''.$_POST['user_pw'];

$result = mysql_query($sql);

 if (mysql_num_rows($result))
    {
            //user is loged in

    }
 else
   (
      //wrong username or password

   }

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#7

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

#8

استبدل الكود التالي بكود الأخ shreef وتأكد من مطابقة المتغيرات واسماء الحقول وقاعدة البيانات والجداول لما في برنامجك

<?php
session_start();
if($_SESSION['admin']) exit;
if(isset($_POST['user_pw'])){
       require('config.php'); // require when needed only
       if($_POST['user_pw'] == $password && $_POST['user_un'] == $username){
               $_SESSION['admin'] = true; // the action
               require('done.htm');
               exit;

       }

}
?>

تم تعديل هذه المشاركة بواسطة Hazeim في 23 سبتمبر 2005 في 08:28

#9

اخى الغالى هناك مشكلتين تواجهنى الاولى ان كود الاخ شريف واضع به الاتصال بقاعدة البيانات فى الكود وانا اريده ان يكون فى ملف config.php كيف اعملها ؟؟

ثانيا الكود به مشكلة عندما استبدله كيف ما قلتلى ما يشتغل ويطلع لى مكتوب فى صفحة ال login لما بفتحها بالمتصفحة وعندما اضع الكود بين

<?php

?>

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

وشكرا جزيلاً

#10

يا أخي الكريم إذا كنت تريد الاتصال بقاعدة البيانات من ملف config.php فبسيطة ضع أوال سطرين من الكود في نهاية هذا الملف, أما مشكلة { فيمكن أن تنتج عن نسان أحد الأقواس أو العلامة ; في أحد الأسطر رجاء راجع الكود بدقة واستخدام محرر جيد يتيح لك معرفة قوس الإغلاق للقوس المفتوح أو يدرج الأقواس بنفسه. وحاول يا أخي التجربة بنفسك الأمر بسيط وأنت قمت به بالفعل وإذا كنت على غير دراية بـmysql أو غير واثق من معلوماتك فيها فراجع أحد المراجع لعلك تستغيد منها , بالتوفيق

#11

اخى الكريم هذا هو ملف login.php

اقتباس
<?php

$con = mysql_pconnect('localhost','computec_a','a');

mysql_select_db('computec_des4soft') or die('failed to connect');

$sql = 'SELECT * FROM users

      WHERE user=\'username'.$_POST['user_un'].'\' AND pass=\'password'.$_POST['user_pw'];

$result = mysql_query($sql);

if (mysql_num_rows($result))

  {

          //user is loged in

  }

else

  {

    //wrong username or password

}

?>

<html dir="rtl">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">

<title>ÊÓÌíá ÏÎæá</title>

<link href="css.css" rel="stylesheet" type="text/css">

</head>

<body>

<div class="announce">

<div>ãä ÝÖáß Þã ÈÊÓÌíá ÇáÏÎæá ÇæáÇ</div>

</div>

<form action="login.php" method="post">

<fieldset class="fieldset">

<legend> ÊÓÌíá ÏÎæá </legend>

<table width="460" align="center">

<tr>

<td>

ÇÓã ÇáãÓÊÎÏã

</td>

<td><input type="text" name="user_un" dir="ltr"></td>

</tr>

<tr>

<td>

ßáãÉ ÇáãÑæÑ

</td>

<td><input type="password" name="user_pw" dir="ltr"></td>

</tr>

<tr>

<td colspan="2" align="center"><input type="submit" value="ÇÑÓÜÜÜÜÜÜÜÇá"></td>

</tr>

</table>

</fieldset>

</form>

</body>

</html>

<?php

exit;

?>

بيعطينى هذا الخطأ

اقتباس
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/computec/public_html/des4soft/bad_user/login.php on line 10

ايش الخطأ وأيش الحل معلش بتعبكم معاى بس ارجو المساعدة وتقولولى ايش الخطأ

واى كود اضعه فى ملف ال config وايش اضعه بدلا منه فى ملف ال login وشكرا على المساعدة

#12

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

بس الأحسن تعمل التالى :

حط الكود دة فى ملف مثلا و سميه check.php وغير الـ action فى ملف login.php

و بعد كدة اطلب ملف login.php و شوف الناتج

<?php

$con = mysql_pconnect('localhost','root','');
mysql_select_db('database_name') or die('failed to connect');

if (!isset($_POST['user_un']) || !isset($_POST['user_pw']))
   {
     print 'you forgot to add somthing dear ..';
     exit();
   }


$sql = 'SELECT * FROM users
        WHERE user=\''.$_POST['user_un'].'\'
        AND pass=\''.$_POST['user_pw'];

$result = mysql_query($sql);

if (mysql_num_rows($result))
   {
           //user is loged in
           print 'hollay , you are logged in sweety';

   }
else
  (
          //wrong username or password
          print 'sorry, wrong password or username';

  }

?>

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

بص للملف كدة من الأول و ركز معاه هو بيعمل ايه خطوة خطوة وحس بيه وحتفهم الى بيحصل إن شاء الله :)

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#13

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

هذا الموضوع مغلق.

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