السلام عليكم ورحمة الله وبركاته
أعضاء الفريق العربي للبرمجة المميز
قمت بتعلم هذا الدرس لبناء سكربت شات لموقعي
رابط ( http://thekind.alshe...8%D9%8A%D8%A8/)
وقمت بانشاء سكربت مشابه للعمل على موقعي
لكن كانت المفاجأة حينما حاولت تشغيله على متصفح Internet Explorer
الشات لم يسجل الدخول سوى لمرة واحدة فقط![]()
![]()
![]()
وباقي المرات يرفض الدخول
أيضا يخرج منها لمرة واحدة فقط
وفي محاولات الدخول مرة أخرى قد تفلح إحدى المرات لسبب لا أعرفه
لكن يصبح تسجيل الخروج صعب مثلما كان الدخول غاية في الصعوبة![]()
![]()
![]()
لا أظن أن المشكلة في php نفسها لأني أحد مطوريها وقد درست الكود الخاص بها جيدا
لكني أعتقد أن المشكلة في javascript لكني لا أعرفها جيدا![]()
![]()
![]()
ملحوظة : كنت أناقش أحد المبرمجين وأخبرني أنه يعمل جيدا على انترنت اكسبلورر 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>ولكم جزيل الشكر