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

طريقة متقدمة لإرسال البيانات

مغلق
بدأه الحسين في 17 أغسطس 2004 · 8 رد · 2,015 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

أقدم لكم طريقة متقدمة لإرسال بيانات من السيرفر إلي جهاز العميل و العكس

مستخدما لغة PHP و javascript

ولضيق الوقت أقدم الكود الأن بدون شرح

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

وفي حالة وجود إهتمام لمبرمجي asp يمكنني إدراج مثال مقابل يقوم بنفس الغرض

test.php

<script>
function getData() {
    var msgID = txtmsgID.value;

    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.open("POST" , "getServerData.php?msgID=" + msgID , true);

    xmlhttp.onreadystatechange = function() {
        if ( xmlhttp.readyState == 4 ) {
            lblPreview.innerHTML = xmlhttp.getResponseHeader("responseXMLData");
        }else {
            lblPreview.innerHTML = "Loading ...";
        }
    }

    xmlhttp.send(msgID);
}
</script>

message id : <input id=txtmsgID>
<input type=button value=" get data from server " onclick="getData()"><br>
<b>server response : </b><span id="lblPreview"></span>

getServerData.php

<?
    $strResponse = "undefined message";
    if( isset($_GET["msgID"]) ) {
        switch ($_GET["msgID"]) {
            case 1 :
                $strResponse = "message data 1";
                break;
            case 2 :
                $strResponse = "message data 2";
                break;
            case 3 :
                $strResponse = "message data 3";
                break;
        }
    }

    // send the data to the client
    header("responseXMLData: $strResponse");
?>

Remote Calling.rar

29_5.gif

سورة العنكبوت

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

مشروع Arabic PHP.NET

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

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

سلسلة أنماط التصاميم البرمجية Desgin Patterns

سلسلة أنماط التصاميم البرمجية Desgin Patterns | كتيب هذه الدروس (إعداد أحمد غريب)

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

كنترول ASP.NET DataGrid CheckBoxColumn

كنترول ProgressBar

كنترول UltraPanel

مشروع الكنترول الأنيق (إهداء للفريق العربي)

الورش الإلكترونية IT Workshops

تعقب الأخطاء error tracing

كنترول ColorPicker لمطوري الويب

RichTextBox Control لمطوري ال ASP.Net

حمل كتاب جافا سكربت عربي

#2
الحسين كتب:
أقدم لكم طريقة متقدمة لإرسال بيانات من السيرفر إلي جهاز العميل و العكس

مستخدما لغة PHP و javascript

سأقرأه على مهل و ارد عليك

#3

من الموضوعات التى تعجبنى حقا أخى الحسين :)

لذلك يتم رفعها .. (لم أجربها بعد ولكن الكود شكله بيفكرنى ببريد جوجل فى طريقة عمله) ..

#4

بالفعل مثل جى ميل :)

ولكن فى مشكلة واحدة إن الزر enter لن يعمل لعدم وجود form tag ... هل ممكن معالجة هذه المشكلة؟

#6

بسم الله الرحمن الرحيم

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

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

<script>

document.onkeypress = function() {
    // عند الضغط علي زرار enter
    if( event.keyCode == 13 ) {
        getData();
    }
}
</script>

ويمكننا عمل ذلك بشكل أفضل

حيث أننا سوف نرسل أمر إستدعاء مباشر للحدث click التابع للزرار الهدف

وهو مفهوم send key كما يقال

<script>

document.onkeypress = function() {
    if( event.keyCode == 13 ) {
        var btnSend = document.getElementById("btnSend");
        btnSend.click();     // call the click event
    }
}
</script>

<input id="btnSend" type=button value=" get data from server " onclick="getData()">

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

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

29_5.gif

سورة العنكبوت

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

مشروع Arabic PHP.NET

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

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

سلسلة أنماط التصاميم البرمجية Desgin Patterns

سلسلة أنماط التصاميم البرمجية Desgin Patterns | كتيب هذه الدروس (إعداد أحمد غريب)

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

كنترول ASP.NET DataGrid CheckBoxColumn

كنترول ProgressBar

كنترول UltraPanel

مشروع الكنترول الأنيق (إهداء للفريق العربي)

الورش الإلكترونية IT Workshops

تعقب الأخطاء error tracing

كنترول ColorPicker لمطوري الويب

RichTextBox Control لمطوري ال ASP.Net

حمل كتاب جافا سكربت عربي

#7

جزاك الله خيرا أخى الحسين ..

اقتباس
الحمد لله أن هذا الموضوع قد إستفاد منه أحدا ولو بعد حين من طرحه 

لا تقلق اعمل الخير وأرميه فى البحر :)

#8

عزيزي الحسين

للأسف أني شاهدت هذا المقال بعد حين :lol:

على العموم ، استفدت منه كثيرا ، وهو يفتح أبواب ومجالات كثيرة ، فمثلا ، يمكن استخدامه لعمل نظام شات على المستعرض ، وسيكون سريعا جدا.

قمت باختبار الكود ووصلت إلى النتيجة التالية:

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

2. يجب أن يحوي سطر الطباعة في ملف بي إتش بي سطرا واحدا فقط من البيانات ، يعني حاولت أن أطبع جدول ، فلم يعمل حتى كتبت الجدول في سطر واحد كالتالي:

<table><tr><td>Hi This is me</td></tr></table>

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

3. لا أدري إن كان سيعمل لمتصفحي الموقع على أنظمة تشغيل غير ويندوز ، وربما مستخدمي برامج التصفح الأخرى غير IE

هل من ملاحظات أخرى؟

#9

واو !

لم اجرب الكود. لكني كنت متشوق للرد لأنه صراحة موضوع كان في بالي دائماً.. ولم أقم بالبحث فيه.

يذكرني هذا بطريقة عمل ال Starred e-mails في جوجل فعلاً !

شكرا جزيلاً لك الحسين !

سوف اتأكد من استخدامي لهذه الطريقة في أول مشروع قادم أقوم بعمله (h)

هذا الموضوع مغلق.

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