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

مشكلة عمل سكربت الشات على كافة المتصفحات باستثناء Internet Explorer

بدأه php lover في 3 يناير 2012 · 0 رد · 700 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1

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

أعضاء الفريق العربي للبرمجة المميز

قمت بتعلم هذا الدرس لبناء سكربت شات لموقعي

رابط ( http://thekind.alshe...8%D9%8A%D8%A8/)

وقمت بانشاء سكربت مشابه للعمل على موقعي

لكن كانت المفاجأة حينما حاولت تشغيله على متصفح Internet Explorer

الشات لم يسجل الدخول سوى لمرة واحدة فقطsad.gifsad.gifsad.gif

وباقي المرات يرفض الدخول

أيضا يخرج منها لمرة واحدة فقط

وفي محاولات الدخول مرة أخرى قد تفلح إحدى المرات لسبب لا أعرفه

لكن يصبح تسجيل الخروج صعب مثلما كان الدخول غاية في الصعوبةmad.gifmad.gifmad.gif

لا أظن أن المشكلة في php نفسها لأني أحد مطوريها وقد درست الكود الخاص بها جيدا

لكني أعتقد أن المشكلة في javascript لكني لا أعرفها جيداblink.gifblink.gifblink.gif

ملحوظة : كنت أناقش أحد المبرمجين وأخبرني أنه يعمل جيدا على انترنت اكسبلورر 9

وبعد تشغيل compatibility view لم يعمل بصورة سليمة

لكن معظمنا نستخدم اكسبلورر 8 لاستخدامنا ويندوز اكس بي

الكود المصدري لصفحة index.php

أظن المشكلة موجودة فيه

<?php
session_start();

function loginForm(){
        echo'
        <div id="loginform">
        <form action="index.php" method="post">
                <p>فضلا قم يكتابة اسمك للاستمرار: </p>
                <label for="name">الاسم: </label>
                <input type="text" name="name" id="name" />
                <input type="submit" name="enter" id="enter" value="دخول" />
        </form>
        </div>
        ';
}

if(isset($_POST['enter'])){
        if($_POST['name'] != ""){
        if(strlen($_post['name'])<5){
                $_SESSION['name'] = stripslashes(htmlspecialchars($_POST['name']));
        }
        else{
                echo '<span class="error">Please type in a name</span>';
        }
}
}

if(isset($_GET['logout'])){     

        //Simple exit message
        $fp = fopen("log.html", 'a');
        fwrite($fp, "<div class='msgln'><i>المستخدم ". $_SESSION['name'] ." غادر المحادثة.</i><br></div>");
        fclose($fp);

        session_destroy();
        header("Location: index.php"); //Redirect the user
}


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>صندوق المحادثة</title>
<link type="text/css" rel="stylesheet" href="style.css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<?php
if(!isset($_SESSION['name'])) {
        loginForm();
} else {
?>
<div id="wrapper">
        <div id="menu">
                <p class="welcome"> اهلا وسهلا, <b><?php echo $_SESSION['name']; ?></b></p>
                <p class="logout"><a id="exit" href="#">اغلاق</a></p>
                <div style="clear:both"></div>
        </div>

        <div id="chatbox">
        <?php
        if(file_exists("log.html") && filesize("log.html") > 0){  
        $handle = fopen("log.html", "r");  
        $contents = fread($handle, filesize("log.html"));  
        fclose($handle);  

        echo $contents;  
        }  
        ?>
        </div>

        <form name="message" action="index.php"  method="post">
        <input name="usermsg" type="text" id="usermsg" size="63" />
        <input name="submitmsg" type="submit"  id="submitmsg" value="ارسال" />
        </form>
</div>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
// jQuery Document
$(document).ready(function(){
        //If user wants to end session
        $("#exit").click(function(){
                var exit = confirm("هل انت متأكد من انهاء المحادثة؟");
                if(exit==true){window.location = 'index.php?logout=true';}              
        });

        // if user submit the form
        $("#submitmsg").click(function(){       
        var clientmsg = $("#usermsg").val();  
        $.post("post.php", {text: clientmsg});                  
        $("#usermsg").attr("value", "");  
        return false;  
        });  

        // load the file containing the chat log
  function loadLog(){
          var oldscrollHeight = $("#chatbox").attr("scrollHeight") - 20; // Scroll Height
        $.ajax({
                url: "log.html",
                cache: false,
                success: function(html){
                $("#chatbox").html(html);       // insert chat log into the #chatbox div
                // Auto-scroll
                var newscrollHeight = $("#chatbox").attr("scrollHeight") - 20;
                if(newscrollHeight > oldscrollHeight){
                        $("#chatbox").animate({ scrollTop: newscrollHeight}, "normal");
                }
                },
        });
  }

  setInterval(loadLog, 2500);   // reload file every 2.5 second
});

</script>

<?php 
}
?>
</body>
</html>

ولكم جزيل الشكر

تم تعديل هذه المشاركة بواسطة php lover في 3 يناير 2012 في 18:16

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

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

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

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

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