شوّيت: شبكة كرة قدم اجتماعية




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

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو نشيط
#1  
اخواني احتاج لتعديل وتطوير هذا السكربت الاخباري البسيط .. احتاج دعمكم

اخواني الافاضل ..
اخوي احمد صادق ..

لدي هذا الاسكريت البسيط واحتاج اضافة بعض الحقول والخصائص المهمة لاتمام مشروع بسيط في عملي واحتاج دعمكم

هذا رابط تحميل الاسكربت
http://www.dalemooney.co.uk/?p=downloads

وهذا مثال عليه
http://www.dalemooney.co.uk/projects/testpage.php

احتاج اضافة اقسام للخبر في الداتا بيس , واحتاج اضافة حقول في الداتا بيس للـtags مثل حقل للكيوردز للخبر . مكان الخبر , اهمية الخبر , الخ..

الاسكربت يوجد فيه فقط ادمن , انا احتاج اكثر من يوزر وظيفتهم فقط اضافة اخبار في اقسامهم فقط .. ليس لهم علاقة في الاقسام الاخرى ..
اما وظيفة الادمن انه يضيف في اي قسم ويستطيع التعديل في الخبر


اتمنى مساعدتكم اخواني ... بارك الله فيكم






__________________
موقع نحلة لاختصار الروابط
http://4b.bz

لا تعاند من إذا قال فعل!
candid is offline   قديم 07-03-2010, 09:40 AM
الرد مع إقتباس
عضو فعال
#2  

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

ملف القاعدة بالمرفقات.

ما قمت بعمله هو نظام عضويات بسيط مع الابقاء نظام على الادمن الوحيد الذي وضعته.

لقد قمت بتعديل دالة تسجيل الدخول وملف اضافة الاخبار فقط.

يمكنك انجاز بقية العمل فهو سهل جدًا

دالة تسجيل الدخول:
كود PHP:
 //Login a user
   
public static function login($username,$password)
   {
      if(!
$username || !$password) echo "<p class=messsage> Please enter both username and password </p>";
      else
      {
        if(
$username == USERNAME && $password == PASSWORD)
        {
           
$_SESSION["simpleNews"] = true;
           
$_SESSION["mod_id"]=-1;
           echo 
"<p class=message> You are now logged in as admin! </p>";
           echo 
'<META http-equiv="refresh" content="2;URL=?">';
        }
        else{
        
$result sql::object(sql::query("select * from simple_users where name='$username'"));
        if (
$result->pwd == $password){
           
$_SESSION["simpleNews"] = true;
           
$_SESSION["mod_id"]=$result->id;

        }else
        echo 
"<p class=message> Incorrect username and password combination </p>";
        }
      }
   } 
دالة اضافة الاخبار(التي في كلاس الاخبار):
كود PHP:
public static function addNews($title,$cata,$content,$cat)
   {
      
$content strip_tags(sql::safe($content));
      
$title strip_tags(sql::safe($title));
      
      if(!
$title || !$content) echo "<p class=message> You missed a field or two </p>";
      else
      {
         if(!
$cata$cata "General";
         
         if(
sql::query("INSERT INTO simple_news (title,cata,content,date,time,cat_id) VALUES ('$title','$cata','$content',CURDATE(),CURTIME(),'$cat')"))
           echo 
"<p class=message> Your news $title has been added! </p>";
         else echo 
"<p class=message> Could not add news! ".mysql_error()."</p>";
         
         
      }
   } 
دالة عرض الاقسام:
كود PHP:
public static function showCats(){
     
$query sql::query("SELECT * FROM simple_cats");
      if(
sql::num($query) < 1) echo "<p class=message> Could not find any categories</p>";
      else
      {
         
$a sql::object($query);
         echo 
"<div class=post>";
         echo 
"<h3 class=title>".$a->name."</h2>";
         echo 
"<div class=meta>";
         echo 
"<b>Posted on: </b>".$a->date." ".$a->time;
         if(
news::isLogged()) echo " [<a href=?p=editCat&id=".$a->id."> Edit Category </a> ]";
         echo 
"</div>";
         echo 
"</div>";
      }
    } 
دالة عرض الاخبار التي في القسم:

كود PHP:
  public static function showNewsByCatId($id){
   
$query sql::query("SELECT * FROM simple_news WHERE cat_id = '$id'");
      if(
sql::num($query) < 1) echo "<p class=message> Could not find news with category id $id </p>";
      else
      {
         
$a sql::object($query);
         echo 
"<div class=post>";
         echo 
"<h2 class=title>".$a->title."</h2>";
         echo 
"<div class=meta>";
         echo 
"<b>Posted on: </b>".$a->date." ".$a->time;
         if(
news::isLogged()) echo " [<a href=?p=edit&id=".$a->id."> Edit </a> ]";
         echo 
"</div>";
         echo 
"<div class=post_content>";
         echo 
$a->content;
         echo 
"</div>";
         echo 
"</div>";
      }
   } 
هذا الدوال كما تلاحظ هي نفس الدوال التي كنت تستخدمها لكن مع تغيير الاستعلام فقط!
ملف اضافة الاخبار في المرفقات.
كل ما فعلته في ملف اضافة الاخبار هو اضافة خاصية القسم الذي نريد اضافة الخبر إليه، طبعًا كل مشرف تظهر له الاقسام التي يشترك بها.
كيف نعرف ذلك؟
في جدول الاقسام في قاعدة البيانات يوجد حقل mod_id وهو رقم المشرف على القسم







آخر تعديل بواسطة ahmad sadiq في 12-05-2011 الساعة 01:17 AM.
ahmad sadiq is offline   قديم 07-03-2010, 06:12 PM
الرد مع إقتباس
عضو نشيط
#3  

بارك الله فيك اخوي احمد , يعجز اللسان عن الشكر
اتممت العملية بنجاح الان .. وسأطبق جميع الاضافات من خلال تعديلك عليه ,,
فقط اواجه الان مشكلة في session فكلما ادخل باليوزر يقول انك دخلت بالفعل وبعد ذلك يحولني على الصفحة لتسجيل الدخول مرة اخرى اعتقد انها تكمن المشكلة في mod_id






__________________
موقع نحلة لاختصار الروابط
http://4b.bz

لا تعاند من إذا قال فعل!
candid is offline   قديم 07-03-2010, 09:15 PM
الرد مع إقتباس
عضو فعال
#4  

السر في ذلك انني نسيت وضع كود التحويل التلقائي عند تسجيل الدخول للمشرف:

كود PHP:
echo "<p class=message> You are now logged in as modirator! </p>";
           echo 
'<META http-equiv="refresh" content="2;URL=?">'
دالة تسجيل الدخول الجديدة:
كود PHP:
//Login a user
   
public static function login($username,$password)
   {
  
      if(!
$username || !$password) echo "<p class=messsage> Please enter both username and password </p>";
      else
      {
        if(
$username == USERNAME && $password == PASSWORD)
        {
           
$_SESSION["simpleNews"] = true;
           
$_SESSION["mod_id"]=-1;
           echo 
"<p class=message> You are now logged in as admin! </p>";
           echo 
'<META http-equiv="refresh" content="2;URL=?">';
        }
        else{
        
$result sql::object(sql::query("select * from simple_users where name='$username'"));
        if (
$result->pwd == $password){
           
$_SESSION["simpleNews"] = true;
           
$_SESSION["mod_id"]=$result->id;
            echo 
"<p class=message> You are now logged in as modirator! </p>";
           echo 
'<META http-equiv="refresh" content="2;URL=?">';
        }else
        echo 
"<p class=message> Incorrect username and password combination </p>";
        }
      }
   } 






ahmad sadiq is offline   قديم 07-03-2010, 09:58 PM
الرد مع إقتباس
عضو نشيط
#5  

الحمدلله تمت العملية بنجاح الان بارك الله فيك
لاحظت عند اضافة خبر بظهور هذه الرسالة

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/candidm/public_html/simplenews/page/addnews.php on line 13

هل لانه لم اقم باضافة اقسام ؟


فضلا لا امرا اخوي احمد , الرجاء الاطلاع على هذا الطلب للاهمية ,, اعتذر لك فخلفيت ضعيفة جداً , وعلى خطى امثالكم سأتعلم باذن الله
http://www.swalif.net/softs/swalif44/softs279921/






__________________
موقع نحلة لاختصار الروابط
http://4b.bz

لا تعاند من إذا قال فعل!
candid is offline   قديم 07-03-2010, 10:16 PM
الرد مع إقتباس
عضو فعال
#6  

ربما لم تضف ملف قاعدة البيانات الذي ارسلته لك

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


لمنع البلبلة نزل الملف التالي وشغل ملف التنصيب بعد تغيير معلومات القاعدة
على قاعدة فارغة طبعًا:
http://codeiseasy.info/simplenews.zip


بالنسبة لطلبك الثاني فاعتقد الاخ العزيز شادي لديه مثال عنه في موقعه:
http://layan.us/go/select-check-fast/






ahmad sadiq is offline   قديم 07-03-2010, 11:10 PM
الرد مع إقتباس
عضو نشيط
#7  

بارك الله في جهودك .. الحمدلله انتهيت من تعديله وهو يعمل كما اردت

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

اتمنى منك مشكورا الاطلاع على الموضوع مرة اخرى لكي تتضح الرؤيه

فقط قمت بمساعدتي في موضوع سابق كان مشابه لطلبي ذلك وكان
http://www.swalif.net/softs/swalif44/softs278176/

والرجاء منك الاطلاع على المثالين الذي وضعتهما فاريد بنفس الالية اعتمادا على اخذ لنتائج من ملف xml

بارك الله فيك






__________________
موقع نحلة لاختصار الروابط
http://4b.bz

لا تعاند من إذا قال فعل!
candid is offline   قديم 08-03-2010, 12:02 AM
الرد مع إقتباس
عضو فعال
#8  

تكرم عينك اخوي

استخدمت ال xpath في هذا المثال:
وهي طريقة للاستعلام على ال xml ولها تركيبتها و دوالها الخاصة في ال php وغيرها
ضع ملف search.php المرفق مع مشروع ال xml الذي ساعدتك فيه سابقًا.
مرجع لدوال ال xpath مع امثلة:
http://www.brainbell.com/tutorials/X..._Functions.htm
تحذير: طريقة العرض مزعجة
البحث يتم على حسب قيمة الوسم conetnt !! (كتبت الاسم خطأ في المشروع السابق)
جرب ادخال التالي:
sample post 1
وشوف الناتج.

حدث الجافاسكربت التي نشغل عن طريقه الاستعلام: onkeyup
دالة الاجاكس send

استعلام ال xpath:
كود PHP:
$query '//data/post[contains(conetnt,"'.$key.'")]'
استخدمت الدالة contains لفحص اذا كان الوسم conetnt يحوي القيمة $key







آخر تعديل بواسطة ahmad sadiq في 12-05-2011 الساعة 01:17 AM.
ahmad sadiq is offline   قديم 08-03-2010, 12:57 AM
الرد مع إقتباس
الرد على الموضوع


 

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

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

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
باقي لي ١٠ دعوات وأكون Z-list فزعتكم ياشباب احتاج دعمكم !! v3i القسم العام 2 24-02-2010 06:29 PM
احتاج إلي هذا السكربت للاهمية اخواني prince سوالف الاستضافة 10 18-08-2003 09:33 AM
للمبرمجين : احتاج هذا الاسكربت البسيط بسرعة ابن مكة الويب والويب 2.0 والـ Semantic Web 0 03-02-2003 01:56 PM
اخواني المبرمجين احتاج مساعده لتعديل ملف دليل المواقع بالنيوك hamudi الويب والويب 2.0 والـ Semantic Web 0 12-05-2002 07:58 PM
مجلة بدون قاعدة بيانات ... ( احتاج دعمكم ) Al Zeeny الويب والويب 2.0 والـ Semantic Web 2 10-02-2002 08:22 PM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 09:14 AM.