الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طريقة تحديث البيانات دون الحاجه الى تحديث الصفحة

بدأه نوف الهاجري في 13 أكتوبر 2010 · 11 رد · 2,661 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يعطيكم العافيه

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

المطلوب واضح من العنوان

نفرض ان عندي

ملف

a.php

b.php

save.txt

المطلوب من ملف a.php هوا حفظ البيانات المدخله عن طريق صندوق نص الى ملف save.txt

ويقوم ملف b.php بجلب البيانات من ملف save.txt

وعند ادخال بيانات الى ملف a.php وحفظها تقوم صفحة b.php بتحديث البيانات دون الحاجه الى تحديث الصفحة

437177320.jpg
#2

تعقيب

437177320.jpg
#3

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

أختي الكريمة المطلوب غير واضح بشكل جيد

هل المقصود أن هناك من يراقب صفحة b.php و تبقى هذه الصفحة معروضة على جهازه بشكل دائم

و أن هناك من طرف آخر من يعدل على البيانات الموجودة في الملف بواسطة a.php وبالتالي تريدين أن يبقى العرض مستمراً للبيانات بشكل مباشر عند الطرف الأول دون أن يضطر لعمل تحديث للصفحة؟

يرجى التوضيح أكثر حتى نستطيع اعطاءك الجواب المناسب

بتوفيق الله..

Everything will be fine when we TALK LESS, DO MORE


#4

ماشاءالله عليك اخي MoHaMMaD Pro

وكانك داخل راسي

بضبط هذا المطلوب

على ان يكون مصدر حفظ البيانات ملف txt حسب المطلوب

437177320.jpg
#5

أظن أن هذا الأمر يتم عن طريق جعل الصفحة b.php تقوم بالتحديث دائماً (كل 10 ثوانٍ مثلاً) حتى يتم اكتشاف التغيير إن وجد.

إنما الإسلام في الصحراء امـتهـد .... لـيـجـيء كــل مـســـلــمٍ أســـد

ليس كالمسلم في الخُلق أحــد .... ليس خلقُ اليوم، بل خلقُ الأبد

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

@AAlakkad

مدونتي

#6

A_Alakkad اشكر مرورك

ولكن التحديث التلقائي للصفحة يزعجني

437177320.jpg
#7

يمكنك عمل صفحة تحوي على AJAX Function تقوم باحضار محتوى صفحة الـ b.php بدون عمل تحديث و نقوم باستدعاء Function الـ Ajax في هذه الصفحة كل فترة زمنية معينة مثلاً

وبذلك يتحقق المطلوب و الله أعلم

إن ناسبتك الفكرة قد اعطيكِ مثالا عليها بإذن الله

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 13 أكتوبر 2010 في 23:17

Everything will be fine when we TALK LESS, DO MORE


#8

اخي MoHaMMaD Pro

ياليت ترفق مثال بالي ذكرت

واشكرك

437177320.jpg
#9

هل الصفحات a.php أو b.php جاهزة لديك

إن لم تكن جاهزة اخبرينا بذلك

إن كانت جاهزة فإنشاء هذه الصفحة يحل لك مشكلتك

<html>
<head>
<script>
function ajax() 
{ 
	var request = null; 
	if (window.XMLHttpRequest) { 
	request = new XMLHttpRequest(); 
	} else if (window.ActiveXObject) { 
	request = new ActiveXObject("Microsoft.XMLHTTP"); 
	} 
	if(request) 
	{ 
	request.open("GET", "b.php"); 
	request.onreadystatechange = function () 
	{ 
		if(request.readyState < 4) 
		{ 
			document.getElementById("main").innerHTML = '<img src="images/ajax-loader.gif" id="load" border="0" width="30px" >'; 
		} 
		if(request.readyState == 4 && request.status == 200) 
		{ 

			document.getElementById("main").innerHTML = request.responseText; 
		} 

	} 
	} 
	request.send(null); 
}
setInterval("ajax()",time in millisec)
</script>
</head>
<body>
<div id="main">
</div>
</body>
</html>

ولتكن هذه الصفحة هي ajax.php مثلا وهذه التي ما يجب البقاء على مراقبتها وليست b.php

عليك استبدال جملة time in millisec بالزمن الذي تريدينه أي أن هذا الزمن الذي ستضعينه سيتم فيه استدعاء الدالة كلما انقضى فمثلا لو وضعنا 3000 سيتم استدعاء الدالة كل 3 ثانية و بالتالي سيتم تحديث المحتوى كل 3 ثانية بدون أي refresh للصفحة

بتوفيق الله..

Everything will be fine when we TALK LESS, DO MORE


#10

للاسف ليست جاهزه ياليت تكمل لي المطلوب

وترفقه بمثال والله يجزاك خير

437177320.jpg
#11

السلام عليكم بالنسبة الى استخدام الأجاكس لدي اضافة

لو انو تعمل دالة كل عشر ثواني في مكان انها تجلب الملف كاملا تقوم بتفحص اذا آخر تحديث للملف و تقارنه بآخر مرة جلبت فيها البيانات او تقوم بمقارنة هاش MD5 سيقلل هذا من الجهد المبذول على السرفر و في نفس الوقت يسرع من السكربت اكثر

هذا و الله اعلى واعلم

#12

فعلا أخي php4web كلامك مزبوط 100% ولذلك يتم إستخدام ال xml أو ال json في مثل تلك الأمور

على كل سأضع لك الحلول وأنتي عليكي التطبيق فلا وجود هنا للتطبيقات الكامله الهدف من الحل هو جعلك تحققس ذلك بنفسك :)

أولا مكتبه جي كويري هي المفتاح لسهوله التطبيق والفهم

عليك بإستخدام داله موجوده في الجافاسكريبت تقوم بتنفيذ امر كل فتره معينه وهي

var t=setTimeout("javascript statement",milliseconds);

الآن يجب أن تعلمي أن هناك داله في جي كويري تقوم بإستدعاء البيانات وهي load

نفس الداله السابقة يمكن أن تقوم بتخزين البيانات إذا كانت عباره عن جمل صغيره أي يمكن إرسالها GET

أو يمكنكي إستخدام الداله ajax

فقط هذا ماتحتاجينه لعمل سكريبت شات مثلا :)

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…