PDA

View Full Version : سوال: مشکل در کد نویسی



yasin5
پنج شنبه 05 دی 1392, 18:51 عصر
با سلام من یک سایت طراحی کردم می خوام وقتی روی لیست موضوعات کلیک کرد موضوعات مرتبط به ان نشان داده شود


<?php
session_start();
?>


<?php
require_once 'config/database.php';

include ("config/config.php");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php
mysql_query("set names 'UTF8'");
$cms=mysql_query("select * from config");

$k=mysql_fetch_assoc($cms);
echo $k["title"];

?></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<link rel="stylesheet" type="text/css" href="css/style.css" />
<link rel="stylesheet" type="text/css" href="css/style2.css" />
<link rel="stylesheet" type="text/css" href="css/paged_style.css" />
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/ajaxreq.js"></script>
<p id="demo"></p>
<script>
function myFunction1()
{
var x;
var r=confirm("آیا مطمئن هستید که می خواهید خارج شوید؟");
if (r==true)
{
window.location.assign("login/log_out.php")
}
else
{
x="You pressed Cancel!";
}
document.getElementById("demo").innerHTML=x;
}
</script>
</head>
<body>
<?php
include ("config/config.php");
mysql_query("set names 'UTF8'");
$sel=mysql_query("SELECT *FROM `posts` where onoff=1 ");

?>
<?php include ('header.php'); ?>
<?php include ('sidebarr.php'); ?>

<div id="content">
<?php
if(isset ($_GET['psid']))
{
include_once('paged_setting.php');

//نام میزبان
$db_host = "localhost";
//MySQL نام کاربری
$db_user = "root";
//MySQL کلمه عبور
$db_password = "";
//نام پایگاه داده
$db_name = "cms";
//نام جدول
$tb_name = "posts";

//اتصال به سرور و پایگاه داده
$connect = mysql_connect("$db_host", "$db_user", "$db_password")
or die(mysql_error());

//انتخاب دیتابیس
mysql_select_db("$db_name")
or die(mysql_error());

//تنظیم کاراکترها سازگار با فارسی
$set = mysql_query("SET NAMES 'utf8'")
or die(mysql_error());

//دریافت صفحه درخواستی
@$page = mysql_real_escape_string($_GET['page']);

//محاسبه شروع انتخاب نتایج
if(empty($page)){
//پیش فرض
$page = 1;
}
$start = ($page - 1) * $setting['paged_item'];
$ptsel=mysql_query("SELECT *FROM `posts` where postid='".$_GET["psid"]."'");
$pst=mysql_fetch_array($ptsel);
?>
<div class="content">
<div class="content_title">
<h3> <?php echo $pst["title"] ?> </h3>
</div>
<div class="content_m"><?php echo $pst["text"] ?>
<?php
if($pst["tag"]!=""){
$tag=explode(",",$pst["tag"]);

echo '<div class="post-tag">';
foreach($tag as $value)
{
echo '

<a href="addpost.php?id='.$pst["postid"].'" style="text-align:center;">'.$value.'</a></div>';

}

}

?>
</div>
</div>
<div class="content">
<div class="content_title">
<h3> ارسال نظرات </h3>
</div>
<div class="content_m">
<?php
include('config/config.php');
include ("shamsi.php");
mysql_query("set names 'UTF8'");



if(isset($_POST['captcha'])){


if ($userCaptcha = strtoupper($_POST['captcha']))
{
if( $_SESSION['captcha'] !== $userCaptcha )

echo '<font color="#FF0000" size="+1">کد امنیتی را صحیح وارد نمایید</font>';


else {




$query= "insert into nazar (name,email ,site, payam,date)values('".$_POST['name']."','".$_POST['email']."','".$_POST['site']."','".$_POST['payam']."','".shamsi()."')";

$result=mysql_query($query) or die(mysql_error());
if($result)
{


echo '<font color="#FF0000" size="+1" >پیام شما ارسال شد</font>';




}
}
}
}


?>



<form id="form2" name="form2" method="post" action="" onsubmit="return validateForm()" >
<p align="right">نام


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
<input name="name" type="text" id="name" size="30" />
&nbsp;<font color="#FF0000">* </font> </p>
<p align="right">ایمیل



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="email" type="text" id="email" size="30" />
<font color="#FF0000">*</font> </p>
<p align="right">وب سایت


&nbsp;&nbsp;&nbsp;
<input name="site" type="text" id="site" size="30"/>
</p>
<?php
if(isset($_POST['site']))
{
$site=$_POST['site'];

if(!preg_match("|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i", $site))
{
echo '<font color="#FF0000" size="3">آدرس وب سایت شما معتبر نمی باشد</font>';
}
}
?>
<br />
<p align="right">
<textarea name="payam" cols="50" rows="10" id="payam"></textarea>
&nbsp;<font color="#FF0000">*</font> </p>
<p align="right">
<p> <img src="ap-catpcha/ap-captcha.php" /> <br />
<p>کد امنیتی نمایش داده شده در تصویر فوق را در فیلد زیر وارد نمایید</p>
<input name="captcha" type="text" size="30" />
&nbsp;<font color="#FF0000">*</font> <br />
<input type="submit" name="button" id="button" value="ثبت نظر" onclick="myFunction()" />
</p>
</form>
</div>
</div>
<?php
}
else{
include_once('paged_setting.php');

//نام میزبان
$db_host = "localhost";
//MySQL نام کاربری
$db_user = "root";
//MySQL کلمه عبور
$db_password = "";
//نام پایگاه داده
$db_name = "cms";
//نام جدول
$tb_name = "posts";

//اتصال به سرور و پایگاه داده
$connect = mysql_connect("$db_host", "$db_user", "$db_password")
or die(mysql_error());

//انتخاب دیتابیس
mysql_select_db("$db_name")
or die(mysql_error());

//تنظیم کاراکترها سازگار با فارسی
$set = mysql_query("SET NAMES 'utf8'")
or die(mysql_error());

//دریافت صفحه درخواستی
@$page = mysql_real_escape_string($_GET['page']);

//محاسبه شروع انتخاب نتایج
if(empty($page)){
//پیش فرض
$page = 1;
}
$start = ($page - 1) * $setting['paged_item'];

//اجرای پرس و جوی داینامیک و دریافت مقادیر
$sel = mysql_query("SELECT * FROM ".$tb_name." ORDER BY postid desc LIMIT $start, ".$setting['paged_item']."")
or die(mysql_error());
while($pst=mysql_fetch_array($sel)){


?>
<div class="content">
<div class="content_title">
<h3> <?php echo $pst["title"] ?> </h3>
</div>
<div class="content_m"> <?php echo $pst["onetext"] ?>
<?php
if($pst["text"]!=''){

echo '<a href="?psid='.$pst["postid"].'"><div class="continue" >مطالعه بیشتر</div></a>';
}

?>
</div>
</div>
<?php

}

//پرس و جوی تعداد کل ردیف ها
$total = mysql_query("SELECT postid FROM ".$tb_name."")
or die(mysql_error());
//مجموع
$count = mysql_num_rows($total);

//بررسی نیاز به صفحه بندی
if($count - $setting['paged_item'] > 0){
//تعداد صفحات
$paged_total = ceil($count / $setting['paged_item']);
//صفحه آخر
$paged_last = $paged_total;
//صفحات میانی
$paged_middle = $page + 4;
//شروع صفحه بندی
$paged_start = $paged_middle - 4;

//ایجاد لینک صفحه نخست
if($page > 1){
//اگر صفحه درخواستی بزرگتر از 1 بود
$paged_result = '<div class="paged-link"><a href="index.php?page=1" title="صفحه نخست">نخست</a></div>'."\n";
}
//غیر فعال کردن لینک صفحه نخست اگر صفحه درخواستی برابر 1 بود
else{
$paged_result = '<div class="paged-link-off">نخست</div>'."\n";
}

//ایجاد لینک صفحه قبلی
if($page > 1){
//محاسبه لینک صفحه قبلی
$paged_perv = $page - 1;
//ایجاد لینک صفحه قبلی
$paged_result .= '<div class="paged-link"><a href="index.php?page='.$paged_perv.'" title="صفحه قبلی">قبلی</a></div>'."\n";
}
//غیر فعال کردن لینک صفحه قبلی اگر صفحه انتخابی برابر 1 بود
else{
$paged_result .= '<div class="paged-link-off">قبلی</div>'."\n";
}

//ایجاد لینک صفحات میانی، شروع از دو شماره قبل
for ($i=$paged_start-2; $i<=$paged_middle; $i++){
//ایجاد لینک در صورتی که صفر، منفی یا از آخرین صفحه بیشتر نباشد
if ($i > 0 && $i <= $paged_last){
//در حالت انتخاب شده
if($i == $page){
$paged_result .= '<div class="paged-link-selected"><a href="index.php?page='.$i.'" title="صفحه '.$i.'">'.$i.'</a></div>'."\n";
}
//در حالت عادی
else{
$paged_result .= '<div class="paged-link"><a href="index.php?page='.$i.'" title="صفحه '.$i.'">'.$i.'</a></div>'."\n";
}
}
}

//نمایش لینک صفحات بعدی
if($page <= $paged_last - 1){
//محاسبه لینک صفحه بعدی
$paged_next = $page + 1;
//ایجاد لینک صفحه بعدی
$paged_result .= '<div class="paged-link"><a href="index.php?page='.$paged_next.'" title="صفحه بعدی">بعدی</a></div>'."\n";
}
//غیر فعال کردن لینک صفحه بعدی اگر صفحه انتخابی برابر صفحه آخر بود
else{
$paged_result .= '<div class="paged-link-off">بعدی</div>'."\n";
}

//لینک صفحه آخر
if($page <= $paged_last - 1){
$paged_result .= '<div class="paged-link"><a href="index.php?page='.$paged_last.'" title="صفحه آخر">آخر</a></div>'."\n";
}
//غیر فعال کردن لینک صفحه آخر اگر صفحه انتخابی برابر صفحه آخر بود
else{
$paged_result .= '<div class="paged-link-off">آخر</div>'."\n";
}

//اطلاعات صفحات
$paged_result .= '<div class="paged-link-info">&raquo; صفحه: '.$page.' از '.$paged_total.'</div>'."\n";
//خروجی
echo $paged_result;
}
else{
echo 'صفحه ای وجود ندارد!'."\n";
}
//پایان اتصال
$close = mysql_close($connect);
}

?>
</div>
<?php include ('sidebarl.php'); ?>

<?php include ('footer.php'); ?>



کد لیست موضوعات



<?php
mysql_query("set names utf-8");
$p="select * from cat";
$r=mysql_query($p);
while($row=mysql_fetch_assoc($r))
echo '<li><a href="?at=0&cat='.$row['catid'].'">'.$row['name'].'</a></li>';

?>

akbar8298
یک شنبه 08 دی 1392, 23:41 عصر
ببینید در کل شما برای نشون دادن مطالبی که مرتبط با موضوع انتخابی شما هستند باید مثل همین کاری که کردید کد دسته بندی یا همون موضوع رو بفرستید.

توی دیتابیس و جدول مربوط به مطالب باید یه فیلد داشته باشید که کد موضوع یا دسته بندی توش ذخیره شده باشه.

حالا وقتی کد دسته بندی را میفرستید باید یه دستور sql بنویسید که کلیه مطالبی که با کد دسته بندی برابر هستند رو بکشه بیرون.

مثل:



$cat=$_GET["cat"]; // call a function that prevent sql injection ...
$sqlText="select * from `ContentTableName` where `category`=$cat";
$res=mysql_query($sqlText,$DatabaeConnection);
while($row=mysql_fetch_assoc($res))
{
//do whatever you need
}

p30online
دوشنبه 09 دی 1392, 00:02 صبح
دوست خوب سلام :
ببین من اینجا با چک باکس نوشتم شما می توانید با لینک ، عکس یا هر چیز دیگر در صورت کلیک اطلاعات را نمایش دهید مشاهده (http://barnamenevis.org/showthread.php?429206-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A8%D8%A7%D9%86%DA%A9-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA%DB%8C-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%DA%86%DA%A9-%D8%A8%D8%A7%DA%A9%D8%B3)