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

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

بدأه rixlinux في 12 ديسمبر 2008 · 9 رد · 737 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

بالبدآية كل عام وانتم بخير ،، عيد سعيد تن شاء الله ..

سؤالي هو :

انا الان اعمل سكربت من باب تقوية وزيادة معرفتي بللغة php ،، واجهتني مشكلة بإستدعاء معلومات من قاعدة البيانات ..

مثال :

  1. <?php
  2. if($_SESSION['admin']) exit;
  3. if(isset($_POST['user_pw'])){
  4. require('config.php');
  5. if($_POST['user_pw'] == $password && $_POST['user_un'] == $username){
  6. $_SESSION['admin'] = true;
  7. require('done.html');
  8.  
  9. }
  10.  
  11. }
  12. ?>
  13.  

كما هو واضح ملف login للتأكد من اسم المستخدم وكلمة المرور ،، اذا تم تسجيلها يدخل للصفحة

علما انه يتصل بملف الكونفج ،، مثال للكونفج :

  1. <?php
  2. $username="admin";
  3. $password="pass";
  4. ?>
  5.  

المطلوب : اريد من السكربت التأكد من اسم مستخدم وكلمة مرور موجودة بقاعده البيانات ،، علما انني مجهز الجداول والقاعده ،، وليس من ملف موجود على المساحة

ارجوا ان كلامي واضح ،، وجزاكم الله خير

#2

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

تفضل أخي:

  1. <?php
  2. //------Database info------//
  3. $host = ""; //Database Host
  4. $root = ""; //Database user
  5. $pass = ""; //Database Password
  6. $db = ""; //Database Name
  7. //------Database info------//
  8.  
  9. [b]
  10. //------Database Connect------//
  11. $connect = mysql_connect($host,$root,$pass);
  12. $database = mysql_select_db($db);
  13. //------Database Connect------//
  14.  
  15. ?>
  16.  

ضع هذا الكود في ملف الكونفغ للإتصال بقاعدة البيانات

والآن سأقدم لك كود التأكد من إسم العضو:

#3
  1.  
  2. <?php
  3. if($_SESSION['admin']) exit;
  4. if(isset($_POST['user_pw'])){
  5. require('config.php');
  6. $sql = mysql_query("SELECT * FROM MEMBERS WHERE username='$_POST[user_un]' AND password='$_POST[user_
    pw]'");
  7. if(mysql_num_rows($sql) >0)
  8. {
  9. $_SESSION['admin'] = true;
  10. require('done.html');
  11. }
  12. }
  13. ?>
  14.  

إستبدل كلمة MEMBERS بإسم الجدول الذي يحتوي على بيانات الأعضاء و إستبدل username بإسم العمود الذي يحتوي على إسم المستخدم و إستبدل password بإسم العمود الذي يحتوي على كلمة المرور

#4

والآن أخي سأشرح لك الكود الذي كتبته أعلاه:

لقد قمنا بوضع أمر يعرض البيانات :

$sql = mysql_query("select * from members where username='$_POST[user_un]' and password='$_POST[uset_pw]'");

هذه اليانات مرتبطة بالبيانات تاتي أدخلها المستخدم لهذا إستخدمنا الدالة

mysql_num_rows($sql);

وكما هو معروف فإن هذه الدالة تعود بعدد النتائج المحصل عليها بواسطة الأمر الذي أدخلناه

بحيث إذا كان إسم المستخدم و كلمة المرورالذي أدخلهما الزائر موجودين في قاعدة البيانات فإن عدد النتائج المحصل عليها سيكون أكبر من "0"

وبالتالي سينفذ هذا الأمر الموجزد داخل الدالة الشرطية if.

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

تم و الحمد لله

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

بالتوفيق لك أخي.

#5

بالعكس اخوي شرحك واضح وجيد ،، لكن المشكله اني لما اوصلت لك الفكره جيدا

سأشرح الفكره بشكل اوسع

عملت قاعدة بيانات وضفت لها الجداول

ili552f6f392d9.gif

اسم الجدول : user ،، وبداخلة user_name و paswd

user_name : لاسم المستخدم

paswd : لكلمة المرور

ili52f305a3255.gif

الان نأتي للسكربت ،، يتكون من 3 ملفات

ili58a5bb08a1e.gif

الاول : index ،، هذا الملف فيه فورم لتسجيل الدخول وهو كالتالي :

  1. <body>
  2. <form action="login.php" method="post">
  3. <input type="text" name="user_name" /><br/>
  4. <input type="password" name="paswd" /><br/>
  5. <input type="submit" value="Enter" />
  6. </form>
  7. </body>
  8.  
  9.  

ili54aa78c906f.gif

الثاني : login.php ،، للتحقق من كلمة المرور والاسم من قاعدة البيانات .. وهو كالتالي :

  1. <?php
  2. include("config.php");
  3.  
  4. mysql_connect("$host", "$username", "$password")or die("Database Error");
  5. mysql_select_db("$db_name")or die("Database Error");
  6.  
  7. $user=$_POST['user_name'];
  8. $pass=$_POST['paswd'];
  9.  
  10. $passmd5=md5($_POST['paswd']);
  11.  
  12.  
  13. $sql=mysql_query("select*from user where user_name='$user' and paswd='$passmd5'");
  14. $row=mysql_num_rows($sql);
  15.  
  16. if($row==1)
  17. {
  18. $_SESSION['user_name']=$user;
  19.  
  20. header('Location: <a href="http://localhost/en/home.php''>http://localhost/en/home.php');" target="_blank">http://localhost/en/home.php');</a>
  21. }else
  22. {
  23. header('Location: <a href="http://localhost/en/err.html');" target="_blank">http://localhost/en/err.html');</a>
  24. }
  25.  
  26. ?>
  27.  
  28.  

الان المهم بالأمر كله ،، الصفحة الثالثة وهي home.php

هذي الصفحة تحمل معلومات مهمه عن دروس مثلا ،، نفترض انها صفحة فارغة لكن لا يستطيع الوصول اليها الا بعد تسجيل الدخول

*****

بالملف login.php اذا ادخلت الاسم والرقم الصحيح يحولك لهذي الصفحه بشكل مباشر لكن لو المستخدم توجه مباشره الى home.php اريد منه التسجيل قبل رؤيتها

هي الفكرة تدور حول الـ SESSION

  1. <?php
  2.  
  3. if(! $_SESSION['admin']){
  4. require('err.html');
  5. }
  6. ?>
  7.  
  8.  

لكني مبتدء باللغه ولم استطيع فهمها بشكل جيد ،، ان شاء الله اكون وصلت الفكره هذه المره بالشكل المطلوب .. وتعبتك معاي اخوي وما قصرت :)

تم تعديل هذه المشاركة بواسطة rixlinux في 13 ديسمبر 2008 في 18:56

#6

العفو أخـــي

لقد لا حظت أنك لم تضع الدالة

session_start();

في صفحة

login.php

يجب أن توضع مباشرة بعد وسام البي إتش بي في أعلى الصفحة قبل أي أمر آخر

وفي ما يخص صفحة

home.php

فسأحاول أن أجد لك الحل بإذن الله

وأتأسف إن لم أستطع مساعدتك لأني أيضا مازلت مبتدئا

تم تعديل هذه المشاركة بواسطة lafkih-simo في 13 ديسمبر 2008 في 20:30

#8

مشكوووووووور أخي على الإجابة

#9

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

انا راح احاول اني اعدل عليه بما يناسب السكربت الي شغال عليه ،، وراح اعطيكم الاخبار ان شاء الله

ما قصرتوا والله يا اخوان :)

تقبلوا تحياتي // RixLinux

#10

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

لا شكر على واجب أخي الحبيب

بالنسبة للسيرفر الشخصي wamp server

لا أعلم عنه الكثير وذلك لأنني أفضل الأباتشي Appserve

و الحمد لله اني قدرت أساعدك

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

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

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

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

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