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

السؤال

Recommended Posts

  • 0
نشر

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

<?php
echo "تم بنجاح";
flush();
ob_flush();
sleep(2);
echo "\nاهلا وسهلا.";
?>

بحيث تستخدم flush()  و ob_flush()  لضمان إرسال المخرجات فورا إلى المتصفح ثم ينتظر لمدة ثانيتين باستخدام sleep(2) بعدها يطبع عبارة "اهلا وسهلا." .

  • 0
نشر

من خلال دالة sleep كالتالي:

<?php

echo "تم بنجاح....";

sleep(2);

echo "\nاهلا وسهلا.";

?>

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

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

<?php
echo "<div id='message'></div>
<script>
  document.getElementById('message').innerHTML = 'تم بنجاح....';
  setTimeout(function() {
    document.getElementById('message').innerHTML += '<br>اهلا وسهلا.';
  }, 2000);
</script>";
?>

 

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته .

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

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

<!DOCTYPE html>
<html>
<head>
    <script>
        function showMessage() {
            document.getElementById("firstMessage").innerText = "<?php echo "تم بنجاح" ?>";

            // تأخير عرض الرسالة الثانية
            setTimeout(function() {
                document.getElementById("secondMessage").innerText = "<?php echo "أهلا وسهلا" ?>";
            }, 2000);
        }
    </script>
</head>
<body>
    <div id="firstMessage"></div>
    <div id="secondMessage"></div>
    <script>
       showMessage();
    </script>
</body>
</html>

هكذا الدالة showMessage هي المسؤولة عن إظهار الرسائل بعد إحضارها من الخادم .

 

  • 0
نشر (معدل)

طيب جميل عرفنا انه بالجافا سكربت

طيب كيف لو مثلا عندي هذا الكود 

<div class="ok">تم</div>

وعندي هذا الكود

<div class="ok">تم عمل التسجيل بنجاح</div>

و اوريد طباعة الكود الاول 

ثما بعد ثانيتين الكود الثاني

تم التعديل في بواسطة ناnaif ناnaif

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...