تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو سوبر نشيط
تاريخ التسجيل: Dec 2004-
#1 (permalink)  
سؤال مستعجل


السلام عليكم......
عذرا على تكرار السؤال أكثر من مرة والسبب عدم شرح الطريقة جيدا أو عدم الرد
السؤال هو
كيف يمكنني عمل فورم تسجيل دخول ويكون التحقق من قواعد البيانات
ويكون كل مستخدم لا يستطيع تغير بيانات غيره من الأعضاء

ولو ممكن طريقة عمل ملف لتسجيل الخروج

انتظر مساعدتكم

وشكرا لكم مقدما






الرجل الخارق غير متواجد حالياً   قديم 20-08-2005, 02:29 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2003-
#2 (permalink)  
السلام عليكم

لعمل فورم تمكن العضو من كتابه اليوزر والباس وورد (والبحث في القاعده للتحقق من المعلومات)

في البدايه يجب ان يكون لديك فورم كمثال:
كود بلغة HTML:
<form action="login.php" method="post">  
Username <input type="text" name="user"><br />  
Password <input type="password" name="pass"><br /> <input type="submit" name="submit" value="login"></form>
الان طبيعي ان اليوزر او الشخص يضع اسمه المستعار والرقم السري وهذا مثال البحث:
كود PHP:
//نبدأ بالبحث ان اليوزر موجود فعلا
$qstring="SELECT * FROM users WHERE username = '"
$qstring.=$_POST['user']."' AND password = '".$_POST['pass']."'");  
$qry mysql_query($qstring);  
$numrows mysql_num_rows($qry);
// والان اتاكد ان النتيجة من قاعد  البيانات ليست فارغه يعني اكبر من واحد  
if($numrows 1){   //لاحط في حالة عدم وجود نتيجة
}else{  
    
session_start(); // في حالة وجود نتيجة اعمل جلسة
    
$_SESSION['user'] = $_POST['user']; // سجل الجلسة مثلا اذا كان اليوزر هو ديث
                    // then $_SESSION['user']=="ديث" 

اي استفسار انا حاضر
تحياتي






Death غير متواجد حالياً   قديم 20-08-2005, 03:51 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Dec 2004-
#3 (permalink)  

شكرا على سرعة الرد
لكن هل يمكن توضح كيف اعمل باقي الملفات
كمثال الملف usercp.php
كيف اخليه للأعضاء فقط ؟






الرجل الخارق غير متواجد حالياً   قديم 20-08-2005, 12:51 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2003-
#4 (permalink)  

انا لم افهم سؤالك بالتحديد ولكن اعتقد انه تريد تحديد ملف معين للاعضاء فقط (طبعا بعد تسجيلهم الدخول)

يكون في الجلسات session
يعني غير ضروري تخلي تسجيل الدخول بكل صفحه
ولكن الجلسات تكون بكل صفحه
انا ارى انك يجب ان تراجع ال php مانويل

ملاحظه مهمه جدا: استعمل $_SESSION لعمل الجلسات افضل من استعمال session_register لاسباب امنية

اضغط هنا لاخذ فكره عن الجلسات:
http://www.php.net/manual/en/ref.session.php

وهذا ملخص سريع بعد تسجيل العضو وعملت جلسه باسمها مثلا
في الصفحه الاخرى تضع في اعلى الصفحه الداله :
كود بلغة HTML:
<?php
session_start(); ?>
بعدين مثلا تبحث عن الجلسه هكذا
كود PHP:

if (isset($_SESSION['Death'])) { //لنفرض ان Death هو قيمة السيشن
   //في حالة ان الجلسه كانت مسجله فعلا
} else {
   
//ان لم تكن مسجله يعني عضو غير مسجل الدخول
   //يمكنك مثلا طرده من الصفحه
   
header('Location: http://mysite.com/out.php');

تحياتي






Death غير متواجد حالياً   قديم 21-08-2005, 01:51 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2003-
#5 (permalink)  
مرحبا مره اخرى

لعمل خروج من الصفحه سهل جدا عن طريق حذف السيشن(الجلسه الخاصه به)
وهي عن طريق unset

مثال:

كود PHP:
unset($_SESSION['Death']); 
الحكمة من مسح الجلسة : بعد الحذف يعتبر الشخص غير مسجل للدخول
يعني يتوجب عليه تسجيل الدخول لكي يتمتع بالمييزات الموجوده بالصفحه


تحياتي






Death غير متواجد حالياً   قديم 21-08-2005, 05:53 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Dec 2004-
#6 (permalink)  

شكرا لك على طريقة عمل الجلسات لكن
في كود تسجيل الجلسة ظهر لي الخطأ التالي

كود:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in d:\appserv\www\a\myprog\login.php on line 10
فهل يمكنك تصحيح الكود
واعذرني على كثرة الأسئلة






الرجل الخارق غير متواجد حالياً   قديم 21-08-2005, 07:17 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2003-
#7 (permalink)  
بسم الله الرحمن الرحيم

اخي الكريم الرجل الخارق

لو تكتب الكود لكي اعمل له تصليح
ولكن بالمقابل لقد عملت لك درس عن الجلسات اتمنى تستفيد منه والكل يتسفيد لوجه الله
في البدايه تذكر يمكنك عمل ما تريد من الجلسات تستطيع عمل شوبن كارت (سلت مشتريات)
او تستطيع تخزين كل المعلومات التي تريدها من العضو او الزائر. اهم شي تذكر
ان الجلسات تنمسح وتختفي تلقائيا عند اغلاق الصفحة (اذا اغلق الزائر الصفحة تنمسح كل الجلسات)

نبدأ في المشروع قول بسم الله.

اعمل صفحة باسم page.php وضع فيها هذا الكود (لا تقلق سوف اشرح كل امر على حده)
كود PHP:
<?php session_start();
if (!isset(
$_POST['nickname']) OR empty($_POST['nickname'])) { ?>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF'?>">
<p>Your nick? </span>
<input type="text" name="nickname" size="20"><br>
<span lang="en-us">you password?
<input type="password" name="passowrd" size="20"></span></p>
<p><input type="submit" value="Submit" name="B1"></p>
</form>
<?php } else {
$_SESSION['test'] =  $_POST['nickname'];
echo 
$_SESSION['test']."<br />\n";
echo 
"<a href='page2.php'>شكرا لتسجيلك  هل تريد الذهاب الى الصفحة الاخرى؟</a>";
?>
الان الصفحة الاخرى واسمها page2.php
كود PHP:
<?php session_start();
echo  
"<h2>اهلا وسهلا بك في الصفحة الثانيه يا : ";
echo 
$_SESSION['test']."</h2><br />\n";
echo 
"<a href='page3.php'>هل تريد الذهاب للصفحة الاخيره ؟</a>";
?>
الان الصفحة الاخيره واسمها page3.php
كود PHP:
<?php session_start();
if (!isset(
$_GET['logout'])) {
echo  
"<h2>اهلا وسهلا بك في الصفحة الاخيرة يا : ";
echo 
$_SESSION['test']."</h2><br />\n";
echo 
"<a href='".$_SERVER['PHP_SELF']."?logout=true'>لتسجيل الخروج اضغط هنا</a>";
} else {
unset(
$_SESSION['test']);
echo 
"اتمنى استفدت من هذا الدرس يا الرجل الخارق"."\n<br />";
echo 
"<a href='page.php'>عودة للصفحة الرئيسية</a>";
}
?>
والان في المتصفح او ارفع الملفات الى موقعك وافتح الصفحة page.php
واكتب اسمك افضل يكون بالعربي واكتب الرقم السري (طبعا اي اسم واي رقم غير ضروري التحديد)
واتبع الروابط)
في هذا الدرس تعلمت كيف انشاء جلسات وكيف تقوم بتمرير الجلسات من صفحة الى اخرى
(الغاية كيف تعرف ان هذا العضو مسجل ويصول ويجول في الموقع
خاصية isset وهي تضمن ان العضو ادخل المعلومات و ! للنفي
خاصية empty وهي تضمن ان الزائر اخل معلومات فارغه طبعا ستعمل ! للنفي
خاصة ال $GET_ وهي تساعد في تمرير اي متغير عن طريق العنوان مثلا http://swalif.net/go.php?alo=123
خاصية$_POST نفس الشي ولكن لا تظهر العنوان في اعلى المتصحف (تفيد في اخفاء الرقم السري عن المشاهد)
$_SESSION['test'] وهي لتسجيل جلسة طبعا test غير ضروري سمها اي اسم تحب
اهم شي عند الانتقال اي صفحة اخرى في الموقع اكتب اسم الجلسة وسوف يظهر لك قيمتها المخزنه


الجدير بالذكر هنا سلاست ال php وسهولته والانتقال من مود ال php الى مود html والعكس بدون استعمال echo

كود PHP:
<?php
$me 
1;
if (
$me 1) { ?>
اكتب اي لغة html هنا 
<?php } else { ?>
وهنا ايضا ضع اي اكواد html
<?php ?>
تحياتي واي استفسار انا حاضر (اعذرني لانشغالي الكثير)






Death غير متواجد حالياً   قديم 22-08-2005, 05:09 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Dec 2004-
#8 (permalink)  

شكرا لك
لقد انحلت المشكلة

بعد ان قمت بشرح نظام الجلسات لي

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

وهذا الكود الذي استخدمته

كود PHP:
<?php session_start(); 

if (!isset(
$_POST['nickname']) OR empty($_POST['nickname'])) {
 
?> 
<form method="POST" action="<?php echo $_SERVER['PHP_SELF'?>"> 
<p>Your nick? </span> 
<input type="text" name="nickname" size="20"><br> 
<span lang="en-us">you password? 
<input type="password" name="passowrd" size="20"></span></p> 
<p><input type="submit" value="Submit" name="B1"></p> 
</form> 
<?php } else { 
include(
"config.php");
$Check mysql_query("SELECT * FROM register WHERE username='".$nickname."' and password='".$passowrd."'");
if (
mysql_num_rows($Check) != 0){
$_SESSION['PhpRace'] =  $_POST['nickname']; 
echo 
$_SESSION['PhpRace']."<br />\n"
echo 
"<a href='page2.php'>شكرا لتسجيلك  هل تريد الذهاب الى الصفحة الاخرى؟</a>"
}else{
echo
"خطأ"
}
}
?>






الرجل الخارق غير متواجد حالياً   قديم 22-08-2005, 02:08 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2003-
#9 (permalink)  

ممتاز

استعمل هذه الداله لتفادي الاختراقات (الدال تحمي من شفرات ال html مثل > او < الخ
كود PHP:
htmlspecialchars($_POST['nickname']) 
تحياتي






Death غير متواجد حالياً   قديم 22-08-2005, 03:24 PM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 07:52 AM بتوقيت المملكة العربية السعودية