معهد دعم اتش فى اى بى اس لحلول الويب - Powered by vBulletin


 
 
النتائج 1 إلى 10 من 10
Like Tree1Likes
  • 1 Post By HVIPS5

الموضوع: دورة تابعني (بناء نظام عضويات رسائل خاصة +ملف شخصي+حظر اعضاء+البوم صور) والشي الكثير

  1. #1
    عضو جديد


    تاريخ التسجيل: Jun 2011
    رقم العضوية: 7
    المشاركات: 2,181
    HVIPS5 غير متواجد حالياً

    Stqou 759788f58d دورة تابعني (بناء نظام عضويات رسائل خاصة +ملف شخصي+حظر اعضاء+البوم صور) والشي الكثير


    تابعني (بناء نظام عضويات رسائل خاصة +ملف شخصي+حظر اعضاء+البوم صور) والشي الكثير السلام عليكم ورحمة الله وبركاته

    اليوم إن شاءالله سوف نتطرق الي بناء نظام عضويات يعتمد على الجلسات

    وكيفية الاعتماد على الجلسات لبناء نظام عضويات مثل

    1- ملف خلص لكل عضو

    2- رسائل خاصة لكل عضو

    3- البوم صور

    4- يستطيع كل عضو ان يحظر اي عضو من دخول ملفه الشخصي

    5- يستطيع كل عضو تغيير بياناته صورته الشخصية

    6- ظهور صورة العضو عند تسحيل الدخول ورسائل تنبيه بوجود رسائل من الاعضاء

    وافكار اخرى

    احنا نبدأ من الصفر

    طبعا راحيين نعمل في البداية نظام تسجيل عضويات

    ونعمل جدول جديد في القاعدة ونسمية user

    جدول الاعضاء يضم اربع حقول
    --------------------------------------

    جدول الاعضاء ونسميه user
    1- id_user
    2-user
    3-password
    4- mail
    4-img_user

    -------------------------------------------

    الان نعمل جدول الرسائل الخاصة سميه sendmsguser

    id_msg
    user_name
    total_msg
    msg_user
    from_user
    user_id
    --------------------------------------------------

    الان نعمل جدول البوم الصور سميه up_load_user
    id_images
    user_id
    path_image
    ---------------------------------------------------

    الان نعمل جدول حظر الاعضاء وسميه block
    block_id
    name_user
    user_id
    from_user
    block من نوع inti

    --------------------------------------------------------------

    قبل كل شي اعمل مجلد باسم up_img_user وعطه تصريح 777 ولاتنسى تعمل له حماية

    هذا المجلد سوف يرفع عليه صور الاعضاء اثناء عملية التسجيل
    -----------------------------------------------------------------------------

    الان دعونا نجهز فورم تسجيل العضويات سميها form.php

    كود PHP:
    <form method="post"  name="form1" action="rigstar.php" enctype='multipart/form-data' >
    <
    table  align="center"  width="50%" cellspacing="5" cellpadding="5"  >
    <
    tr>
    </
    tr>

    <
    td>اسمك</td>
    <
    td><input name="user"    id="user"   type="text" size='25'/></td>
    <
    tr>

    </
    tr>
    <
    td>الرقم السري</td>
    <
    td><input name="password"   type="password"size='25' /></td>
    <
    tr>
    </
    tr>
    <
    td>كرر الرقم السري</td>
    <
    td><input name="password1"   type="password" size='25'/></td>
    <
    tr>
    </
    tr>
    <
    td>بريدك الالكتروني</td>
    <
    td><input name="mail"      type="text" size='25'/></td>
      <
    tr>
     </
    tr>
     <
    td>اختر صورتك</td>
    <
    td><input name="file_image"      type="file" size='25'/></td>
      <
    tr>
     </
    tr>
       <
    td><img src='captcha.php'></td>
      <
    td><input type='text' name='captchacode' value="اكتب الكود هنا" size='25'/></td>

        <
    tr>
     </
    tr>
    <
    td><input type="submit" name="go" value=":::سجلني:::" /></td>

      </
    table>
    </
    form

    الان نعمل صفحة استقبال البيانات ( التسجيل ) وسميها rigstar.php


    كود PHP:
    <?
     session_start
    ();  عمل بداية جلسة 
    $page
    ="form.php";//صفحة الفورم
    $numpassword=6;//تحديد خانات الرقم السري

    ////استقبال البيانات
    $user=mysql_escape_string($_POST['user']);
    $password=mysql_escape_string(md5($_POST['password']));
    $password1=mysql_escape_string(md5($_POST['password1']));
    $mail=mysql_escape_string($_POST['mail']);
    $capth=mysql_escape_string($_POST['captchacode']);
    $image=$_FILES["file_image"]["name"];
    $siez=$_FILES['file_image']['size'];
    //-------------------------------------------------------
    ////عمل شرط لتأكد من عدم خلو البياتات
    if ($user=="" || $password==""|| $password1=="" || $mail=="" || $capth=="" || $image==""){
    die(
    "<center>برجاء تعبيت جميع البياتات</center>
     <meta http-equiv='refresh' content='1; url=
    $page' />
     "
    );
    }
    //-----------------------------------------------------------
    /////////// التاكد من كتابة كود الحماية
    if($capth != $_SESSION['captchacode'] OR $_SESSION["captchacode"]==''){
    die(
    "برجاء تصحيج كتابة كود الحماية
    <meta http-equiv='refresh' content='1; url=
    $page' />
    "
    );
    //------------------------------------------------------------
    ////التاكد من ان الارقام السرية متطابقة
    if ($password!= $password1){
    die(
    "

      <center>كلمات المرور غير متطابقة</center>
     <meta http-equiv='refresh' content='1; url=
    $page' />
    "
    );

    }
    //------------------------------------------------------------
    //التأكد من ان خانات الرقم السري 6 فما فوق
    $pass=strlen($password);
    if (
    $pass<$numpassword){
    die(
    "
     <center> الرقم السري لابد ان يكون من 6 خانات </center>
     <meta http-equiv='refresh' content='1; url=
    $page' />

    "
    );

    }
    //------------------------------------------------------------
    //التاكد من صحة كتابة البريد الالكتروني
    if (!eregi("^[_a-z0-9-]+[_a-z0-9-]+@[_a-z0-9-]+[_a-z0-9-]",$mail)) {
     die(
    "
      <center>البريد المدخل غير صحيح </center>
     <meta http-equiv='refresh' content='1; url=
    $page' />

    "
    );
    }
    //-------------------------------------------------------------
    ///التأكد من امتداد الصورة انه صحيح
     
    $img=strstr($image,".");
      if (
    $img==".exe" || $img==".doc" || $img==".zip" || $img==".php" ||
       
    $img==".txt" || $img==".rar" || $img==".html"  || $img==".htm"
       
    || $img==".psd" || $img==".fl" || $img==".js" || $img==".gzi"
       
    || $img==".xml" || $img==".def" || $img==".scr" || $img==".csr"
       
    )
       die(
    "<center>امتداد الصورة غير صحيح</center>
         <meta http-equiv='refresh' content='1; url=
    $page' />
       "
    );

     
    //----------------------------------------------------------------------

     //التاكد من حجم الصورة
       
    if($siez <200000){
         die(
    "<center>حجم الصورة كبير</center>
         <meta http-equiv='refresh' content='1; url=
    $page' />
       "
    );
    }
    //------------------------------------------------------------------

    ////استقطاع امتداد الصورة لتوليد صورة جديدة
    $fileext strchr($image,'.'); //استقطعنا امتداد الصورة
     
    $new_image=time().$fileext;//توليد اسم جديد لصورة
    //-------------------------------------------------------
     ////رفع الصورة الي مجلد الصور المخصص لصور الاعضاء
     
    $majlad="up_img_user";
      
    $path_img"$majlad/".$new_image;
    move_uploaded_file($_FILES["file_image"]["tmp_name"],$path_img);
    //-------------------------------------------------------------------------
    //التأكد من ان الاسم محجوز من قبل عضو اخر

    $sql=mysql_query("select * from user where user='$this->user' ");
    $row=mysql_fetch_assoc($sql);
    if (
    $user==$row['user']){
     die(
    "<center>الاسم محجوز برجاء اختيار اسم اخر</center>

     <meta http-equiv='refresh' content='0; url=
    $page' />

    "
    );
    }
    //----------------------------------------------------------------
    //التاكد من ان البريد محجوز من قبل عضو اخر
    $sql=mysql_query("select * from user where  mail='$this->mail' ");
    $row=mysql_fetch_assoc($sql);

    if (
    $mail==$row['mail']){
    die(
    "<center>الايميل موجود مسبقا لدنيا برجاء اختر بريد اخر</center>

          <meta http-equiv='refresh' content='0; url=
    $page' />
      "
    );
    }

    //----------------------------------------------------------------

    // البدء في ادخال البيانات بجدولuser

    $sql=mysql_query("insert into user (user,password,mail,path_img) values ('$user','$password','$mail','$path_img')")or die("not insert!!");

    if (
    $sql){
    ///ارسال رسالة الي بريد العضو تهنئه بنجاح الانظام
     
    mail("$mail""$user""نشكرك لتسجيل ونتمنى لك التوفيق" ,"From: موقعي");

     echo(
    "<center>تم قبولك الف مبروك سوف يتم تحويلك  </center>

     <meta http-equiv='refresh' content='3; 
    $page' />");

     }
    ?>


    نكتفى بهذا القدر

    غدا سوف نتطرق لبناء نظام عضويات كامل بإذن الله عزوجل
    1- عمل صفحة تسجيل دخول من خلال الجلسات 4- عمل صفحة تحديث البيانات للعضو
    2- الترحيب بالعضو باسمه 3- إظهار صورة العضو في الصفحة الرئيسة


  2. #2
    عضو جديد


    تاريخ التسجيل: Jun 2011
    رقم العضوية: 7
    المشاركات: 2,181
    HVIPS5 غير متواجد حالياً

    رد: دورة تابعني (بناء نظام عضويات رسائل خاصة +ملف شخصي+حظر اعضاء+البوم صور) والشي الكثير


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

    مع الجلسات وحفظ بيانات العضو الاسم البريد الصورة الشخصية والاي دي تبع العضو

    ونسمي الصفحة form_long.php
    كود PHP:
    <form action="loing_user.php" method="POST">

    <
    input class="userP autoEmpty" type="text" name="user" id="user"  value="اسمك"/>

    <
    input class="passP autoEmpty" type="password" name="password"  value="الرقم السري"/>

    <
    input class="passP" type="submit" name="" value="تسجيل دخول" />

    </
    form
    الان نعمل صفحة التاكد من بيانات العضو ونسميها loing_user.php
    كود PHP:

    <?
     session_start
    (); ///نعمل جلسة لحفظ بيانات العضو
     
    $page="form_long.php";//الصفحة التي يتوجه لها عند وجود اخطاء
     
    $long="index.php";//الصفحة التي يتوجه لها بعد صحة البيانات
     //////استقبال اسم العضو والباسورد

     
    $user=mysql_escape_string($_POST['user']);
    $password=mysql_escape_string(md5($_POST['password']));
     
    //------------------------------------
     /////التحقق من عدم فراغ البيانات

     
    if (!$user || !$password){
      die(
    "<center>لاتوجد بيانات مدخلة</center>
    <meta http-equiv='refresh' content='3; url=
    $page' />
    "
    );
     }
     
    //------------------------------------
    ///الان نتاكد من وجود بيانات العضو في جدول الاعضاء

    $sql=mysql_query("select * from user where  user='$user' and password='$password' ") or die ("not");
    $row=mysql_fetch_assoc($sql);
    //نعمل شرط اذا تم التأكد من البيانات نقول بتخزين بيانات العضو اسمه والاي دي وبريده وصورة في جلسات
    if ($user==$row['user'] || $password==$row['password']){
    $_SESSION['id_user']=$row['user_id'];
    $_SESSION['user_name']=$row['user'];
    $_SESSION['mail_user']=$row['mail'];
    $_SESSION['image_user']=$row['img_user'];

    echo 
    "<center>تم تسجيل دخولك اهلا وسهلا بك يا&nbsp;$_SESSION[user_name]</center>
    <meta http-equiv='refresh' content='3; url=
    $long'/>");

    }else{

    echo 
    " <center>البيانات خطأ للاسف حاول مرة أخرى</center>
     <meta http-equiv='refresh' content='3; url=form_long.php' />"
    ;
    }

    ?>
    الان احنا خزنا بيانات العضو في جلسات

    اذا اردنا اظهار اسم العضو فقط نعمل الاتي



    كود PHP:
    echo $_SESSION['user_name']; 


    اذا اردنا اظهار بريد العضو

    PHP كود :

    echo $_SESSION['mail_user'];




    وهكذا

    الان مثلا في الصفحة الرئيسية تعمل رسالة ترحيب للعضو مع وضع صورته
    مثل هالحركة ذي شاهد الصورة

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي
    كل ماعليك عملة في الصفحة الرئيسية عمل شرط

    كود PHP:

    <?

     session_start
    ();//نعمل بداية جلسة في الصفحة الرئيسية
     
    if (isset($_SESSION['user_name'])){
     echo 
    "أهلا وسهلا بك يا".$_SESSION['user_name']"<br>";
     echo 
    "$_SESSION['image_user']";
     }else{

     echo 
    "<center><a href='rigstar.php'>انت غير مسجل لدينا اضغط هنا لتسجيل عضويتك</a></center>";

     }
    ?>
    التعديل الأخير تم بواسطة HVIPS5 ; 07-27-2011 الساعة 10:50 AM

  3. #3
    عضو جديد


    تاريخ التسجيل: Jun 2011
    رقم العضوية: 7
    المشاركات: 2,181
    HVIPS5 غير متواجد حالياً

    رد: دورة تابعني (بناء نظام عضويات رسائل خاصة +ملف شخصي+حظر اعضاء+البوم صور) والشي الكثير



    احنا نبي نسوي حركة اذا كان العضو غير مسجل دخول لدينا

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

    واختفاء فورم تسجيل الدخول كما هي حاصلة بالصور اللي بالمرفقات

    شاهد الصور اللي بالمرفقات

    العملية سهلة سوف نقوم بعمل شرط لتأكد من وجود قيمة في الجلسة اي اسم العضو
    كود PHP:


    <?

     session_start
    ();//نعمل بداية جلسة في الصفحة الرئيسية
     
    if (isset($_SESSION['user_name'])){
     echo 
    "أهلا وسهلا بك يا".$_SESSION['user_name']"&nbsp; "."<a href='user.php?user_id=$_SESSION[id_user]'>صفحتك</a>"."<a href='ching_date.php?user_id=$_SESSION[id_user]'>تعديل بياناتك</a>";

     }else{

    echo
    '<form action="loing_user.php" method="POST">

    <input class="userP autoEmpty" type="text" name="user" id="user"  value="اسمك"/>

    <input class="passP autoEmpty" type="password" name="password"  value="الرقم السري"/>

    <input class="passP" type="submit" name="" value="تسجيل دخول" />

    </form>'
    ;

     }
    ?>
    احنا عملنا شرط اذا كان توجد قيمة في الجلسة اي بالعربي اذا تم تسجيل الدخول

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

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

    وتعمل تضمين لصفحة فورم تسجيل الدخول

    اذا انت مو حاب وضع الكود بهذي الطريقة


    لاحظوا احنا استخدمنا الاي دي المخزن في الجلسة لمعرفة اي دي العضو



    كود PHP:
     <a href='user.php?user_id=$_SESSION[id_user]'>صفحتك</a





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

    user.php?user_id=5
    5= رقم العضو في جدول الاعضاء

    كذا خلاص احنا نقدر نتوسع اكثر في انشاء خصوصيات للاعضاء

    الان نريد انشاء صفحة الاعضاء ورايحه تتكون من الاتي

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

    للعضو يشاهدها جميع الاعضاء ويستطيع العضو ان يحذف الرسائل الغير مرغوب

    فيها في صفحته اعطاء تحكم للعضو
    الصور المرفقة    

  4. #4
    عضو جديد


    تاريخ التسجيل: Jun 2011
    رقم العضوية: 7
    المشاركات: 2,181
    HVIPS5 غير متواجد حالياً

    رد: دورة تابعني (بناء نظام عضويات رسائل خاصة +ملف شخصي+حظر اعضاء+البوم صور) والشي الكثير


    نكمل الشرح من عند ماتوقفنا

    احنا راحييين نعمل صفحة باسم user.php

    ولكن لازم نفهم تركيبة الصفحة

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

    وراحيين نضيف بوكس لكتابة مسج للعضو في صفحته

    شاهد الصورة اللي بالمرفقات

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

    يحتوي على 7 حقول
    كود PHP:
    CREATE TABLE IF NOT EXISTS `msg_user` (
      `
    msg_idint(100NOT NULL auto_increment,
      `
    msgtext NOT NULL,
      `
    user_pagetext NOT NULL,
      `
    name_usertext NOT NULL,
      `
    datetext NOT NULL,
      `
    user_idtext NOT NULL,
      `
    new_msgint(11NOT NULL,
      
    PRIMARY KEY  (`msg_id`)
    ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=147 
    اتمنى التركيز معي حتى تفهم الاستعلامات اللي راحيين نعملها على هذا الجدول

    user_page الحقل هذا يخزن رقم صفحة العضو اللي تم التعليق عليها

    رقم الصفحة هو الاي دي تبع العضو

    name_user يخزن اسم العضو الذي علق على صفحة العضو

    date طبعا رايح يخزن تاريخ كتابة التعليق

    user_id اي دي تبع العضو الذي علق على الصفحة

    new_msg هذا الحقل رايح نستفيد منه بحيث اذا كتب عضو مسج في صفحة عضو

    رايح نخلي القيمة واحد

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

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

    الان نبدأ كتابة اكواد صفحة user.php

    على فكرة احنا راحيين نعمل ثلاث صفحات ونضمنها داخل بعضها

    send_msg_user.php فيها فورم ارسال مسج

    send_go_msg_user.php صفحة استقبال البيانات من الفورم

    selcet_msg_user.php صفحة الاستعلامات من القاعدة واظهار النتائج

    الان نبدأ بصفحة user.php

    كود PHP:
    <?
     session_start
    (); //عمل جلسة
    $user_id=is_numeric($_GET['user_id']);  //جلب الاي دي
    if ( $user_id=="" || $user_id !=$user_id || $user_id==0){  //التاكد من ان الاي دي غير فارغ
    die("<meta http-equiv='refresh' content='0; url=index.html' />");

    }
    //عملنا استعلام لتاكد وعملنا شرط اذا كان الاي دي غير موجود ارجع لصفحة الرئيسية
    $date=mysql_query("SELECT * FROM user where user_id='$user_id' ");
    $row=mysql_fetch_assoc($date);
    if (
    $row['user_id']!=$user_id){
    die(
    "<meta http-equiv='refresh' content='0; url=index.html' />");
     }
     
    //---------------------------------------------------------------------
    /////بعد التحقق نقوم بعرض بيانات العضو اسمه بريده صورته من خلال الجلسات
         
    echo"<table bgcolor='#000000' width='70%' align='center' >
         <td>الاسم</td>
         <td>
    $_SESSION[user_name]</td>
         <tr></tr>
           <td>البريد</td>
         <td>
    $_SESSION[mail_user]</td>
         <tr></tr>
           <td>صورة العضو</td>
         <td><img src='
    $_SESSION[image_user]' width='100' height='120'></td>

      </table>"
    ;

    }
    ///عملنا شرط لتأكد من العضو قام بتسجيل الدخول حتى يستطيع ارسال مسج للعضو
    //-----
    if (isset($_SESSION['name'])){
    include(
    "send_msg_user.php");//ضمنا صفحة ارسال مسج داخل صفحة العضو
    }else{

    echo 
    "<center>انت غير مسجل لدينا او لم تقم بتسجيل الدخول</center>";

    }



    ?>
    الان راحييين نعمل صفحة

    send_msg_user.php
    وهي عبارة عن فورم بسيط جدا صندوق بوكس وزر ارسال مثل اللي موجود بالصورة اللي

    بالمرفقات
    كود PHP:
    <? include("selcet_msg_user.php"); ?>
    <br /><br />
    <?php


    echo "
    <form  method='post'  action='send_go_msg_user.php'>
    <table align='center' width='50%' >

    <td>رسالتك</td>
    <td><textarea class='comm_user' name='msg' rows='5' cols='30'></textarea></td>
    <tr>
    </tr>

    <td><input type='submit' value='ارسل تعليقك' /></td>
    <input type='hidden' name='user_page' value='
    $user_id' />
    <input type='hidden' name='name_user' value='
    $_SESSION[name]' />
    <input type='hidden' name='user_id'   value='
    $_SESSION[user_id]' />
    <input type='hidden' name='page'   value='user-
    $user_id.html' />

    </table>

    </form>
    "
    ;

    ?>
    في اول الاكواد ضمنا صفحة selcet_msg_user.php وهي المسؤولة عن عرض البيانات

    بحيث تعرض المسجات فوق صندوق ارسال المسجات

    خلونا الان في شرح الفورم

    احنا عملنا input مخفي اكثر من مرة ونبي نشرح لها لكم



    كود PHP:
    <input type='hidden' name='user_page' value='$user_id' /> 




    يحمل اي دي صفحة العضو



    كود PHP:
    <input type='hidden' name='name_user' value='$_SESSION[name]' /> 



    يحمل اسم العضو اللي ارسل المسج واستخدمنا اسمه بالجلسات



    كود PHP:
    <input type='hidden' name='user_id'   value='$_SESSION[user_id]' /> 




    يحمل اي دي العضو اللي ارسل المسج



    كود PHP:
    <input type='hidden' name='page'   value='user.php?user_id=$user_id' /> 




    يحمل اسمه الصفحة ونستفيد منه عندما يضغط العضو ارسال نضمن نرجوعه لنفس

    صفحة العضو التي كان فيها

    لاتنسون احنا نعمل الجدول msg_user

    وانا شرحت مهمة الحقول

    وهذا الشرح اعيده لكم
    كود PHP:
    CREATE TABLE IF NOT EXISTS `msg_user` (
      `
    msg_idint(100NOT NULL auto_increment,
      `
    msgtext NOT NULL,
      `
    user_pagetext NOT NULL,
      `
    name_usertext NOT NULL,
      `
    datetext NOT NULL,
      `
    user_idtext NOT NULL,
      `
    new_msgint(11NOT NULL,
      
    PRIMARY KEY  (`msg_id`)
    ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=147 
    user_page الحقل هذا يخزن رقم صفحة العضو اللي تم التعليق عليها

    رقم الصفحة هو الاي دي تبع العضو

    name_user يخزن اسم العضو الذي علق على صفحة العضو

    date طبعا رايح يخزن تاريخ كتابة التعليق

    user_id اي دي تبع العضو الذي علق على الصفحة

    new_msg هذا الحقل رايح نستفيد منه بحيث اذا كتب عضو مسج في صفحة عضو

    رايح نخلي القيمة واحد

    الان نعمل صفحة استقبال البيانات من فورم المسج
    نعمل صفحة ونسميها
    send_go_msg_user.php

    كود PHP:
    <?

    $page
    =$_POST['page'];//استقبنا اسم الصفحة
    $name_user=$_POST['name_user'];//استقبلنا اسم العضو الذي ارسل المسج
    $user_id=$_POST['user_id'];//استقبلنا اي دي العضو الذي كتب التعليق
    $user_page=$_POST['user_page'];//استقبلنا رقم صفحة العضو التي تم التعليق عليها
    $ms=mysql_escape_string($_POST['msg']);//استقبلنا المسج
    $date=date ("Y/m/d");//جهزنا متغير يحمل التاريخ
    $new_msg=1;//جعلنا قيمة الحقل واحد
     
    if( $ms=="" ){
    die(
    "<center>اكتب رسالتك</center>");

     }





     
    $sql="insert into msg_user  (msg,user_page,name_user,date,user_id,new_msg) VALUES ('$ms','$user_page','$name_user','$date','$user_id','$new_msg')"or die("توجد مشكلة بالجدول");
      
    $insert=mysql_query($sql);


    if (isset(
    $insert)){
      echo 
    "
     <center><b>تم طباعة رسالتك بنجاح سوف تشاهدها مباشرة</b></center>
      <meta http-equiv='refresh' content='2; url=
    $page' />
     "
    ;


    }
    ?>
    الصور المرفقة  

  5. #5
    عضو جديد


    تاريخ التسجيل: Jun 2011
    رقم العضوية: 7
    المشاركات: 2,181
    HVIPS5 غير متواجد حالياً

    رد: دورة تابعني (بناء نظام عضويات رسائل خاصة +ملف شخصي+حظر اعضاء+البوم صور) والشي الكثير


    الان نأتي الي الصفحة المهمة وهي صفحة selcet_msg_user.php

    تذكروا ان ضمناها داخل صفحة send_msg_user

    الان نأتي الي كتابة اكواد صفحة selcet_msg_user.php

    نعمل استعلام واتمنى التركيز وفهم الاستعلام جيدا

    احنا قلنا ان الحقل
    user_page = اي دي الصفحة واي دي الصفحة يساوي اي دي العضو

    يعني راحيين نقول للقاعدة



    كود PHP:
    user_page='$user_id' 






    كود PHP:
    $sql=mysql_query("select * from msg_user  where   user_page='$user_id'  ")or die(mysql_error()); 




    ايش فهمتوا من الاستعلام

    بالعربي العضو يكون اي دي تبعه 5 والصفحة التي تم التعليق عليها رايح يكون 5

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

    يعني رايح يعرض المسجات المرسلة لصفحة هذا العضو فقط

    بقية الاكواد

    كود PHP:
    while($row=mysql_fetch_assoc($sql)){

    if (isset(
    $row['user_page'] )){//اذا كانت صفحة العضو تحتوي على مسجات حقق الشرط

    echo "<table align='center' width='80%'>";




    echo 
    "<td>رسالة من العضو&nbsp;<a href='user.php?user_id=$row[user_id]'>$row[name_user]</a><br><b>$row[msg]</b><br>
    بتاريخ&nbsp;
    $row[date]

    "
    ;




    if(
    $_SESSION['user_id']==$row['user_page']){ //اذا كان الاي دي تبع العضو المخزن في جلسة يساوي رقم الصفحة حقق الشرط
    echo "<a href='delet_msg_user.php?msg_id=$row[msg_id]'>حذف الرسالة</a>";
    }
    }
    echo 
    "</td>";
    }

    echo
    "</table>";

    ?> 
    الان احنا عطينا العضو في صفحتة تحكم بالمسجات ( اي يستطيع حذفها)

    وتأكدنا ان العضو هو فعلا مالك هذي الصفحة من خلال الشرط



    كود PHP:
    if($_SESSION['user_id']==$row['user_page']) 





    كود PHP:
    echo "<a href='delet_msg_user.php?msg_id=$row[msg_id]'>حذف الرسالة</a>"



    العضو يحمل اي دي 5 ورقم الصفحة 5 يعني هو مالك الصفحة
    لاننا قلنا من قبل رقم الصفحة هو اي دي العضو نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    الان خلونا نعمل صفحة حذف المسجات
    delet_msg_user.php

    الكود
    كود PHP:

    <?
      session_start
    ();

    $msg_id=is_numeric($_GET['msg_id']);

    $sql5=mysql_query("delete from msg_user where msg_id='$_GET[msg_id]'")or die (mysql_error());

       echo 
    "<center>تم حذف الرسالة بنجاح</center>

          <meta http-equiv='refresh' content='1; url=user.php?user_id=
    $_SESSION[user_id]' /> ";


      
    ?>
    اعتقد مو محتاج الي شرح واضح جدا

  6. #6
    عضو جديد


    تاريخ التسجيل: Jun 2011
    رقم العضوية: 7
    المشاركات: 2,181
    HVIPS5 غير متواجد حالياً

    رد: دورة تابعني (بناء نظام عضويات رسائل خاصة +ملف شخصي+حظر اعضاء+البوم صور) والشي الكثير


    الان راحيين نعطي العضو شوية صلاحيات وحرية

    راحيين نخلي العضو يقدر يحظر اي عضو اخر من انه يشاهد مسجات الاعضاء

    المكتوبه في في صفحته ويمنعه من كتابة مسج له ايضا


    ارجع الي بداية الموضوع انا وضعت جدول حظر الاعضاء


    الان نعمل جدول حظر الاعضاء وسميه block
    block_id
    name_user
    user_id
    from_user
    block من نوع inti


    تذكرتوه صح نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    شاهد الصورة بالمرفقات

    وهذا هو الجدول
    كود PHP:
    CREATE TABLE IF NOT EXISTS `block` (
      `
    block_idint(11NOT NULL auto_increment,
      `
    name_usertext NOT NULL,
      `
    user_idtext NOT NULL,
      `
    from_usertext NOT NULL,
      `
    blockint(11NOT NULL,
      
    PRIMARY KEY  (`block_id`)
    ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=40 
      

    name_user اسم العضو المحظور

    user_id اي دي العضو الذي قام بعملية الحظر

    from_user اسم العضو الذي قام بعملية الحظر

    block يحمل قيمة اما واحد او صفر

    واحد يعني العضو محظور

    صفر يعني العضو غير محظور

    الان ننشأ فورم بسيط يحتوي على input وزر ارسال

    الان احنا نعمل رابط الصفحة تبع الحظر

    ويكون اسمها block ورابطها رايح يكون كذا



    كود PHP:
    block.php?user_id=$_SESSION[user_id




    وهذا كود الصفحة
    كود PHP:
    <?

        session_start
    ();
       
    $user_id=is_numeric($_GET['user_id']);

     
    //اذا كان رقم الصفحة لايساوي اي دي العضو حقق الشرط
       
    if ($_SESSION['user_id']!=$user_id){
       echo
    "<center>أنت تحاول الدخول على صفحة لاتمتلك الصلاحيات لدخولها</center>";

     }else{

     echo 
    "
    <form action='block_now_user.php' method='POST'>
    <input name='name_user'  type='text'/>
     <input name='user_id' type='hidden' value='
    $_SESSION[user_id]' />
     <input name='from_user' type='hidden' value='
    $_SESSION[name]' />
    <input type='submit' name='' value='احظر العضو' />


    </form>
    "
    ;

     }


     
    ?>
    لاحظوا انا عملنا شرط مهم جدا حتى لايستطيع العضو ان يدخل على خصوصيات عضو اخر

    كود PHP:
    $user_id=is_numeric($_GET['user_id']);

     
    //اذا كان رقم الصفحة لايساوي اي دي العضو حقق الشرط
       
    if ($_SESSION['user_id']!=$user_id){
       echo
    "<center>أنت تحاول الدخول على صفحة لاتمتلك الصلاحيات لدخولها</center>"
    الان العضو لو ضغط على رابط صفحة الحظر

    راحيين نجلب اي دي صفحة الحظر من خلال



    كود PHP:
    $user_id=is_numeric($_GET['user_id']); 




    بعد ماجلبنا الاي دي عملنا شرط

    اذا كان اي دي صفحة الحظر لايساوي اي دي العضو ضع له رسالة

    أنت تحاول الدخول على صفحة لاتمتلك الصلاحيات لدخولها

    يعني مثلا عضو اسمه محمد سجل دخول

    والاي دي تبعه 10 رايح يكون صفحة الحظر الاي دي تبعها 10

    انا دايم اكرر حتى يكون الامر مفهوم لكم خصوصا ان فيه متبدأين يحتاجون الي توضيح

    اكثر

    وايضا لاحظتوا وضعنا ضمن الفورم input مخفي اثنين

    واحد يحمل الاي دي تبع العضو الذي قام بعملية الحظر



    كود PHP:
    <input name='user_id' type='hidden' value='$_SESSION[user_id]' /> 




    والثاني يحمل اسم العضو الذي قام بعملية الحظر



    كود PHP:
    <input name='from_user' type='hidden' value='$_SESSION[name]' /> 





    الان نأتي الي صفحة استقبال البيانات وادخالها بجدول block

    ورايح يكون اسمها طبعا

    block_now_user.php

    وهذا كود الصفحة
    كود PHP:
    <?
        session_start
    ();
       
    $page=$_POST['user_id'];
       
    $from_user=$_POST['from_user'];
      
    $name_user=$_POST['name_user'];
      
    $block=1;
      if(
    $name_user==""){

      die(
    "<center>لم تدخل اسم العضو المراد حظره!</center>");
      }

         if(
    $name_user==$_SESSION['name']){

      die(
    "<center>انت تحاول حظرك نفسك وهذا خطأ</center>");
      }
      
    $sqll=mysql_query("select * from block where name_user='$name_user' ")or die("يوجد خطأ بالجدول");
        
    $row=mysql_fetch_assoc($sqll);
        if (isset(
    $row['name_user'])){

        die(
    "<center>تشير السجلات ان اسم العضو محظور لديك</center>");
        }
       
    $sql=mysql_query("insert into block (name_user,user_id,from_user,block) VALUES ('$name_user','$page','$from_user','$block')")or die("not");

       echo 
    "<center>تم حظر العضو المطلوب</center>";
       echo
    "<meta http-equiv='refresh' content='2; url=block.php?user_id=$page' />";


    ?>
    لاحظوا ان عملنا متغير يحمل رقم واحد



    كود:
    $block=1;




    لاننا قلنا العضو المحظور سوف ياخذ قيمة واحد والعضو الغير محظور رايح ياخذ قيمة صفر

    واعتقد ان الاكواد واضحة مو محتاجة شرح

    الان خلاص انتهينا من حظر العضو اللي متعبنا

    ولكن نبي نمنعه من مشاهدة المسجات وكتابة مسج في صفحتنا

    نرجع الان الي صفحة selcet_msg_user.php الموجودة بالرد السابق

    ونضع هالاكواد فوقها بالضبط
    كود PHP:
    $user_id=$_GET['user_id'];
    $sql1=mysql_query("select * from block  where user_id='$user_id' and  block=1 ")or die(mysql_error());
    $row1=mysql_fetch_assoc($sql1);
    if(
    $row1['name_user']==$_SESSION['name']){ 
    die("<center>تم حظرك من قبل العضو لان لايريدك ان تشاهد مسجاته مع الاعضاء الاخرين ولا يريدك تكتب له مسج$row1[from_user]</center>");
    }





    اتمنى يتكون الاكواد واضحة لك

    اذا الاستعلام مو مفهوم او الشرط مو مفهوم بلغني

    تحياتي


    الدرس القادم عمل نظام رسائل خاصة بين الاعضاء بطريقة مميزة جدا

    انتظرونا غدا بإذن الله

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

  7. #7
    عضو جديد


    تاريخ التسجيل: Jun 2011
    رقم العضوية: 7
    المشاركات: 2,181
    HVIPS5 غير متواجد حالياً

    رد: دورة تابعني (بناء نظام عضويات رسائل خاصة +ملف شخصي+حظر اعضاء+البوم صور) والشي الكثير


    الان نأتي الي الصفحة المهمة وهي صفحة selcet_msg_user.php

    تذكروا ان ضمناها داخل صفحة send_msg_user

    الان نأتي الي كتابة اكواد صفحة selcet_msg_user.php

    نعمل استعلام واتمنى التركيز وفهم الاستعلام جيدا

    احنا قلنا ان الحقل
    user_page = اي دي الصفحة واي دي الصفحة يساوي اي دي العضو

    يعني راحيين نقول للقاعدة



    كود PHP:
    user_page='$user_id' 






    كود PHP:
    $sql=mysql_query("select * from msg_user  where   user_page='$user_id'  ")or die(mysql_error()); 




    ايش فهمتوا من الاستعلام

    بالعربي العضو يكون اي دي تبعه 5 والصفحة التي تم التعليق عليها رايح يكون 5

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

    يعني رايح يعرض المسجات المرسلة لصفحة هذا العضو فقط

    بقية الاكواد

    كود PHP:
    while($row=mysql_fetch_assoc($sql)){

    if (isset(
    $row['user_page'] )){//اذا كانت صفحة العضو تحتوي على مسجات حقق الشرط

    echo "<table align='center' width='80%'>";




    echo 
    "<td>رسالة من العضو&nbsp;<a href='user.php?user_id=$row[user_id]'>$row[name_user]</a><br><b>$row[msg]</b><br>
    بتاريخ&nbsp;
    $row[date]

    "
    ;




    if(
    $_SESSION['user_id']==$row['user_page']){ //اذا كان الاي دي تبع العضو المخزن في جلسة يساوي رقم الصفحة حقق الشرط
    echo "<a href='delet_msg_user.php?msg_id=$row[msg_id]'>حذف الرسالة</a>";
    }
    }
    echo 
    "</td>";
    }

    echo
    "</table>";

    ?> 
    الان احنا عطينا العضو في صفحتة تحكم بالمسجات ( اي يستطيع حذفها)

    وتأكدنا ان العضو هو فعلا مالك هذي الصفحة من خلال الشرط



    كود PHP:
    if($_SESSION['user_id']==$row['user_page']) 





    كود PHP:
    echo "<a href='delet_msg_user.php?msg_id=$row[msg_id]'>حذف الرسالة</a>"



    العضو يحمل اي دي 5 ورقم الصفحة 5 يعني هو مالك الصفحة
    لاننا قلنا من قبل رقم الصفحة هو اي دي العضو نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    الان خلونا نعمل صفحة حذف المسجات
    delet_msg_user.php

    الكود

    كود PHP:
    <?
      session_start
    ();

    $msg_id=is_numeric($_GET['msg_id']);

    $sql5=mysql_query("delete from msg_user where msg_id='$_GET[msg_id]'")or die (mysql_error());

       echo 
    "<center>تم حذف الرسالة بنجاح</center>

          <meta http-equiv='refresh' content='1; url=user.php?user_id=
    $_SESSION[user_id]' /> ";


      
    ?>
    اعتقد مو محتاج الي شرح واضح جدا

  8. #8
    عضو جديد


    تاريخ التسجيل: Jun 2011
    رقم العضوية: 7
    المشاركات: 2,181
    HVIPS5 غير متواجد حالياً

    رد: دورة تابعني (بناء نظام عضويات رسائل خاصة +ملف شخصي+حظر اعضاء+البوم صور) والشي الكثير


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

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

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

    sendmsguser




    ----------------------------------------------------------
    الان دعونا نجهز صفحة ارسال الرسالة

    طبعا رايح يكون الرابط المؤدي الي صفحة ارسال رسالة خاصة كالتالي



    كود PHP:
    echo "<a href='sendmsg.php?id_user=$_SESSION[user_id]'>ارسل رسالة خاصة</a>"




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

    الان نكتب اكواد صفحة ارسال رسالة خاصة sendmsg.php

    اولا كود نكتبه رايح يكون شرط مهم جدا وهو نتأكد ان هذا العضو يحمل الايدي الصحيح



    كود PHP:
    <?
       session_start
    ();
        
    $user_id=is_numeric($_GET['user_id']);
       if (
    $_SESSION['user_id']!=$user_id){
       echo 
    "<center>أنت تحاول الدخول على صفحة لاتمتلك الصلاحيات لدخولها</center>";
       exit();
     }
     echo 
    "<a href='sendmsg.php?id_user=$_SESSION[user_id]'>ارسل رسالة خاصة</a>";
     
    ?>
    ماذا فهمنا

    الان العضو اذا ضغط على الرابط التالي



    كود PHP:
    sendmsg.php?id_user=$_SESSION[user_id





    عملنا بداية جلسة


    كود PHP:
    session_start(); 




    عملنا جلب اي دي الصفحة


    [PHP]
    كود PHP:
     $user_id=$_GET['user_id']; 




    عملنا شرط اذا كان اي دي الصفحة لايساوي اي دي العضو اظهر رسالة

    انه لايمتلك الصلاحيات لدخول الصفحة

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

    الان تحت الشرط نكمل بقية كتابة الاكواد

    ونعمل فورم مراسلة

    كود PHP:
    <?
    echo"
     <form action='sendmsg.php?user_id=
    $_SESSION[user_id]' method='POST'>
     <table align='center' width='50%' bgcolor='#ffffff'>
     <td><center>اسم العضو</center></td>
     <td><input name='user_name' type='text' size='25' /></td>
     <tr></tr>
     <td><center>عنوان الرسالة</center></td>
       <td><input name='total_msg' type='text' size='25' /></td>
     <tr></tr>
      <td><center>الرسالة</center></td>
     <td><textarea class='tb5' name='msg_user' rows='6' cols='30'></textarea></td>
     <tr></tr>
       <td><center><img src='captcha.php'></center></td>
      <td><input type='text' name='captchacode' value='اكتب الكود هنا' size='25'/></td>
      <tr></tr>
     <td><center><input type='submit' name='' value='اضغط هنا لإرسال الرسالة' /></center></td>
     </table>
     </form>
      "
    ;
      
    ?>
    لاحظ ان خليت الصفحة اللي يتوجه لها الفورم بهذي الطريقة



    كود PHP:
    sendmsg.php?user_id=$_SESSION[user_id




    لو ان ايدي العضو مثلا 30 رايح يكون مسار اي الصفحة 30

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



    كود PHP:
    sendmsg.php?user_id=30 




    صفحة الارسال والاستقبال بصفحة واحد طبعا

    الان تحت الفورم نكتب الاكواد التالية

    كود PHP:
    <?

        
    if( $_SERVER['REQUEST_METHOD'] == 'POST' ){
       
    $user_name=strip_tags($_POST['user_name']);
        
    $total_msg=strip_tags($_POST['total_msg']);
       
    $msg_user=strip_tags($_POST['msg_user']);
       
    $from=$_SESSION['name'];
       
    $id=$_SESSION['user_id'];
       
    $capth=mysql_escape_string($_POST['captchacode']);
         
    $sqll=mysql_query("select * from user where user='$user_name' ")or die("يوجد خطأ بالجدول");
         
    $row=mysql_fetch_assoc($sqll);
         if (
    $row['user']!=$user_name){
         die(
    "<center>اسم العضو غير موجود لدينا</center>");
         }
          if(
    $capth != $_SESSION['captchacode'] OR $_SESSION["captchacode"]==''){
     die(
    "<center>خطأ في كتابة الكود</center>");
     }
       if (
    $user_name=="" || $msg_user==""){

       die(
    "<center>البيانات فارغة </center><br><br>");
       }else{

         
    $sql=mysql_query("insert into sendmsguser (user_name,total_msg,msg_user,from_user,user_id) VALUES ('$user_name','$total_msg','$msg_user','$from','$id')")or die("not");

       }
       if (
    $sql){
        echo 
    "<center><div class='tb1'>تم الارسال بنجاح</div></center>";
       }
       }
      
    ?>
    نشرح الاكواد لكم


    كود:
    if( $_SERVER['REQUEST_METHOD'] == 'POST' ){



    عملنا شرط اذا كان يوجد بيانات مرسلة من الفورم نفذ الشرط


    لكن لاحظوا هنا

    كود PHP:
    $from=$_SESSION['name'];
       
    $id=$_SESSION['user_id']; 
    خزنا جلسة اسم العضو والاي دي تبعه في متغيرات
    العضو طبعا الذي قام بإرسال رسالة خاصةنقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

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

    الاعضاء
    كود PHP:

    $sqll
    =mysql_query("select * from user where user='$user_name' ")or die("يوجد خطأ بالجدول");
    $row=mysql_fetch_assoc($sqll); 
    وعملنا شرط اذا لم يكن العضو المرسل اليه الرسالة من ضمن الاعضاء اظهر رسالة وتوقف

    اسم العضو غير موجود لدينا
    كود PHP:
    if ($row['user']!=$user_name){
         die(
    "<center>اسم العضو غير موجود لدينا</center>");
         } 
    التاكد من ان كود الكباتشا صحيح
    كود PHP:
    if($capth != $_SESSION['captchacode'] OR $_SESSION["captchacode"]==''){
     die(
    "<center>خطأ في كتابة الكود</center>");
     } 
    عملنا شرط لتحقق من ان اسم العضو المرسل اليه والرسالة غير فارغة

    بعدها قمنا بإدخال البيانات الي جدول sendmsguser
    كود PHP:
    if ($user_name=="" || $msg_user==""){

       die(
    "<center>البيانات فارغة </center><br><br>");
       }else{

         
    $sql=mysql_query("insert into sendmsguser (user_name,total_msg,msg_user,from_user,user_id) VALUES ('$user_name','$total_msg','$msg_user','$from','$id')")or die("not");

       }
       if (
    $sql){
        echo 
    "<center><div class='tb1'>تم الارسال بنجاح</div></center>";
       }
       }
      
    ?> 
    الان نكتفى بهذا القدر

    وغدا سوف نعمل الاستعلام من القاعدة لإخراج كل الرسائل الخاصة لكل عضو

    انتظرونا ومزمزوا الليلة بهذا الدرسنقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي
    الصور المرفقة   

  9. #9
    عضو جديد


    تاريخ التسجيل: Jun 2011
    رقم العضوية: 7
    المشاركات: 2,181
    HVIPS5 غير متواجد حالياً

    رد: دورة تابعني (بناء نظام عضويات رسائل خاصة +ملف شخصي+حظر اعضاء+البوم صور) والشي الكثير


    هلا بك اخوي العزيز وتشرفت في مرورك

    حاولت انام ماجاني نوووم قلت خليني اكمل الدرس

    الان ياخوان نريد الاستعلام عن الرسائل الخاصة لكل عضو حسب الاي دي تبعه

    يعني اظهار الرسائل الخاصة حسب اي دي العضو


    الان نعمل صفحة ونسميها : show_msg_user.php

    ورايح تعمل لرابط لدخول لها هكذا



    كود PHP:
    echo "<a href='show_msg_user.php?user_id=$_SESSION[user_id]'>قراءة الرسائل الخاصة</a>"


    الان نكتب اكواد صفحة عرض الرسائل الخاصة show_msg_user.php

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

    كود PHP:
    session_start();
        
    $user_id=is_numeric($_GET['user_id']);
       if (
    $_SESSION['user_id']!=$user_id){
       echo 
    "<center>أنت تحاول الدخول على صفحة لاتمتلك الصلاحيات لدخولها</center>";
       exit();
     } 
    الان نعمل جدول
    كود PHP:
    echo "<div align='center'>
      <center>
      <table    width='90%' >
        <tr>

         <td class='tb1'><p align='center'>المرسل</p></td>
          <td class='tb1'><p align='center'>عنوان الرسالة</p></td>
          <td class='tb1'><p align='center'>الرد على الرسالة</p></td>
          <td class='tb1'><p align='center'>حذف الرسالة</p></td>
        </tr>"

    الان نعمل الاستعلام من القاعدة وعرض النتائج




    كود PHP:
    $sql=mysql_query("select * from sendmsguser where user_name='$_SESSION[name]'  ORDER BY id_msg DESC limit $num=")or die(mysql_error()); 


    انا قلت في الاستعلام

    PHP كود :

    user_name='$_SESSION[name]'




    ان يساوي مابداخل الحقل user_name اسم العضو في الجلسة


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

    نكمل بقية كتابة الاكواد


    echo "<form action='delet_msg_user.php' method='POST'>";

    while (
    $row = mysql_fetch_array ($sql)) {

    echo
    "<td><p align='center'>".$row['from_user']."</p></td>";
    echo
    "<td><a href='mesge_show_now.php?user_id=$_SESSION[user_id]&id_msg=".$row['id_msg']."'><center>".$row['total_msg']."</center></a></td>";
    echo
    "<td><a href='sendmsg.php?user_id=$_SESSION[user_id]&from_user=".$row['from_user']."&total_msg=رد:".$row['total_msg']."'><center>الرد على الرسالة</center></a></td>";
    echo
    "<td><center><input type='checkbox' name='id_msg[]' value=".$row['id_msg']." /></center></td>";
    echo
    "</tr>";
    }
    echo
    "</tr>";
    echo
    "<td><input type='submit' value='احـــــــذف' /><input type='reset' value='إلغــــــــاء' /></td>";

    echo
    "</table>
    </center>
    </div>"
    ;
    echo
    "</form>";
    echo
    "<br>";




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

    ويتوجه الي الصفحة delet_msg_user.php

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

    نكمل بقية الاكواد



    كود PHP:
    while ($row mysql_fetch_array ($sql)) { 

    عملنا تكرار لإستخراج الرسائل

    استخراج اسم مرسل الرسالة


    كود PHP:
    echo"<td><p align='center'>".$row['from_user']."</p></td>"


    عملنا رابط يتوجه لقراءة الرسالة
    كود PHP:
    echo"<td><a href='mesge_show_now.php?user_id=$_SESSION[user_id]&id_msg=".$row['id_msg']."'><center>".$row['total_msg']."</center></a></td>"
    لاحظوا رابط قراءة الرسالة

    كود PHP:
    <a href='mesge_show_now.php?user_id=$_SESSION[user_id]&id_msg=".$row['id_msg']."'
    قراءة الرسالة حسب الاي دي تبعها

    استخدمنا & لربط بعد اي دي العضو


    كود PHP:
    mesge_show_now.php?user_id=30&id_msg=


    اتمنى يكون مفهوم ياشباب كلامي


    الان ركز معي احنا عملنا حركة الرد على الرسالة وجلب اسم المرسل
    وعنوان الرسالة كارد عليها

    كود PHP:
    echo"<td><a href='sendmsg.php?user_id=$_SESSION[user_id]&from_user=".$row['from_user']."&total_msg=رد:".$row['total_msg']."'>الرد على الرسالة</a></td>"
    شوف كيف عملنا الرابط طووويل صح نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    ركز معي

    رابط صفحة عرض الرسالة الخاصة حسب اي دي العضو
    sendmsg.php?user_id=$_SESSION[user_id]

    &

    from_user=$row['from_user']
    اظهار اسم العضو الذي ارسل الرسالة

    &



    كود PHP:
    total_msg=رد:$row['total_msg'

    اظهار عنوان الرسالة كارد عليها

    ويكون الرابط بالمتصفح



    كود PHP:
    sendmsg.php?user_id=27&from_user=saudi.ok&total_msg=احب php 



    اضفنا اداة checkbox لحذف الرسالة بمجرد الاشارة بمربع checkbox
    كود PHP:
    echo"<td><center><input type='checkbox' name='id_msg[]' value=".$row['id_msg']." /></center></td>"
    بقية الامور واضحة لكم

    كود صفحة show_msg_user.php

    كود PHP:
    <?
     session_start
    ();
        
    $user_id=is_numeric($_GET['user_id']);
       if (
    $_SESSION['user_id']!=$user_id){
       echo 
    "<center>أنت تحاول الدخول على صفحة لاتمتلك الصلاحيات لدخولها</center>";
       exit();
     }

     echo 
    "<div align='center'>
      <center>
      <table    width='90%' >
        <tr>

         <td class='tb1'><p align='center'>المرسل</p></td>
          <td class='tb1'><p align='center'>عنوان الرسالة</p></td>
          <td class='tb1'><p align='center'>الرد على الرسالة</p></td>
          <td class='tb1'><p align='center'>حذف الرسالة</p></td>
        </tr>"
    ;

       
    $sql=mysql_query("select * from sendmsguser where user_name='$_SESSION[name]'  ORDER BY id_msg DESC limit 10")or die(mysql_error());
    echo 
    "<form action='delet_msg_user.php'  method='POST'>";

    while (
    $row mysql_fetch_array ($sql)) {

     echo
    "<td><p align='center'>".$row['from_user']."</p></td>";
    echo
    "<td><a href='mesge_show_now.php?user_id=$_SESSION[user_id]&id_msg=".$row['id_msg']."'><center>".$row['total_msg']."</center></a></td>";
    echo
    "<td><a href='sendmsg.php?user_id=$_SESSION[user_id]&from_user=$row['from_user']&total_msg=رد:$row['total_msg']'>الرد على الرسالة</a></td>";
     echo
    "<td><center><input type='checkbox' name='id_msg[]' value=".$row['id_msg']." /></center></td>";
     echo 
    "</tr>";
    }
    echo 
    "</tr>";
    echo 
    "<td><input type='submit'  value='احـــــــذف' /><input type='reset'  value='إلغــــــــاء' /></td>";

    echo 
    "</table>
      </center>
    </div>"
    ;
    echo
    "</form>";
    echo 
    "<br>";


    ?>
    ------------------------------------------------
    الان دعونا نعمل صفحة حذف الرسائل واللي سميناها

    delet_msg_user.php
    كود PHP:
    <?
    $id
    =$_POST['id_msg'];
    if (
    $id=""){
     die (
    "لم تختار رسالة لإحذفها");

    }else{
    $id_id=implode(",",$id);


    $sql=mysql_query("delete from sendmsguser where id_msg IN(".$id_id.")")or die (mysql_error());



     if (isset(
    $sql)){
     return 
    "
          <center>تم الحذف بنجاح</center>
     <meta http-equiv='refresh' content='2; url=show_msg_user.php?user_id=
    $_SESSION[user_id]' />
     "
    ;
    }
    }
    ?>
    الصور المرفقة   
    التعديل الأخير تم بواسطة HVIPS5 ; 07-27-2011 الساعة 01:58 PM

  10. #10
    عضو جديد


    تاريخ التسجيل: Jun 2011
    رقم العضوية: 7
    المشاركات: 2,181
    HVIPS5 غير متواجد حالياً

    رد: دورة تابعني (بناء نظام عضويات رسائل خاصة +ملف شخصي+حظر اعضاء+البوم صور) والشي الكثير


    <div align="center"><div class="post_body" id="pid_25308"> السلام عليكم ورحمة الله وبركاته

    الان نتطرق الي عمل مركز رفع صور للاعضاء كل عضو سوف يكون له حساب خاص لصوره

    يستيطع رفعها وحذفها متى ما شاء
    الان نعمل جدول جديد في القاعدة ونسميه up_load_user

    وويتكون من ثلاث حقو فقط

    1-id_images

    2-user_id سوف يتم ربط كل صورة بالاي دي تبع العضو

    3- path_image رابط الصورة في المجلد المرفوع عليه الصورة

    وهذي صورة من الجدول شاهد المرفقات

    الان اعمل مجلد في موقعك وسمه up واعطه تصريح 777

    الان نعمل فورم رفع الصورة

    PHP كود :

    <form action="up_img.php" method="POST" enctype="multipart/form-data">
    <
    td>أختر الصورة</td>
    <
    td><input name="img_user" type="file" /></td>

    </
    form>




    الان اعمل صفحة باسم up_img.php

    طبعا الان يوم يسجل العضو دخول الي السكربت

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

    ان خزنا بيانات العضو عند تسجيل دخول مثل اسمه وبريده وصورته والاي دي تبعه

    الان نعمل صفحة up_img.php
    نبدأ جلسة
    ---------------
    كود PHP:
    session_start();

    [  
    $image=$_FILES["img_user"]["name"];//اسم الصورة
      
    $siez=$_FILES["img_user"]['size']; //حجم الملف
     
    if($image==""){
       die(
    "لم تقم اختيار صورة !");
     } 
    كود PHP:
    $cet strchr($image,'.');
     
    $new_image=time().$cet
    عملنا هنا بقص اسم الصورة واستخراج امتدادها فقط

    PHP كود :

    $cet = strchr($image,'.');




    ------------
    عملنا اسم جديد لصورة من خلال دالة تايم


    كود PHP:
    $new_image=time().$cet



    ---------------------------


    من خلال الدالة strstr نتأكد من امتداد الصورة ووضعنا في الشرط الامتدادات الممنوعة
    كود PHP:
    $img=strstr($image,".");

      if (
    $this->img==".exe" ||
       
    $this->img==".doc" ||
      
    $this->img==".zip" ||
      
    $this->img==".php" ||
      
    $this->img==".txt" ||
       
    $this->img==".php"
       
    ||$this->img==".html" ||
       
    $this->img==".htm" ||
       
    $this->img==".rar" ||
        
    $this->img==".zip" ||
        
    $this->img==".js" ||
        
    $this->img==".psd" ||
        
    $this->img==".rm"||
        
    $this->img==".ico" ||
        
    $this->img==".do")  {
    die(
    "هذا الامتداد ممنوع وليس صورة !");

      } 
    ---------------------
    الان نتأكد من حجم الصورة

    كود PHP:
    if($size == 300000){
        die(
    "حجم الملف كبير");
      } 
    -------------------
    الان نجهز المجلد اللي رايح ترفع عليه الصورة + اسم الصورة الجديد



    كود:
    $path_image= "up/".$new_image;




    ----------------------

    الان نرفع الصورة للمجلد من خلال دالة move_uploaded_file



    كود:
    move_uploaded_file($_FILES["img_user"]["tmp_name"],$path_image);




    الان نخزن اي دي العضو اللي في الجلسة في متغير



    كود PHP:
    $user_id=$_SESSION['user_id']; 




    الان ندخل البيانات الي القاعدة

    كود PHP:
    $sql=mysql_query("INSERT INTO up_load_user (user_id,path_image)VALUES  ('$user_id','$path_image')")or die("توجد مشكلة في عملية الادخال");
      if (isset(
    $sql)){
        echo 
    "<center>تم رفع الصورة بنجاح الف مبرووووك </center>
        <meta http-equiv='refresh' content='3; url=http://up.php' />
        "

    -------------------------------------------------------------------





    الان الرابط لدخول العضو على البوم صورة رايح يكون


    كود PHP:
    echo"<a href='show_image_user.php?user_id=$_SESSION[user_id]'>مشاهدة صورك الخاصة</a>"






    الان علينا استخراج كل صور حسب اي دي العضو
    الان نعمل صفحة إستخراج صور الاعضاء ونسميها show_image_user.php

    نعمل جدول لتزيين البوم الاعضاء
    نعمل جلسة جديدة
    [PHP]<div class="codeblock phpcodeblock">

    session_start();
    كود PHP:
     echo "<div align='center'>
      <center>
      <table    width='100%' >
        <tr>

         <td class='tb1'><p align='center'>رقم الصورة</p></td>
          <td class='tb1'><p align='center'>الصورة</p></td>
          <td class='tb1'><p align='center'>رابط الصورة</p></td>
          <td class='tb1'><p align='center'>كود الصورة</p></td>
          <td class='tb1'><p align='center'>حذف الصورة</p></td> 
      </tr>"

    الان نعمل الاستعلام

    كود PHP:
    $sql=mysql_query("select * from up_load_user where user_id='$_SESSION[user_id]'  ORDER BY id_images DESC limit 10")or die(mysql_error());
    echo 
    "<form action='del_image_user.php'  method='POST'>";

    while (
    $row mysql_fetch_array ($sql)) {
     if(
    $row['user_id']==1){
     echo
    "<td class='tb5'><center><p align='center'>".$row['id_images']."</p></center></td>";
    echo
    "<td class='tb5'><center><img src='".$row['path_image']."' width='100' height='100'  /></center></td>";
    echo
    "<td class='tb5'><a href='".$row['path_image']."'><center>اضغط هنا</center></a></td>";
    echo
    "<td class='tb5'><center><textarea >[img]".www.myweb.com.".".$row['path_image']."[/img]</textarea></center></td>";
    echo
    "<td class='tb5'><center><input type='checkbox' name='id_images[]' value=".$row['id_images']." /></center></td>";
     echo 
    "</tr>";

    }else{
    echo 
    "<center>لايوجد صور لديك حاليا</center>";

    }
    }
    echo 
    "</tr>";
    echo 
    "<td><input type='submit'  value='احـــــــذف'  /><input type='reset'  value='إلغــــــــاء' /></td>";

    echo 
    "</table>
      </center>
    </div>"
    ;
    echo
    "</form>";
    echo 
    "<br>"
    اعتقد مو محتاج شرح ياخوان

    الان نعمل صفحة الحذف بطريقيتن حذف الصورة من الجدول وحذف الصورة من المجلد

    كود PHP:
    <?
     session_start
    ();

    $id=$_POST['id_images'];
    $del=$_POST['path_image'];


    if (
    $id==""){
     die (
    "لم تختر صورة لحذفها");

    }else{

    $id_id=implode(",",$id);




    $this->sql=mysql_query("delete from up_load_user where id_images IN(".$id_id.")")or die (mysql_error());
     if (isset(
    $sql)){
       
    unlink($del);
     echo
    "<center>تم الحذف بنجاح</center>
     <meta http-equiv='refresh' content='2; url=show_image_user.php?user_id=
    $_SESSION[user_id]' />
     "
    ;
    }
    }
    ?>

    كود PHP:
    unlink($del); 



    تم حذفها من المجلد من خلال الدالة
    unlink

    وبكذا انتهينا من عمل البوم خاص بكل عضو

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

    واي سؤال انا حاضر اخواني

    موفقين يارب
    الصور المرفقة  
    emran-kassab likes this.

 

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

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