اذهب إلى المحتوى

Hamada Ahmed

الأعضاء
  • المساهمات

    121
  • تاريخ الانضمام

  • تاريخ آخر زيارة

أجوبة بواسطة Hamada Ahmed

  1. السلام عليكم

    لدي نظام اشعارات للرسائل في الموقع كيف يمكن  تطبيق نفس الطريقة في التعليقات على المواضيع

    p_20677kz8y1.jpg

    <style type="text/css">
    <!--
    .dropdown{
    margin:0px;
    padding-top:6px;
    }
    .glyphicon{
    margin-top:6px;
    margin-left:10px;
    border:none;
    cursor:pointer;
    background:url(images/message.png) no-repeat;
    width:40px;
    height:40px;
    }
    .count{
     display:block;
     position:absolute;
     background:#E1141E;
     color:#FFF;
     font-size:14px;
     font-weight:normal;
     padding:1px 3px;
     margin:-1px 0 0 25px;
     border-radius:2px;
     -moz-border-radius:2px; 
     -webkit-border-radius:2px;
     z-index:1;
     }
     .dropdown-menu {
      display: none;
      position:absolute;
      width:300px;
      height:470px;
      overflow-y:auto;
      box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
      z-index: 1;
      padding:5px;
      border-radius:10px;
    }
     
    -->
    </style>
    <link rel="stylesheet" href="css/bootstrap.min.css" />
    <script src="js/jquery-3.6.0.min.js"></script>
    <script src="js/bootstrap-3.3.7.min.js"></script>
    
    <div class="dropdown">
    <a class="dropdown-toggle" data-toggle="dropdown">
    <div class="label count"></div> 
    <div class="glyphicon" title="الرسائل" ></div>
    </a>
    <div class="dropdown-menu"></div>
    </div>
    
    <script>
    var $j = jQuery.noConflict();
    $j(document).ready(function(){
     
     function load_unseen_notification(view = '')
     {
      $j.ajax({
       url:"show_pages/show_messages_menu.php",
       method:"POST",
       data:{view:view},
       dataType:"json",
       success:function(data)
       {
        $j('.dropdown-menu').html(data.notification);
        if(data.unseen_notification > 0)
        {
         $j('.count').html(data.unseen_notification);
        }
       }
      });
     }
     load_unseen_notification();
     
     $j(document).on('click', '.dropdown-toggle', function(){
      $j('.count').html('');
      load_unseen_notification('yes');
     });
     
     setInterval(function(){ 
      load_unseen_notification();;
     }, 5000);
    });
    </script>

    تكرار الكود سوف يجعله مرتبط بالرسائل وتغيير مسمياته سوف يجعله لا يعمل  - ما هي الطريقة لاستخدامة مرة اخرى ليرتبط بالتعليقات

    • أعجبني 1
  2. السلام عليكم ورحمة الله وبركاته

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

    ما المشكلة في ذلك

    <form  method="post" id="messages">
    <textarea name="message" id="message" ></textarea>
    <INPUT type="submit" name="post" id="post" value="ارسال">
    
    </form>
    <script>
    $(document).ready(function(e)
    {
       $("#messages").on('submit', function(e)
        {
        e.preventDefault();
         $.ajax
         ({
            type: 'POST',
            url: 'send.php',
            data: new FormData(this),
            dataType: 'json',
            contentType: false,
            cache: false,
            processData:false,
            success: function(response)
               {  
               $('#messages')[0].reset();
               }
          });
         });
    });
    </script>

     

    • أعجبني 2
  3. بتاريخ 3 ساعات قال Wael Aljamal:

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

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

    <style type="text/css">
    <!--
    .div_show_message_groups{
    overflow-y:auto;
    height:350px;
    width:485px;
    margin:0px;
    }
    -->
    </style>
    <script src="js/jquery-3.6.0.min.js"></script>
    <div class="div_show_message_groups" id="div_show_message_groups">

    </div>
    <script>
    $(document)
       .ready(function(e) {
          /*الوظيفة المسؤولة عن عمل الاسكرول*/
          function scrollToBottom() {
             var div = $('#div_show_message_groups');
             div.scrollTop(div.prop("scrollHeight"));
          }
          /*استدعاء الدالة عند كل تحميل جديد للصفحة*/
          scrollToBottom();
          var userIsScrolling = false;
          /*يتم تغيير فيمة المتغير عند كل تحريك للشريط الجانبي*/
          $('#div_show_message_groups')
             .scroll(function() {
                userIsScrolling = true;
             });
          /*ان توقفف المستخدم عن تحريك الشريط الجانبي لأكثر من ثلاث ثواني سيتم تغيير قيمة المتغير*/
          setInterval(function() {
             userIsScrolling = false;
          }, 3000);
          /*الدالة المسؤولة عن جلب الرسائل من الواجهة الخلفية*/
          function getMessages(letter) {
             var message = $('#div_show_message_groups');
             $.get('show_pages/display_messages_groups.php', function(data) {
                message.html(data);
                // ضبط الشريط الجانبي للأسفل عند كل رسالة جديدة , و في حالة عدم تحريكه من طرفف المستخدم
                if (!userIsScrolling) {
                   scrollToBottom();
                }
             });
          }
          setInterval(function() {
             getMessages("letter");
          }, 100)
          /*إرسال طلب إلى الواجهة الخلفية بتسجيل رسالة جديدة*/
          $("#messages_form_groups")
             .on('submit', function(e) {
                e.preventDefault();
                $.ajax({
                   type: 'POST',
                   url: 'send_pages/send_messages_form_groups.php',
                   data: new FormData(this),
                   dataType: 'json',
                   contentType: false,
                   cache: false,
                   processData: false,
                   success: function(response) {
                      if (response.status == 1) {
                         $('#messages_form_groups')[0].reset();
                      }
                   }
                });
             });
       });
    </script>

    هل تتفضل مهندس وائل وتعدله لي مع الشكر والامتنان

  4. بتاريخ 2 ساعات قال Adnane Kadri:

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

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

  5. شكرا للأخوة الأفاضل @عبدالباسط ابراهيم@سامح أشرف@Adnane Kadri @Wael Aljamal

    تم تجريب الكود حرفيا كالتالي ... لكن التحرك التلقائي للأسفل لا يترك فرصة لقراءة الرسائل القديمة هناك حلقة مفقودة في الموضوع انا قمت بوضع div_show_message_groups  بدلا من div1 

    الكود كما جربت

    <style type="text/css">
    <!--
    .div_show_message_groups{
    overflow-y:auto;
    height:350px;
    width:485px;
    margin:0px;
    }
    -->
    </style>
    <script src="js/jquery-3.6.0.min.js"></script>
    <div class="div_show_message_groups" id="div_show_message_groups">

    </div>
    <script>
    $(document)
       .ready(function(e) {
          /*الوظيفة المسؤولة عن عمل الاسكرول*/
          function scrollToBottom() {
             var div = $('#div_show_message_groups');
             div.scrollTop(div.prop("scrollHeight"));
          }
          /*استدعاء الدالة عند كل تحميل جديد للصفحة*/
          scrollToBottom();
          var userIsScrolling = false;
          /*يتم تغيير فيمة المتغير عند كل تحريك للشريط الجانبي*/
          $('#div_show_message_groups')
             .scroll(function() {
                userIsScrolling = true;
             });
          /*ان توقفف المستخدم عن تحريك الشريط الجانبي لأكثر من ثلاث ثواني سيتم تغيير قيمة المتغير*/
          setInterval(function() {
             userIsScrolling = false;
          }, 3000);
          /*الدالة المسؤولة عن جلب الرسائل من الواجهة الخلفية*/
          function getMessages(letter) {
             var message = $('#div_show_message_groups');
             $.get('show_pages/display_messages_groups.php', function(data) {
                message.html(data);
                // ضبط الشريط الجانبي للأسفل عند كل رسالة جديدة , و في حالة عدم تحريكه من طرفف المستخدم
                if (!userIsScrolling) {
                   scrollToBottom();
                }
             });
          }
          setInterval(function() {
             getMessages("letter");
          }, 100)
          /*إرسال طلب إلى الواجهة الخلفية بتسجيل رسالة جديدة*/
          $("#messages_form_groups")
             .on('submit', function(e) {
                e.preventDefault();
                $.ajax({
                   type: 'POST',
                   url: 'send_pages/send_messages_form_groups.php',
                   data: new FormData(this),
                   dataType: 'json',
                   contentType: false,
                   cache: false,
                   processData: false,
                   success: function(response) {
                      if (response.status == 1) {
                         $('#messages_form_groups')[0].reset();
                      }
                   }
                });
             });
       });
    </script>

    • أعجبني 1
  6. بتاريخ 1 ساعة قال عبدالباسط ابراهيم:

    يعتبر الموضوع بسيط حيث يمكنك التحكم في ال scroll من خلال الخاصية scrollTop بواسطة javascript لاحظ الكود التالي من خلال jquery

    
    var div = $('#div1');
    div.scrollTop(div.prop("scrollHeight"));

    و إذا كنت تريد التحرك ب animation يمكنك استخدام الكود التالي

    
    $("#div1").animate({ scrollTop: $('#div1').prop("scrollHeight")}, 1000);

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

    لكن بهذه الطريقة سيظل الشريط الجانبي للأسفل دائما ولن نتمكن من قراءة اي رسائل قديمة

    أظن ان الحل هو وضع مجموعة شروط  if قبل وضع الكود الذي قدمته لكن انا لا اعرف كيف يتم وضع هذه الشروط مثلا -

    1-لو تم تحديث الصفحة يتحرك الشريط لاسفل

    2 - لو عرضت رسالة جديدة يتحرك الشريط لاسفل

    3 - لو كان المستخدم يتحرك بالشريط لاعلى واتت رسالة جديدة لا يتحرك الشريط لاسفل

    انا لا اعرف كيف يمكن ترجمة ذلك الى اكواد

  7. السلام عليكم ورحمة الله اخواني الأفاضل

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

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

    <div class="div_show_message_groups" id="div_show_message_groups">
    
    </div>
    <script>
    $(document).ready(function(e)
    {
    function getMessages(letter) 
    {
    var message=$('#div_show_message_groups');
    $.get('show_pages/display_messages_groups.php', function(data) 
    {
    message.html(data);
    });
    }
    setInterval(function() 
    {
    getMessages("letter");
    }, 100)	
    //.......
    $("#messages_form_groups").on('submit', function(e)
    {
    e.preventDefault();
    $.ajax
    ({
    type: 'POST',
    url: 'send_pages/send_messages_form_groups.php',
    data: new FormData(this),
    dataType: 'json',
    contentType: false,
    cache: false,
    processData:false,
    success: function(response)
    { 
    if(response.status == 1)
    {
    $('#messages_form_groups')[0].reset();
    }
    }
    });
    });
    });
    </script>

     

    • أعجبني 1
  8. السلام عليكم

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

    $date = date("Y-m-d H:i:s", strtotime("+1 week"));

    الكود كالتالي

    <?php
    $stmt = $db->prepare('SELECT * FROM breaking_news');
    $stmt->execute();
    $result = $stmt->get_result();
    ?>
    <?php while ($row = $result->fetch_assoc()) : ?>
    <?php if ( date("Y-m-d H:i:s")==$row['end_time'] ) : ?>
    <?php
    $news ="";
    $date ="";
    $end_time ="";
    
    $stmt = $db->prepare("UPDATE breaking_news  SET news=?,date=?,end_time=?");
    $stmt->bind_param('sss',$news,$date,$end_time);
    $stmt->execute(); 
    ?>
    <?php endif; ?>
    <?php endwhile; ?>

    المفترض عندما يتساوى التاريخ الحالي مع تاريخ نهاية الوقت يتم تفريغ المحتوى - لكن بعد مرور الوقت لايحدث ذلك

    ما هي المشكلة لو تفضلتم

    • أعجبني 1
  9. بتاريخ 9 ساعات قال Adnane Kadri:

    عذرا , قد ورد خطأ في الكود هنا بالضبط : 

    
    $('#messages_form_groups').insertBefore(newEmptyImg);

    فالمفروض أن يقوم هذا بـ تضمين العنصر الجديد قبل العنصر بالمعرف messages_form_groups , و هو ما نحتاجه و صوابه : 

    
    $(newEmptyImg).insertBefore('#messages_form_groups');

    قم باستبدال الخطأ بصوابه و أخبرني بالنتيجة 

    شكرا حبيبي الغالي يعمل بنجاح

    • أعجبني 1
  10. بتاريخ منذ ساعة مضت قال Adnane Kadri:

    لا يؤدي تغيير خاصية src إلى "إلغاء تحميل" مورد الصورة - بل سيزيل فقط ارتباطها بعنصر <img /> هذا . أي أن التغييرات لن تظهر مباشرة , بل ستظهر في حالة إعادة تحميل عنصر الصورة مجددا .  

    لأن إعادة التحميل ليس شيئًا يمكنك تحقيقه بالصور ، و في الغالب أنك لا تريد حقًا "تفريغه". بل تحاول إخفاءه أو إزالته أو ربما إعادة تحميله ، ولكن عليك الاحتفاظ به لأسباب معينة . 

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

    و لذلك سيكون الكود الخاص بالعملية كاملة مشابها للتالي : 

    
    <!--  لنتأكد من تعريف الصورة -->
    <img class="img-thumbnail" id="viewimg" style="display:none;">
    <form id="messages_form_groups" enctype="multipart/form-data" class="form_msgs">
       <label for="file" title="صورة"> 
         
         <img src="images/photo_upload.png" /> 
       </label>
      
       <input name="picname" id="putname" type="hidden">
       <textarea class="textarea_msgs_groups" name="message" id="message" maxlength="350" placeholder="اكتب رسالة ....">
    </textarea>
       
      <div class="myButton" title="ارسال">
          <input type="submit" name="submit_profile" value="">
       </div>
         
       <script>
          $("#messages_form_groups")
             .on('submit', function(e) {
                e.preventDefault();
                $.ajax({
                   type: 'POST',
                   url: 'send_pages/send_messages_form_groups.php',
                   data: new FormData(this),
                   dataType: 'json',
                   contentType: false,
                   cache: false,
                   processData: false,
                   success: function(response) {
                      if (response.status == 1) {
                         $('#messages_form_groups')[0].reset();
                         
                         // إزالة العنصر كاملا
                         $('#viewimg').remove();  
                          
                         // صورة جديدة فارغة
                         var newEmptyImg = '<img class="img-thumbnail" id="viewimg" style="display:none;">'; 
                         
                         // وضعها مكان السابقة
                         $('#messages_form_groups').insertBefore(newEmptyImg);
                      }
                   }
                });
             });
          });
       </script>

     

    بعد الارسال يتم ازالة الفورم كليا مع viewimg

  11. السلام عليكم

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

    <img class="img-thumbnail" id="viewimg" style="display:none;">

    بعد الارسال يتم تفريغ حقل النص

    $('#messages_form_groups')[0].reset();

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

    كيف يمكن ازالة عرضالصورة بعد الارسال كما حدث للنص فى منطقة textarea

    <img class="img-thumbnail" id="viewimg" style="display:none;">
    <form id="messages_form_groups" enctype="multipart/form-data" class="form_msgs">
    <label for="file" title="صورة">
    <img src="images/photo_upload.png" />
    </label>
    <input name="picname" id="putname" type="hidden">
    <textarea  class="textarea_msgs_groups" name="message" id="message" maxlength="350" placeholder="اكتب رسالة ....">
    </textarea>
    <div class="myButton" title="ارسال">
    <INPUT type="submit"  name="submit_profile" value="">
    </div>
    <script>
    $("#messages_form_groups").on('submit', function(e)
    {
    e.preventDefault();
    $.ajax
    ({
    type: 'POST',
    url: 'send_pages/send_messages_form_groups.php',
    data: new FormData(this),
    dataType: 'json',
    contentType: false,
    cache: false,
    processData:false,
    success: function(response)
    { 
    if(response.status == 1)
    {
    $('#messages_form_groups')[0].reset();
    }
    }
    });
    });
    });
    </script>

     

    • أعجبني 1
  12. بتاريخ 4 ساعات قال بلال زيادة:

    هل ممكن توضح مقصدك بأي كودين تريد دمجهم ؟ 

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

    • أعجبني 1
  13. السلام عليكم

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

    <?php
    $stmt = $db->prepare('SELECT * FROM(SELECT * FROM messages WHERE recipient_id=? GROUP BY id DESC) as T GROUP BY T.sender_id ORDER BY id DESC');
    $stmt->bind_param('i',$_SESSION['id']);
    ?>

    ويتم عرض الرسائل في صفحة اخرى كالتالي

    <?php
    $stmt = $db->prepare('SELECT * FROM messages WHERE recipient_id =? AND sender_id=? OR recipient_id=? AND sender_id=? Order By id ASC');
    $stmt->bind_param('iiii',$_SESSION['id'],$_GET['msgs'],$_GET['msgs'],$_SESSION['id']);
    ?>

    والسؤال - كيف نربط كل كود منهم الخاص بجدول messages  نربطه بجدول الأعضاء accounts

    انا لا اعرف كيف ندمج لهم هذا الكود ان كان الكود صحيحا ايضا ام لا

    <?php
    $stmt = $db->prepare('SELECT m.*, a.* FROM `messages` as m inner join `accounts` as a WHERE a.id=m.recipient_id AND a.id =m.sender_id');
    ?>

     

  14. لدي جدولين في قاعدة البيانات

    الاول users   يحتوي  id    ومعلومات العضو اسم وايميل وغيره

    الجدول الثاني chat  يحوي  sender_id   هو نفسه ال id   في جدول   users

    كيف يمكن ربط الجدولين عند الاستعلام بحيث يتم  عرض الرسالة من chat     وعرض معلومات العضو من   users

    <?php
    $stmt = $db->prepare('SELECT * FROM chat');
    $stmt->execute();
    $result = $stmt->get_result();
    $count = mysqli_num_rows($result);
    ?>
    <?php if ($count > 0) : ?>
    <?php while ($row = $result->fetch_assoc() ): ?>
    <?= $row['message'] ?> ">
    ....
    ....
    <?php endwhile; ?>
    <?php endif; ?>
    ............................
    <?php
    $stmt = $db->prepare('SELECT * FROM users');
    $stmt->execute();
    $result = $stmt->get_result();
    $row_accounts = $result->fetch_assoc(); 
    $stmt->close();
    ?>

     

    • أعجبني 1
  15. بتاريخ 10 ساعات قال بلال زيادة:

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

    
    $name = explode('.', $_FILES["file"]["name"]);

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

    
    $fileName = substr(md5(uniqid(rand(), true)),3,10);

    ثم يمكنك استخدام دالة end لجلب أخر عنصر في المصفوفة بهذا الشكل 

    
    $end = end($name);

    ثم يمكنك دمج المتغيرات ببعضها بهذا الشكل 

    
    $name = explode('.', $_FILES["file"]["name"]);
    $fileName = substr(md5(uniqid(rand(), true)),3,10);
    $end = end($name);
    $newName = $fileName . '.' . $end;

    ثم في دالة move_uploaded_file يمكنك وضع الاسم الجديد 

    
    move_uploaded_file($_FILES["file"]["tmp_name"], $newName);

     

    جربت الكود لكن هناك مشكلة

    <?php
    $uploadDir = 'uploads/';
    //..............
    if(!empty($_FILES["file"]["name"]))
    {  
    $name = explode('.', $_FILES["file"]["name"]);
    $fileName = substr(md5(uniqid(rand(), true)),3,10);
    $end = end($name);
    $newName = $fileName . '.' . $end;  
    $fileType = pathinfo($newName, PATHINFO_EXTENSION);
    $allowTypes = array('pdf', 'doc', 'docx', 'jpg', 'png', 'jpeg');
    if(in_array($fileType, $allowTypes))
    {
    if(move_uploaded_file($_FILES["file"]["tmp_name"], $newName))
    {
    $uploadedFile = $fileName;
    }
    ?>

     

    • أعجبني 1
  16. السلام عليكم

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

    كيف يمكن تغيير اسم الملف ( اسم فريد )  ليتم تخزينه بهذا الاسم مثلا

    $fileName = substr(md5(uniqid(rand(), true)),3,10);

    كيف يمكن تعديل الكود

    <?php 
    $uploadDir = 'uploads/'; 
    $response = array( 
        'status' => 0, 
        'message' => 'Form submission failed, please try again.' 
    ); 
     
    // If form is submitted 
    if(isset($_POST['name']) || isset($_POST['email']) || isset($_POST['file'])){ 
        // Get the submitted form data 
        $name = $_POST['name']; 
        $email = $_POST['email']; 
         
        // Check whether submitted data is not empty 
        if(!empty($name) && !empty($email)){ 
            // Validate email 
            if(filter_var($email, FILTER_VALIDATE_EMAIL) === false){ 
                $response['message'] = 'Please enter a valid email.'; 
            }else{ 
                $uploadStatus = 1; 
                 
                // Upload file 
                $uploadedFile = ''; 
                if(!empty($_FILES["file"]["name"])){ 
                     
                    // File path config 
                    $fileName = basename($_FILES["file"]["name"]); 
                    $targetFilePath = $uploadDir . $fileName; 
                    $fileType = pathinfo($targetFilePath, PATHINFO_EXTENSION); 
                     
                    // Allow certain file formats 
                    $allowTypes = array('pdf', 'doc', 'docx', 'jpg', 'png', 'jpeg'); 
                    if(in_array($fileType, $allowTypes)){ 
                        // Upload file to the server 
                        if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){ 
                            $uploadedFile = $fileName; 
                        }else{ 
                            $uploadStatus = 0; 
                            $response['message'] = 'Sorry, there was an error uploading your file.'; 
                        } 
                    }else{ 
                        $uploadStatus = 0; 
                        $response['message'] = 'Sorry, only PDF, DOC, JPG, JPEG, & PNG files are allowed to upload.'; 
                    } 
                } 
                 
                if($uploadStatus == 1){ 
                    // Include the database config file 
                    include_once 'dbConfig.php'; 
                     
                    // Insert form data in the database 
                    $insert = $db->query("INSERT INTO form_data (name,email,file_name) VALUES ('".$name."','".$email."','".$uploadedFile."')"); 
                     
                    if($insert){ 
                        $response['status'] = 1; 
                        $response['message'] = 'Form data submitted successfully!'; 
                    } 
                } 
            } 
        }else{ 
             $response['message'] = 'Please fill all the mandatory fields (name and email).'; 
        } 
    } 
     
    // Return response 
    echo json_encode($response);
    ?>

     

    • أعجبني 1
  17. بتاريخ 1 ساعة قال Wael Aljamal:

    حاول مجدداً

    pro.rar

    يبدو ان الملف تعطل عند الضغط او فيرس لا يهم

    لكن يبدو ان هناك مشكلة فى $_GET['msgs']

    الرسائل يتم ارسالها للقاعدة لكن لا يتم جلبها لصندوق الرسائل - عندما احذف $_GET['msgs']

    يتم ظهور الرسائل

    $stmt = $db->prepare('SELECT * FROM users_chat Order By id ASC');

    لكن عند وجود GET  لا تظهر الرسائل بصندوق العرض

    $stmt = $db->prepare('SELECT * FROM users_chat WHERE recipient_id =? AND sender_id=? OR recipient_id=? AND sender_id=? Order By id ASC');
    $stmt->bind_param('iiii',$_SESSION['id'],$_GET['msgs'],$_GET['msgs'],$_SESSION['id']);

    سوف ارفق الملف مرة اخرى لان المشكلة ربما توجد في

    show_messages_users.php

    او display_messages_users.php

    لا اعرف حاولت جاهدا لكن لم اتمكن من الوصول لحل غير حذفGET 

    chat.rar

  18. بتاريخ 18 ساعات قال Wael Aljamal:

    مرحبا،

    لماذا تستخدم إصدارين من جيكويري؟ 

    ملاحظة لترتيب استدعاء بوتستراب:

    
    // التنسيق أولا 
    <link rel="stylesheet" href="css/bootstrap.min.css" />
    
    // جيكويري ثانيا
    <script src="js/jquery-3.1.0.min.js"></script>
    
    // ثم بوتستراب جافاسكربت
    <script src="js/bootstrap-3.3.7.min.js"></script>

    تابع مع هذه التعديلات (اعمل مقارنة مكان استدعاء جيكويري)

     

    error.PNG

    pro.rar

    مرفق ملف فيه تعديل 

    المرفق غير صالح

  19. بتاريخ 8 ساعات قال Wael Aljamal:

    إن المشكلة بسبب التنسيقات، حيث أن جميع مكونات الصفحة في نفس المستوى العمودي (هي ليست فوق بعضها) بل أسفل بعضها.. وعندما يقوم المتصفح بتبديل الصورة تظهر فوق مكون آخر ثم تختفي .. هذا الوقت يقوم فيه المتصفح بإصلاح المشكلة بعد رسم الصفحة مرة أخرى..

    الحل بايتخدام خاصية z-index التي تسمح لنا بتموضع العناصر فوق بعضها بالترتيب .. عليك وضع قيمة لكل من العنصرين:

    
    .header_table{
    ...
    z-index: 10;
    }
    
    .navb_table{
    ...
    z-index: 10;
    }

    ملحوظة : لايعمل التعليق الخاص ب HTML والذي هو :

    
    <!-- comment -->

    داخل الوسم style بل نستخدم التعليق الخاص ب CSS:

    
    <style type="text/css">
    /*
      
    .header_table{
    width:100%;
    ....
    }
      
    */
    
    </style>

     

    شكرا اخي الفاضل لكن تتبقى المشكلة الأكبر وهي توقف الرسائل ( القائمة المنسدلة - الاشعارات - ظهور الرسائل في صندوق عرض الرسائل )

    اذا اردت التجريب فكلمات السر هي 123456

    للمستخدم ahmed  و  ali

    شكرا مرة اخرى

    واشكرك مرة اخرى

    • أعجبني 1
×
×
  • أضف...