PDA

View Full Version : سوال: ایراد کد چی هست به نظرتون



raha1234567
یک شنبه 02 آذر 1393, 01:17 صبح
سلام دوستان من این کد زیر رو نوشتم اوقتی اجرا می کنه هیچ ایرادی نمیگیره ولی صفحه دوم که باید عکس ها رو نمایش بده چیزی نمایش نمیده شما میتونید کمکم کنید ؟؟؟

ص2


<?php



if ( isset($_POST["tsearch"]))
{
$sn="localhost";
$user="root";
$pass="";
$dbn="jobs2";
$con=mysqli_connect($sn,$user,$pass,$dbn);
if (mysqli_connect_errno())
{
echo "خطا در برقرار ارتباط " . mysqli_connect_error();
}

$sql="SELECT * FROM `page` WHERE `tsearch` LIKE '".$_POST["tsearch"]."' ";
if ($result=mysqli_query($con,$sql))
{
while ($row=mysqli_fetch_array($result))
{
echo '<img src="'.$row['pic'].'">'.'';
}
mysqli_free_result($result);
}
else
die("موردی یافت نشد");
}
else
die("متن جستجو را وارد کنید");
?>


صفحه 1



<form id="form1" name="form1" method="post" action="result1.php">

<input name="tsearch" type="text" id="tsearch" width="450" height="30" /></td>

<td width="518"><input type="submit" name="bsearch" id="bsearch" value="جستجو" /></td>

rambod18
یک شنبه 02 آذر 1393, 01:23 صبح
عکس ها رو کجا ذخیره کردید تو همون جای هست که فایل تون هم هست یا ادرس دیگه ای داره؟

raha1234567
یک شنبه 02 آذر 1393, 01:26 صبح
بله توی همومن پوشه که فایل ها هست
www\jobs\ a.jpg

, و توی دیتابیس هم فقط اسم عکس رو دادم a.jpg

rambod18
یک شنبه 02 آذر 1393, 01:30 صبح
سورس صفحه رو بعد اجرا باز کنید ببینید توی قسمت SRC چی نوشته

raha1234567
یک شنبه 02 آذر 1393, 01:33 صبح
هیچی صفحه خالی بود

من احساس مسپیکنم query hdvhn nhvi چون یه پرانتز که بهش اضافه می کنم ایراد میگیره و می نویسه موردی یافت نشد

rambod18
یک شنبه 02 آذر 1393, 01:45 صبح
این دستور رو جایگزین کنید ببینید چی میشه


$sql="SELECT * FROM page WHERE tsearch LIKE '%".$_POST["tsearch"]."%' "

raha1234567
یک شنبه 02 آذر 1393, 01:48 صبح
همه اینها رو انجام دادم اجرا نداده

من یه سوال؟؟
من همین کدهارو با mysql اجرا گرفتم بعد کدهام یه ارور میداد فقط کد ها رو به mysqli تبدیل کردم باید چیز دیگه ای هم تغییر بدم

rambod18
یک شنبه 02 آذر 1393, 01:53 صبح
فکر نکنم
شما دستور sql رو تو خود phpadmin اجرا کنید فقط بجای $_POST اسم خود عکس رو بدید ببینید اجرا میشه

raha1234567
یک شنبه 02 آذر 1393, 01:56 صبح
ج داد میگم یه چیز دیگه من مقادیر جدولم فارسیه میشه برا اون باشه؟؟؟

raha1234567
یک شنبه 02 آذر 1393, 01:59 صبح
آره هههههه ج داد حالا من چطور به mysqli بگم فارسی بگیر؟؟؟؟

میدونم این ماله mysql
mysql_query("SET Names 'utf8'");

rambod18
یک شنبه 02 آذر 1393, 02:00 صبح
بعده اما می تونید از این دستور استفاده کنید برای مقادیر فارسی


mysqli_set_charset( $con, 'utf8' );

قبل از اجرای کوئری این کد رو بذارید
معمولا وقتی هیچی تو سورس نشون نمیده به معنی یه خطا توی کد های php هست

raha1234567
یک شنبه 02 آذر 1393, 02:03 صبح
حالا این قسمتش حل شد ولی برا موردی یافت نشد باز صفحه خالی نشون میده!!!!

rambod18
یک شنبه 02 آذر 1393, 02:14 صبح
من فکر می کنم قسمت else اصلا اجرا نمی شه
اینو تست کنید



$result=mysqli_query($con,$sql) if ($result!="") { while ($row=mysqli_fetch_array($result)) { echo '<img src="'.$row['pic'].'">'.''; } mysqli_free_result($result); } else die("موردی یافت نشد");

raha1234567
یک شنبه 02 آذر 1393, 02:21 صبح
چیطی نشون نداد میگم از این 2 خط هم میشه استفاده کرد ولی نمیدونم چطور


//$count=mysqli_num_rows($result);
// if($count==0){

rambod18
یک شنبه 02 آذر 1393, 13:40 عصر
$count=mysqli_num_rows($result);
if($count==0)
die(not found);

ciph3r
یک شنبه 02 آذر 1393, 14:59 عصر
البته لازم بگم که کد شما ساید درست کار کنه ولی آسیب پذیری SQK Injection هم اتفاق میوفته ، به نظرم یک فیلتر کارکتر براش بزارید

raha1234567
یک شنبه 02 آذر 1393, 20:41 عصر
$count=mysqli_num_rows($result);
if($count==0)
die(not found);



این کد رو وقتی میزنم بهم همون اروری رو میده که این کد در آینده اجرا نمیشه.....

125981

raha1234567
دوشنبه 03 آذر 1393, 19:26 عصر
میگم اگه من بخوام در هر صفحه 10 تا عکس داشته باشم و صفحه هاتم 2 تا با بیشتر بشه چه باید بکنم؟؟؟؟

hamedarian2009
دوشنبه 03 آذر 1393, 21:53 عصر
میگم اگه من بخوام در هر صفحه 10 تا عکس داشته باشم و صفحه هاتم 2 تا با بیشتر بشه چه باید بکنم؟؟؟؟

به این کار میگن pagination یا صفحه بندی سرچ کنید کلی آموزش در موردش هست
یه نمونه اینه http://webgoo.ir/152/%D8%B5%D9%81%D8%AD%D9%87-%D8%A8%D9%86%D8%AF%DB%8C-%D9%85%D8%B7%D8%A7%D9%84%D8%A8-%D9%88-%D9%85%D8%AD%D8%AA%D9%88%D8%A7-%D8%A8%D8%A7-php-%D9%88-mysql

raha1234567
دوشنبه 03 آذر 1393, 22:07 عصر
چشم فقط میخواستم ببینم باز باید کدم رو تغییر بدم؟؟؟؟؟؟؟؟