PDA

View Full Version : مشکل با </ doctype>



ahmad156
جمعه 12 مهر 1392, 19:46 عصر
سلام دوستان.اولین تایپیک من تو تالار php
من header مربوط به صفحات رو با یه کلاس تولید میکنم و همچنین footer رو.وقتی صفحه تولید میشه با firefox هیچ مشکلی نداره ولی با ie تگ <doctype> رو ایجاد نمیکنه و صفحه به هم میریزه.چرا؟
ممنون

MMSHFE
شنبه 13 مهر 1392, 00:14 صبح
کدتون رو باید ببینیم تا بفهمیم مشکل از کجاست.

qartalonline
شنبه 13 مهر 1392, 07:54 صبح
دقت کنید که نوع سند باید بصورت استاندارد مشخص شود.
نمونه نوع سند برای html5:

<!DOCTYPE html>

tmwebseo
شنبه 13 مهر 1392, 10:00 صبح
در فایر فاکس و گوگل کروم اگر تگی باز بشه ولی بسته نشه یا به صورت جا به جا بسته بشه مشکل ایجاد نمیکنه ولی ie به این قبیل اشتباهات ایراد میگیرد ( البته طبق تجربه ی من )

ahmad156
شنبه 13 مهر 1392, 17:07 عصر
این از کد header.php


<?php
function do_html_header($title,$haveMenu)
{
?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../../pages/Css/Default.css"/>
<link rel="stylesheet" type="text/css" href="../../pages/Css/NewsCss.css"/>
<title><?php echo $title;?></title>
</head>
<body>
<div class="wide-container" style="background:url('../../pages/Images/header_delimiter.png') bottom repeat-x #F2F2F2;">
<div style="height:10px; background-color:#52C23E; "></div>
<div id="dvTopOfPage" class="main-container">
<div id="dvLink01" style="margin-top:5px; margin-right:0px; float:right">
<a href="#"><img src="../../pages/Images/Icons/icn_home.png" title="خانه" /></a><a href="#"><img src="../../pages/Images/Icons/icn_email.png" /></a><a href="#"><img src="../../pages/Images/Icons/icn_FAQ.png" /></a><a href="#"><img src="../../pages/Images/Icons/icn_contact.png" /></a>
</div>
<?php
if($haveMenu==1)
{
?>
<div id="dv-menu">
<ul class="ul-menu">
<li><a href="Index.php">صفحه اصلی</a></li>
<li><a href="Login.php">ورود</a></li>
<li><a href="AboutUs.php">درباره ما</a></li>
<li><a href="ContactWithUs.php">تماس با ما</a></li>
</ul>
</div>
<?php
}
else
{

}
?>
</div>
</div>
<div id="header" class="wide-container"></div>

<div class="wide-container">
<div id="dvContentOfPage" class="main-container"></div>
<?php
}
?>

و این هم از کد login.php


<?php
session_start();
unset($_SESSION['admin']);
if(!defined('ROOT'))
{
define('ROOT', preg_replace('#\\\\#', '/', dirname(dirname(dirname(__FILE__)))));
}
require_once ROOT.'/includes/header.php';
do_html_header('ورود',0);
require_once ROOT.'/includes/Classes/SQLManager.php';
require_once ROOT.'/includes/Classes/AdminBLL.php';
if(isset($_POST['login']))
{
$username=$_POST['txtUsername'];
$password=$_POST['txtPassword'];
if(!empty($username) && !empty($password))
{
$admin=new AdminBLL();
if($admin->SelectAdmin($username,$password))
{
$_SESSION['admin']=1;
header('Location:Index.php');
}
else
{
$msg="نام کاربری یا کلمه عبور شما اشتباه می باشد";
}
}
else
{
$msg="لطفا نام کاربری و کلمه عبور را وارد نمایید";
}
}
?>
<div style="width:400px; margin:0 auto; text-align:center">
<form method="post" action="">
<div id="dv-wrapper-username">
<input type="text" id="txtUserName" class="txt-username" maxlength="15" name="txtUsername"/>
</div>
<div id="dv-wrapper-password">
<input id="txtPassWord" class="txt-password" maxlength=""="15" type="password" name="txtPassword" />
</div>
<div id="dv-wrapper-submitlogin">
<input id="btnLogin" value="ورود" class="btn" type="submit" name="login"/>
<?php
if(isset($msg) && !empty($msg))
{
echo '<br />';
echo $msg;
}
?>
</div>
</form>
</div>
<?php
require_once ROOT.'/includes/footer.php';
?>

این هم از footer.php


</div>

<div class="wide-container">
<div id="dvBottomOfPage" class="main-container"></div>
</div>
</body>
</html>

ahmad156
یک شنبه 14 مهر 1392, 17:15 عصر
.............................

ahmad156
یک شنبه 14 مهر 1392, 21:05 عصر
یعنی سوالم اینقدر سخته؟؟؟؟

ahmad156
دوشنبه 15 مهر 1392, 18:08 عصر
وقتی کد زیر رو از header.php به login.php انتقال میدم مشکل قبلی حل میشه ولی یه کاراکتر ناشناخته بعد از body ایجاد میکنه و margin-top غیر منتظره ای رو به صفحه میده


<!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">

Javidhb
دوشنبه 15 مهر 1392, 19:23 عصر
ببینید درست میشه:

header.php


<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../../pages/Css/Default.css"/>
<link rel="stylesheet" type="text/css" href="../../pages/Css/NewsCss.css"/>
<?php
function do_html_header($title,$haveMenu)
{
?>
<title><?php echo $title;?></title>
</head>
<body>
<div class="wide-container" style="background:url('../../pages/Images/header_delimiter.png') bottom repeat-x #F2F2F2;">
<div style="height:10px; background-color:#52C23E; "></div>
<div id="dvTopOfPage" class="main-container">
<div id="dvLink01" style="margin-top:5px; margin-right:0px; float:right">
<a href="#"><img src="../../pages/Images/Icons/icn_home.png" title="خانه" /></a><a href="#"><img src="../../pages/Images/Icons/icn_email.png" /></a><a href="#"><img src="../../pages/Images/Icons/icn_FAQ.png" /></a><a href="#"><img src="../../pages/Images/Icons/icn_contact.png" /></a>
</div>
<?php
if($haveMenu==1)
{
?>
<div id="dv-menu">
<ul class="ul-menu">
<li><a href="Index.php">صفحه اصلی</a></li>
<li><a href="Login.php">ورود</a></li>
<li><a href="AboutUs.php">درباره ما</a></li>
<li><a href="ContactWithUs.php">تماس با ما</a></li>
</ul>
</div>
<?php
}
else
{

}
?>
</div>
</div>
<div id="header" class="wide-container"></div>

<div class="wide-container">
<div id="dvContentOfPage" class="main-container"></div>
<?php
}
?>



منبع (http://stackoverflow.com/questions/9131265/php-include-before-doctype-causing-a-white-space) (خیلی هم منبع نبود... اما خوب توضیح داده)
(http://stackoverflow.com/questions/9131265/php-include-before-doctype-causing-a-white-space)

ahmad156
دوشنبه 15 مهر 1392, 19:45 عصر
نه دوست عزیز درست نشد
این خود برنامه هست

Javidhb
دوشنبه 15 مهر 1392, 20:14 عصر
من فایلهای خودتون رو دانلود و بدون تغییر (بغییر آدرسهای include ها) اجرا کردم... هیچ مشکلی نداشت.

توی ie 10 هم اینجوری خروجی داد:


<!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><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../../pages/Css/Default.css"/>
<link rel="stylesheet" type="text/css" href="../../pages/Css/NewsCss.css"/>
<title>ورود</title>
... (بقیه کدها)

qartalonline
دوشنبه 15 مهر 1392, 20:34 عصر
کدتون رو تست کردم مشکلی نداشت.

ahmad156
دوشنبه 15 مهر 1392, 21:59 عصر
دوست عزیز ie7 و ie8 مشکل داره

qartalonline
دوشنبه 15 مهر 1392, 23:06 عصر
اگه منظورتون وسط چین شدن فرم هستش اون از نوع سند نیست از عدم طراحی درست هستش شما باید سوالاتون رو تو بخش طراحی وب مطرح کنید.
و چون کدهای php سمت سرور پردازش میشن پس ارتباطی به مرورگر نخواهند داشت.

ahmad156
سه شنبه 16 مهر 1392, 18:11 عصر
دوستان کسی جواب سوال ما رو نمیده؟

ahmad156
چهارشنبه 17 مهر 1392, 18:50 عصر
111692
چیزی که توی ie نشون میده.اون کاراکتر Text -t چی هست؟

qartalonline
چهارشنبه 17 مهر 1392, 20:19 عصر
دوست عزیز کدها سمت سرور تولید میشن پس نمیتونه در مرورگرهای مختلف متفاوت باشه.
بهتره دموی آنلاین بذارید تا بررسی بشه. چون کدهاتون رو بررسی کردم چنین مشکلی وجود نداشت.