PDA

View Full Version : دوستان کمک کنید. (بعد از ایجاد جدول از اطلاعات دیتابیس توسط تابعی جدا و قرار دادن در قالب اصلی ...)



zh00bin
دوشنبه 22 تیر 1394, 12:47 عصر
سلام دوستان در حال طراحی یک سایت هستم که کل صفحات در یک صفحه به صورت index.php?page=home ایجاد شده(توسط switch و مقایسه با پارامتر جلو page صفحه مورد نظر ساخته میشود) سپس محتوا داخل یک رشته به نام boddy ریخته شده و در اخر در کد اصلی نمایش داده می شود. از بوتسترپ برای طراحی ظاهری استفاده شده
مشکل اصلی زمانی رخ میدهد که قرار است داخل یک تابع اطلاعاتی از دیتابیس خوانده شده و جدولی ایجاد شود و داخل صفحه اصلی نمایش داده شود در این هنگام لود صفحه به صورت غیر معمول زمان بر شده و قالب اصلی هم به هم میخورد(مشکل طبق بررسی ها از دستور while بوده چون وقتی کامنت میشود همه چیز درست میشود) کد صفحه اصلی و تابع را در زیر اورده شده:
(در زمینه php خیلی حرفه ای نیستم. پیشاپیش تشکر بابت لطف بی کران تان)





کد صفحه اصلی


<?php
session_start();
include("styleRender/footer.php");
include("styleRender/topheader.php");
include("styleRender/middleheader.php");
include("styleRender/bottomheader.php");
include("styleRender/slider.php");
include("styleRender/rightsidebar.php");
include("styleRender/featuresitems.php");
include("styleRender/categorytab.php");
include("styleRender/recommenditems.php");
include("styleRender/admin.php");
include("inc/config.php");
//page sections
$title="";
$headerTop="";
$headerMiddle="";
$headerBottom="";
$slider="";
$boddy="";
$sidebar="";
$footer=renderFooter();
$header=""; // رشته در بردارنه هدر
$Pscript=""; //اسکریپت مربوط به برسی فیلد های رمز عبور و تکرار ان و....
$_SESSION['message']=""; // حاوی ارور ها و پیام ها
//page section
//make hader
$header=renderTopHeader().renderMiddleHeader().ren derBottomHeader();
//make header
if($_GET)
{
switch (strtolower($_GET['page']))
{
case "home":
{
$_SESSION['Page']="home";
$title="خانه";
$boddy="
<div class=\"row\">";
$boddy=$boddy.renderRightSideBar();
$boddy=$boddy."<div class=\"col-sm-9 padding-right\">";
$boddy=$boddy.renderFeaturesItems();
$boddy=$boddy.renderCategoryTab();
$boddy=$boddy.renderRecommendItems();
$boddy=$boddy."</div>
</div>";
break;
}
case "user":
{
$_SESSION['Page']="user";
$title="کاربر";
$boddy="";
break;
}
case "about":
{
$_SESSION['Page']="about";
$title="درباره ما";
$boddy="";
break;
}
case "contact":
{
$_SESSION['Page']="contact";
$title="ارتباط با ما";
include("styleRender/contact.php");
$boddy=$boddy.renderContact();
if((isset($_GET['action']))&&($_GET['action']=="addContact"))
{
$name=addslashes($_POST['name']);
$email=addslashes($_POST['email']);
$subject=addslashes($_POST['subject']);
$message=addslashes($_POST['message']);
$query="INSERT INTO `contactme`(`Name`, `Email`, `Subject`, `Message`)
VALUES ('".$name."','".$email."','".$subject."','".$message."')";
$result=$db->query($query);
if($result)
{
$_SESSION['message']="پیام شما با موفقیت ارسال شد!";
}
}
break;
}
case "login":
{
$_SESSION['Page']="login";
$title="ورود";
include("styleRender/login.php");
include("inc/loginProcessScript.php");
if((isset($_GET['action']))&&($_GET['action']=="login"))
{
$UserName=addslashes($_POST['UserName']);
$Password=addslashes($_POST['Password']);
$query="SELECT * FROM `user` WHERE `UserName`='".$UserName."' and `Password`='".$Password."'";
$result=$db->query($query);
$row=$result->fetch_assoc();
if($row)
{
$_SESSION['UserName']=$UserName;
if($row['RollId']==1)
{
$_SESSION['Roll']="Admin";
header("Location: index.php?page=admin");
}
else
{
$_SESSION['Roll']="User";
header("Location: index.php");
}
}
else
$_SESSION['message']="نام کاربری یا رمز عبور اشتباه می باشد!";
}
elseif((isset($_GET['action']))&&($_GET['action']=="register"))
{
$FirstName=addslashes($_POST['FirstName']);
$LastName=addslashes($_POST['LastName']);
$UserName=addslashes($_POST['UserName']);
$Email=addslashes($_POST['Email']);
$Password=addslashes($_POST['Password']);
$Address=addslashes($_POST['Address']);
//header("Location: 404.html"); // edit shavad
$query="SELECT * FROM `user` WHERE `UserName`='".$UserName."'";
$query1="SELECT * FROM `user` WHERE `Email`='".$Email."'";
$result=$db->query($query);
$result1=$db->query($query1);
if($result->fetch_assoc())
{
$_SESSION['message']="نام کاربری وارد شده از قبل در دیتابیس موجود می باشد!\\n";
}
if($result1->fetch_assoc())
{
$_SESSION['message']=$_SESSION['message']."ایمیل وارد شده از قبل در دیتابیس موجود می باشد!\\n";
}
if((($result->num_rows)==0) && (($result1->num_rows)==0))//
{
$query2="INSERT INTO `user`(`Name`, `LastName`, `UserName`, `Password`, `Address`, `Email`, `RollId`)
VALUES ('".$FirstName."','".$LastName."','".$UserName."','".$Password."','".$Address."','".$Email."',2)";
$result2=$db->query($query2);
if($result2)
{
$_SESSION['message']=$_SESSION['message']."عضویت شما با موفقیت انجام شد!\\n";
}
}
}
$boddy=renderLogin();
$Pscript=loginProcessScript();
break;
}
case "admin":
{
if(isset($_SESSION['UserName'])&&($_SESSION['Roll']=="Admin"))
{

$_SESSION['Page']="admin";
$title="مدیریت";
if(isset($_GET['action']))
{
switch (strtolower($_GET['action']))
{
case "pglist": //product group list
{
$boddy=renderProductGroupList();
sleep(5);
break;
}
case "cglist": //creat group list
{
$boddy=renderCreateProductGroupList();
break;
}
case "iglist"://insert group list
{
if($_POST && $_FILES['userfile'])
{
include("inc/uploader.php");
if($_SESSION['upSt']==1)
{
$GroupName=addslashes($_POST['GroupName']);
$query="INSERT INTO `productgroup`(`Name`, `ProductGroupPicture`)
VALUES ('".$GroupName."','".$upfile."')";
if($db->query($query))
{
header("Location: index.php?page=admin&&action=PGList");
}
else
{
header("Location: 404.html");
exit();
}
}
}
break;
}
case "eglist"://edit group list
{
include("inc/uploader.php");
if($upSt==1)
{
if($_SESSION['upSt']==1)
{
$GroupName=addslashes($_POST['GroupName']);
$query="UPDATE `productgroup` SET `Name`='".$GroupName."',`ProductGroupPicture`='".$upfile."'
WHERE `ProductGroupId`=".$_GET['id'];
if($db->query($query))
{
echo"<script>alert (\"گروه جدید با موفقیت اضافه شد\");</script>";
}
else
{
echo $message;
header("Location: 404.html");
exit();
}
}
}
}
default:
header("Location: 404.html");
}
}
else
$boddy=renderAdmin();
}
else
header("Location: 404.html");
break;
}
default:
{
header("Location: 404.html");
}
}
}
else
{
header("Location: index.php?page=home");
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title><?php echo $title; ?></title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/font-awesome.min.css" rel="stylesheet">
<link href="css/prettyPhoto.css" rel="stylesheet">
<link href="css/price-range.css" rel="stylesheet">
<link href="css/animate.css" rel="stylesheet">
<link href="css/main.css" rel="stylesheet">
<link href="css/responsive.css" rel="stylesheet">
<link href="css/bootstrap-rtl.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<script src="js/respond.min.js"></script>
<![endif]-->
<link rel="shortcut icon" href="images/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="images/ico/apple-touch-icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="images/ico/apple-touch-icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="images/ico/apple-touch-icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="images/ico/apple-touch-icon-57-precomposed.png">
</head><!--/head-->

<body>
<header id="header"><!--header-->
<?php echo $header; ?>
</header><!--/header-->
<?php if ($_SESSION['Page']!=="admin")echo renderSlider(); ?>
<section>
<div class="container">
<?php echo $boddy; ?>
</div>
</section>
<?php echo renderFooter(); ?>
<script src="js/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.scrollUp.min.js"></script>
<script src="js/price-range.js"></script>
<script src="js/jquery.prettyPhoto.js"></script>
<script src="js/main.js"></script>
<?php if ($Pscript !="") echo loginProcessScript(); ?>
<?php if($_SESSION['message']!="") echo "<script> alert(\"".$_SESSION['message']."\");</script>";?>
<?PHP $_SESSION['message']!=""; ?>
</body>
</html>










کد تابع مربوطه



<?php
function renderAdmin()
{
return"";
}
function renderProductGroupList()
{
include ("inc/config.php");
$query="SELECT * FROM `productgroup`";
$result=$db->query($query);
if(($result->num_rows)>0)
{
$i=1;
$Grouplist="";

while($row=$result->fetch_assoc())
{
$Grouplist=$Grouplist."
<tr>
<td>$i</td>‎
<td>".($row['Name'])."</td>‎
<th><img src=".$url.($row['ProductGroupPicture'])." height='50' width='50'></th>‎
<td style=\"text-align:center\"><a href=\"index.php?page=admin&&action=PGList&id=". ($row['ProductGroupId'])."\"> ویرایش </a>|<a href=\"\"> حذف </a>|<a href=\"\"> جزئیات </a></td>‎
</tr>‎";
$i++;
}
}
return htmlspecialchars_decode ("<a class=\"btn btn-primary\" href=\"index.php?page=admin&&action=CGList\">ایجاد گروه کالا</a><div class=\"row\">
<div class=\"col-md-8 \">
<h2 class=\"title text-center\">لیست گروه محصولات</h2>
<table class=\"table table-bordered\">
<thead>
<tr>
<th>شماره</th>‎
<th>نام گروه</th>‎
<th>تصویر</th>‎
<th>عملیات</th>‎
</tr>‎
</thead>‎
<tbody>".$Grouplist."
</tbody>‎
</table>‎ </div>
</div>");
}
function renderCreateProductGroupList()
{
include ("inc/config.php");
return"
<section id=\"form\"><!--form-->
<div class=\"container\">
<div class=\"row\">
<div class=\"col-sm-4 col-sm-offset-1\">
<div class=\"login-form\"><!--login form-->
<h2 class=\"title text-center\">ثبت گروه کالای جدید</h2>
<form action=\"index.php?page=admin&&action=IGlist\" method=\"post\" enctype=\"multipart/form-data\">
<input name=\"GroupName\" type=\"text\" placeholder=\"نام گروه کالا\" required=\"true\" />
<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"30000000\">
<input name=\"userfile\" type=\"file\" >
<button type=\"submit\" class=\"btn btn-default\">ثبت</button>
</form>
</div><!--/login form-->
</div>
</div>
</div>
</section><!--/form-->";
}
?>

zh00bin
دوشنبه 22 تیر 1394, 13:28 عصر
htmlspecialchars_decode را واسه امتحان گذاشتم که جواب نداد خواستم بگم بدون اون هم جواب نمیده

thacker
دوشنبه 22 تیر 1394, 14:02 عصر
یک بار فایل های پروژتون رو بصورت utf-8 without bom ذخیره کنید ببینید درست میشه یا خیر ...

zh00bin
دوشنبه 22 تیر 1394, 14:09 عصر
این کار را به چه صورت انجام بدم؟

zh00bin
دوشنبه 22 تیر 1394, 14:10 عصر
یک بار فایل های پروژتون رو بصورت utf-8 without bom ذخیره کنید ببینید درست میشه یا خیر ...

چطور این کار را انجام بدم

zh00bin
دوشنبه 22 تیر 1394, 14:17 عصر
یک بار فایل های پروژتون رو بصورت utf-8 without bom ذخیره کنید ببینید درست میشه یا خیر ...

این کار هم انجام دادم همین الان ولی درست نشد. وقتی خود while کامنت میشه مشکل حل میشه نمیدونم دقیقا مشکل از چیه ولی وقتی هست این مشکل هم وجود داره

zh00bin
دوشنبه 22 تیر 1394, 14:35 عصر
الان باز داشتم روش کار میکردم دیدم کلا بیشتر مواقع وقتی یه رشته توسط تابع برگشت داده میشه که شامل کد html هست همین مشکل و داره

zh00bin
پنج شنبه 25 تیر 1394, 14:30 عصر
کسی نبود اطلاعی داشته باشه در این مورد؟

zh00bin
پنج شنبه 25 تیر 1394, 14:31 عصر
:گریه::گریه::گریه:

zh00bin
شنبه 03 مرداد 1394, 23:27 عصر
یعنی واقعا کسی نیست جواب بده ؟
قبلا بچه های برنامه نویس با معرفت تر بودن!

fh_joker
یک شنبه 04 مرداد 1394, 13:21 عصر
با توجه به اینکه می گید هر جا رشته html هست این مشکل پیش میاد می گم.
برای من هم همین مشکل پیش اومده بود
دلیلش اشتباه من در بستن تگ های html بود و این باعث تداخل کدهای html شده بود.مثلا توی بستن div هایی تو در تو
من الان کدهای شما رو با دقت ندیدم.
ولی چرا توی while از tr استفاده کردید بدونه اینکه ابتدا یا انتهای table مشخص باشه؟؟

zh00bin
یک شنبه 04 مرداد 1394, 21:56 عصر
با توجه به اینکه می گید هر جا رشته html هست این مشکل پیش میاد می گم.
برای من هم همین مشکل پیش اومده بود
دلیلش اشتباه من در بستن تگ های html بود و این باعث تداخل کدهای html شده بود.مثلا توی بستن div هایی تو در تو
من الان کدهای شما رو با دقت ندیدم.
ولی چرا توی while از tr استفاده کردید بدونه اینکه ابتدا یا انتهای table مشخص باشه؟؟


این tr مربوط به boddy جدول هست که داخل یک رشته ریخته شده و در اخر به تیبل اضافه شده
ببینید: <tbody>".$Grouplist." </tbody>

Master_Power
یک شنبه 04 مرداد 1394, 22:23 عصر
کدهای html را از توی PHP بیرون بیارید

مثال



<?php
if($result)
?>
<div class="ttt">
<?php
echo "test"?>
</div>