النتائج 1 إلى 9 من 9

الموضوع: [PHP]: انشاء فورم واحد مع أكشنات مختلفة

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    889

    [PHP]: انشاء فورم واحد مع أكشنات مختلفة



    السلام عليكم
    اخواني الأعزاء

    نفرض أنه عندنا عدة أقسام في الموقع، قسم للكتب، قسم للمقالات وقسم خاص بالمنتدى في الموقع
    وكل قسم يحتوي على برنامج للبحث وله الفورم الخاص مع الـ action الخاص له مع المتد get
    كيف أقدر أن أنشئ فورم لتجميع جميع برنامج البحث في الموقع في فورم واحد

    توضيح: من اللازم أن هذا الفورم يحتوي على قائمة منسدلة لكي المستخدم ينتخب القسم الذي يريد أن يبحث فيه وبعدما المستخدم يضغط على زر الـ submit يتوجه البرنامج إلى برنامج البحث الخاص للعنصر الذي انتخبه المستخدم من القائمة المنسدلة
    أعزائي إذا ما وصلت الفكرة الرجاء الرجوع الى موقع التالي
    http://www.php4arab.info
    وانتبهوا الى البرنامج البحث مع القائمة المنسدلة التي تتوجه الى عدة أقسام منها منتدى خارج موقعهم وهو المنتدي php4web
    هذا وشكراً لكم
    وأنتظر جوابكم





    haidar غير متواجد حالياً


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    889








    haidar غير متواجد حالياً

  3. #3
    عضو نشيط
    تاريخ التسجيل
    May 2002
    المشاركات
    137


    مرحباً أخي haidar
    عمل ما تكلمت عنه يعتمد على هيكلة موقعك، فإذا كانت كل محتويات موقعك موجودة بقاعدة بيانات واحدة فكل ما عليك هو إنشاء برنامج يقوم بتوجيه محرك البحث بحسب المطلوب فمثلاً إذا كان لديك قسمين هما (الأخبار، المقالات) وتعتمد على حفظ الأخبار في جدول news والمقالات في جدول articles فإن برنامج سيكون بالشكل التالي:
    كود PHP:
    <html><body>
     البرنامج بشكل مبسط لعرض الفكرة فقط
    <form method=post>
    البحث في 
    <select name=table>
     <option value='1'>الأخبار</option>
     <option value='2'>المقالات</option>
    </select>
    عن 
    <input type=text name=keyword> <input type=submit name=submit>
    <?php
     $con 
    mysql_connect($host$user$pass);
     
    mysql_select_db($dbname);
     
     if (isset(
    $HTTP_POST_VARS['submit'])) {
        
    // تحديد مجال البحث
       
    switch($HTTP_POST_VARS['table']) { 
         case 
    1:
              
    $table 'news';
              
    $field 'message';
         break
         case 
    2;
              
    $table 'articles';
              
    $field 'contents';
         break;     
       }
        
       
    // إجراء عملية البحث
       
    $res mysql_query("SELECT * FROM $table WHERE $field like '%$keyword%'"$con);
       
    // وهنا تعرض النتائج 

     
    }
    ?>
    </body></html>
    أما إذا كان لكل قسم من أقسام موقعك برنامج بحث موجود مسبقاً لكنك تريد أن تقوم بعمل توجيه لها من خلال برنامج واحد، فيمكن عمل شيء شبيه بالفكرة التالية:
    على افتراض أن طريقة البحث في المجلة هي phpnuke/search.php?keyword وبافتراض أن طريقة البحث في المنتدى هي vb/search.php?keyword

    كود PHP:
    <html><body>
     البرنامج بشكل مبسط لعرض الفكرة فقط
    <form method=post>
    البحث في 
    <select name=target>
     <option value='1'>المجلة</option>
     <option value='2'>المنتدى</option>
    </select>
    عن 
    <input type=text name=keyword> <input type=submit name=submit>
    <?php
     
    if (isset($HTTP_POST_VARS['submit'])) {
        
    // تحديد مجال البحث
       
    switch($HTTP_POST_VARS['target']) { 
         case 
    1:
            
    // للتوجيه البحث إلى برنامج المجلة
            
    $url "phpnuke/search.php?keyword=$keyword";
            
    header("location: $url");
            exit;
            break;
         case 
    2:
            
    // للتوجيه البحث إلى برنامج المنتدى
            
    $url "vb/search.php?keyword=$keyword";
            
    header("location: $url");
            exit;
            break;
        }
    }
    ?> 
    </body></html>
    وبشكل عام يجب أن يكون لديك فهم كامل لطريقة البحث في كل من الأقسام التي تريد ضمها، ويمكنك عندئذ استخدام switch لتوجيه مسار العملية.
    كما يمكن استخدام نفس الطريقة لجعل النموذج (form) الواحد يستخدم لعدة عمليات.
    مثال :
    كود PHP:
    <html><body>
     البرنامج بشكل مبسط لعرض الفكرة فقط
    <form method=get>
    اختر العملية
    <select name=action>
     <option value='1'>العرض</option>
     <option value='2'>الحذف</option>
     <option value='3'>البحث</option>
    </select> <input type=submit name=submit>
    <?php
     
    if (isset($HTTP_POST_VARS['submit'])) {
       switch(
    $HTTP_POST_VARS['action']) { 
         case 
    1:
              echo 
    'لقد اخترت عملية العرض';
              break;
         case 
    2:
              echo 
    'لقد اخترت عملية الحذف';
              break;
         case 
    3:
              echo 
    'لقد اخترت عملية البحث';
              break;
       }          
     }
    ?>
    </body></html>






    __________________
    visualmind (at) php.net
    أعتذر كثيراً عن غيابي من المشاركات والذي لن يطول أكثر إن شاء الله.
    VisualMind غير متواجد حالياً

  4. #4
    عضو فعال
    تاريخ التسجيل
    Feb 2002
    المشاركات
    1,454


    الله يعطيك العافية اخوي visualmind

    كفيت ووفيت وجزاك الله الف خير





    __________________
    شبكة مملكة العرب
    ---------------------
    استضافة مواقع تبدأ من 100 ريال سنويا
    خطط خاصة للموزعين
    سكربت دليل المواقع
    www.aknet.com
    code4arab غير متواجد حالياً

  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    889


    أخي الكريم VisualMind أشكرك على الرد الذي كفيت ووفيت فيه
    طبعاً الحالتين تفيد لي أما أنا انتخبت الحالة الوسطانية

    رد مقتبس من VisualMind
    أما إذا كان لكل قسم من أقسام موقعك برنامج بحث موجود مسبقاً لكنك تريد أن تقوم بعمل توجيه لها من خلال برنامج واحد، فيمكن عمل شيء شبيه بالفكرة التالية:
    على افتراض أن طريقة البحث في المجلة هي phpnuke/search.php?keyword وبافتراض أن طريقة البحث في المنتدى هي vb/search.php?keyword

    كود PHP:
    <html><body>
     البرنامج بشكل مبسط لعرض الفكرة فقط
    <form method=post>
    البحث في 
    <select name=target>
     <option value='1'>المجلة</option>
     <option value='2'>المنتدى</option>
    </select>
    عن 
    <input type=text name=keyword> <input type=submit name=submit>
    <?php
     
    if (isset($HTTP_POST_VARS['submit'])) {
        
    // تحديد مجال البحث
       
    switch($HTTP_POST_VARS['target']) { 
         case 
    1:
            
    // للتوجيه البحث إلى برنامج المجلة
            
    $url "phpnuke/search.php?keyword=$keyword";
            
    header("location: $url");
            exit;
            break;
         case 
    2:
            
    // للتوجيه البحث إلى برنامج المنتدى
            
    $url "vb/search.php?keyword=$keyword";
            
    header("location: $url");
            exit;
            break;
        }
    }
    ?> 
    </body></html>
    أما يظهر لي خطأ الـ header وهو
    Warning: Cannot add header information - headers already sent by (output started at D:\HTTPD\HTDOCS\VisualMind.php:5) in D:\HTTPD\HTDOCS\VisualMind.php on line 18

    وأيضاً عندي طلب إذا ماكو زحمة وأي احراج
    أخي أنا فعلاً في السيرفر المحلي استخدم برنامج المقالات MCNews
    وبالواقع استخدم السكربت لقسمين، قسم للمقالات وقسم للأسئلة والأجوبة
    يعني انشأت قاعدتين واستخدمت مسارين، قسم سميته المقالات وقسم سميته الأسئلة والأجوبة وكل واحد له صفحة البحث الخاص له
    تلقى مثال على استخدام هذا البرنامج في النت في التالي:
    ما لقيت موقع عربي فاعذرني
    هذه هي صفحة البحث
    http://www.simtrain-fr.org/mcNews/search.php
    وأشكرك مقدماً





    haidar غير متواجد حالياً

  6. #6
    عضو نشيط
    تاريخ التسجيل
    May 2002
    المشاركات
    137


    أخي haidar
    كلامك صحيح برنامجي يحتوي على خطأ لم أنتبه له نظراً لكتابته على عجل، فالبرنامج يجب أن يكون بالشكل التالي:
    كود PHP:
    <?php
     
    if (isset($HTTP_POST_VARS['submit'])) {
        
    // تحديد مجال البحث
       
    switch($HTTP_POST_VARS['target']) { 
         case 
    1:
            
    // للتوجيه البحث إلى برنامج المجلة
            
    $url "phpnuke/search.php?keyword=$keyword";
            
    header("location: $url");
            exit;
            break;
         case 
    2:
            
    // للتوجيه البحث إلى برنامج المنتدى
            
    $url "vb/search.php?keyword=$keyword";
            
    header("location: $url");
            exit;
            break;
        }
    }
    ?> 
    <html><body>
     البرنامج بشكل مبسط لعرض الفكرة فقط
    <form method=post>
    البحث في 
    <select name=target>
     <option value='1'>المجلة</option>
     <option value='2'>المنتدى</option>
    </select>
    عن 
    <input type=text name=keyword> <input type=submit name=submit>
    </body></html>
    حيث أن دالة header يجب أن تستخدم قبل أي مخرجات على الويب.

    __
    بالنسبة للبرنامج الذي تستخدمه mcNews، فلم أعرف ما هو المطلوب بالضبط؟





    __________________
    visualmind (at) php.net
    أعتذر كثيراً عن غيابي من المشاركات والذي لن يطول أكثر إن شاء الله.
    VisualMind غير متواجد حالياً

  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    889


    أشكرك أخي الكريم
    امتحنت البرنامج المعدل على السيرفر الشخصي ووجهته الى المنتدى المنصوب في جهازي
    وحينما أكتب كلمة للبحث في الكود الأعلى الذي أعطيتني، البرنامج يتوجه الى صفحة البحث المنتدى أما ما يظهر أي نتائج
    وبالواقع الأكشن ما يعمل وفقط صفحة البحث تنفتح ومن ثم أقدر أكتب في خانة البحث في برنامج منتدى الفي بي

    افتكر أنه بعض المتغيرات في الكود اللي أعطيتني يجب أن يتغير لكي يناسب برنامجي، هل تقدر أن تخبرني بالمتغيرات

    أما أخي بالنسبة لبرنامج الـ mcNews
    إذا تفضلت وغيرت الكود لكي يتوجه البحث الى صفحة البحث في البرنامج ومن ثم يعرض النتائج أكون لك شاكر
    أخي أرفقت لك سكربت المقالات mcNews





    الملفات المرفقة الملفات المرفقة
    haidar غير متواجد حالياً

  8. #8
    عضو نشيط
    تاريخ التسجيل
    May 2002
    المشاركات
    137


    أخي haidar
    أنا شرحت الطريقة فقط، ولا يعني ذلك أن البرنامج سيقوم بما أردت، فعليك أن تحدد طريقة العنوان التي تناسب برامجك بحيث يكون رابط العنوان سليماً لإجراء البحث في برنامج Nuke مثلاً.

    عموماً، سوف أحاول أن أقوم بتجربة البرنامج الذي ذكرت عندما أجد وقتا كافياً إن شاء الله، أرجو أن تعذرني على التأخر





    __________________
    visualmind (at) php.net
    أعتذر كثيراً عن غيابي من المشاركات والذي لن يطول أكثر إن شاء الله.
    VisualMind غير متواجد حالياً

  9. #9
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    889


    الأستاذ VisualMind أشكرك





    haidar غير متواجد حالياً





ضوابط المشاركة

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

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض