يا جماعة محتاج مساعدتكم ضروري عندي صفحة وعايز اعملها يوزر نايم وباسورد
محتاج الموضوع بالتفصيل لاني ليس على دراية بالموضوع
يا جماعة محتاج مساعدتكم ضروري عندي صفحة وعايز اعملها يوزر نايم وباسورد
محتاج الموضوع بالتفصيل لاني ليس على دراية بالموضوع
للتحقق من هوية المستخدم:
إن كان هذا الدخول الأول للمستخدم إلى هذه الصفحة (أي لا توجد قيمة لمتحول _POST['name'] مثلاً) يجب أن نظهر له فورم فيه حقلين text لإدخال الاسم وكلمة السر
بعد أن يرسل المستخدم الفورم (يصبح لدينا قيمة للمتحول _POST['name'] ) يتم التأكد إن كانت القيم المرسلة مطابقة للقيم التي لدينا لاسم المستخدم وكلمة السر والذين يمكن أن يكونا موجودين في متحولين مثلاُ أو مخزنين في جدول في قاعدة البيانات
فإن كانت القيم متطابقة نظهر للمستخدم المحتوى الذي نرغب به(رسالة ترحيب مثلاً)
وإلا نظهر له رسالة خطأ تطلب إعادة إدخال البيانات مع إظهار الفورم السابق نفسه...
إرجو أن الموضوع قد أصبح واضحاً بالنسبة لك
وتجدر الإشارة أننا إن أردنا تذكر المستخدم أثناء تنقله بين الصفحات فيجب عندئذ استعمال cookie أو session
so DO IT ,DO IT right ,and DO IT right now...اقتباسYou live it or lie it
أخي العزيز شكراً على ردك
بس أنا مش عارف أعملها ازاى لكن الفكرة انا فهمها
انا عايز حد يقولي هعمل ايه
اقرأ هذا المثال وجربه:
<?
//بدء الجلسة
session_start();
print "<html dir=\"rtl\">";
//اسم المستخدم وكلمة السر والذين يمكن أن يكونا في قاعدة البيانات
$savedUserName='XX0111XX';
$savedPswrd='arabteam2000';
//إذا كان لدينا طلب تسجيل دخول
if(isset($_POST['signIn'])){
//نقارن بين القيم المرسلة والقيم المحفوظة لدينا
if(($_POST['userName']==$savedUserName)&&($_POST['pswrd']==$savedPswrd)){
//في حال التساوي نسجل اسم المستخدم كمتحول جلسة أو مثلاً إذا كان لدينا رقم للمستخدم فنستخدمه كمتحول جلسة بدل الاسم
$_SESSION['userName']=$_POST['userName'];
}
else
//طباعة رسالة خطأ عند عدم التطابق
print "<font color=red>اسم مستخدم أو كلمة سر خاطئة</font>";
}
//إذا تم تسجيل متحول الجلسة أي تم تسجيل الدخول بنجاح نظهر رسالة ترحيب
if(isset($_SESSION["userName"])){
print "أهلاً بك يا $_SESSION[userName]";
}
//إذا لم يتم تسجيل الدخول نظهر الفورم للمستخدم ليسجل الدخول
if(!isset($_SESSION["userName"])){
print "<table border=0><center><form action=\"auth.php\" method=\"post\">";
print "<tr><td>البريد الإلكتروني</td><td><input type=text size=20 name=userName>";
print "<tr><td>كلمة المرور</td><td><input type=password size=20 name=pswrd>";
print "<tr align=center><td colspan=2><input type=submit name=\"signIn\" value=\"تسجيل دخول\">
</center></form></table>";
}
?>لقد استعملنا مفهوم الـ session لتذكر المستخدم حيث يتم الاحتفاظ بمتحول الـ session طوال فترة الجلسة الواحدة (أي تنتهي بإغلاق نافذة المتصفح) وهكذا حتى لو تنقل المستخدم بين الصفحات فإنه يبقى متذكراً
وكما قلنا يمكن أن تكون البيانات موجودة في قاعدة البيانات عندها عوضاً عن سطر:
//نقارن بين القيم المرسلة والقيم المحفوظة لدينا
if(($_POST['userName']==$savedUserName)&&($_POST['pswrd']==$savedPswrd)){نقوم بالاتصال بقاعدة البيانات ثم وعلى اعتبار أن بيانات المستخدمين موجودة في جدول users نكتب:
mysql_query("select * from users where userName=$_POST[userName] AND pswrd=$_POST[pwrd]");
if($row=mysql_fetch_array($res))so DO IT ,DO IT right ,and DO IT right now...اقتباسYou live it or lie it
اخى العزيز شكرا جدا على الرد
بس المشكلة انى مبتدىء جدا فى الموضوع ومش فاهم ال SESSION
ياريت تشرحلي الموضوع ببساطة انا كل اللى عايزه عندى صفحة على موقع على الشبكة الداخلية فقط وعايز أحميها بيوزر نايم وباسورد
علشان الاقسام هى بس اللى تدخل تشوف المحتويات
ياريت يا اخى تساعدني اكون شاكر جدااااااااااااااا
علماً بأني استخدم الدريم ويفر فى تصميم الصفحات ياريت توضحلي ازاى اربط البي اتش بي بالدريم ويفر
الكود إذا لم ترد استخدام الـ session سيكون شبيه بالسابق:
<html dir="rtl">
<?
//اسم المستخدم وكلمة السر
$savedUserName='XX0111XX';
$savedPswrd='arabteam2000';
//متحول يبين إذا ما تم تسجيل الدخول
$signedIn=false;
//المحتويات المراد إظهارها للمستخدم المسجل
$content="أهلاً بك";
//إذا كان لدينا طلب تسجيل دخول
if(isset($_POST['signIn'])){
//نقارن بين القيم المرسلة والقيم المحفوظة لدينا
if(($_POST['userName']==$savedUserName)&&($_POST['pswrd']==$savedPswrd)){
//في حال التساوي
$signedIn=true;
}
else
//طباعة رسالة خطأ عند عدم التطابق
print "<font color=red>اسم مستخدم أو كلمة سر خاطئة</font>";
}
//إذا تم تسجيل الدخول
if($signedIn){
print $content;
}
//إذا لم يتم تسجيل الدخول نظهر الفورم للمستخدم ليسجل الدخول
else{
print "<table border=0><center><form action=\"auth.php\" method=\"post\">";
print "<tr><td>البريد الإلكتروني</td><td><input type=text size=20 name=userName>";
print "<tr><td>كلمة المرور</td><td><input type=password size=20 name=pswrd>";
print "<tr align=center><td colspan=2><input type=submit name=\"signIn\" value=\"تسجيل دخول\">
</center></form></table>";
}
?>مع ملاحظة أن المستخدم في هذه الحالة لن يتم تذكره في الصفحات الأخرى التي ينتقل إليها
على فكرة أنا لم أعرف تماماً ماذا تريد ... فإذا كنت تريد معلومات عن طريقة استخدام الـ session فأخبرنا...والسلام
so DO IT ,DO IT right ,and DO IT right now...اقتباسYou live it or lie it
مشكور اخي جدا على الرد والمتابعة المستمرة
بس المشكلة يا اخي انى مبتداء جدااااااااااااااااااااااااااااااااا فى الموضوع ويصعب على امثالي أنهم يفهموا اللى انت بتقوله
ياريت ياريت توضحلي الموضوع ببساطة اكتر من كده
انت بتحطيلي كود والمفروض أنى أفهم القصة ماشية ازاى
بس المشكلة أنى عايز أفهم من البداية
ياريت يا أخي ترد عليا لان الموضوع مطلوب منى فى الشغل والوقت عمال يعدي
في مشاركتي الأولى حاولت أن أوضح لك كيف سيتم عمل الموضوع
اقتباسبس أنا مش عارف أعملها ازاى لكن الفكرة انا فهمها
فقمت بكتابة الكود لكي تتعلم منه مع ملاحظات عند كل تعليمة
اقتباسومش فاهم ال SESSION
فوضعت لك نفس المثال دون استخدام الـ session
وحقيقي يا أخي أنا ما لا أعرف ما الذي تريدني أن أشرحه الآن... :blink: :wacko:
فيا ريت تقرأ الكود مع التعليقات الموجودة فيه وتحاول تفهمه وتجربه وتستعين بـ PHP Manual للبحث عن الأشياء التي لا تعرفها أو تسألنا ...ثم تخبرنا ماهو الشيء الغير واضح بالنسبة لك لنحاول مساعدتك
وبالتوفيق مع أخونا PHP ;)
so DO IT ,DO IT right ,and DO IT right now...اقتباسYou live it or lie it
والله انا مكسوف منك خااااااااااااالص
بس المشكلة اني مصمم مواقع انترنت ومطلوب منى بعد ما صممت موقع هيتحط على الشبكة الداخلية أنى احط يوزر نايم وباسورد على أول صفحة فى الموقع
بس هى دى القصة
انا مليش فى البرمجة خاااااااااالص
عايز حضرتك توضحلي أعمل ايه بالظبط
1- ماهي قاعدة البيانات التي يجب أن نستخدمها؟؟
2- وكيف أربطها مع الـPHP؟؟
3- وكيف أجلب البيانات منها علما أن موقعي شبيه بالمنتدى وفيه أعضاء كثر؟؟
4- ولو أثقل عليكم كيف أحفظ البيانات المدخلة أثناء تسجيل عضو جديد في القاعدة؟؟
5- صحيح أتذكرت أن الاستاذ قال اننا سنستخدم MYSQL؟؟
6- كيف أضع قيود المفاتيح الأساسية عليها؟؟
هذا الموضوع مغلق.