PDA

View Full Version : آموزش: عدم نمایش مسیر کاربر در سایت (حل شد)



SONITAJ
پنج شنبه 12 اردیبهشت 1392, 17:34 عصر
سلام (سوال هست نه آموزش حواسم نبوده عنوان را زدم آموزش ببخشید.)
این کد اجرا نمی کنه چرا؟ این کدی هست که نشون میده هر کاربری توی چه صفحه ایی از وب هست مثل وب سایت برنامه نویس یعنی اینجوری:
تالار->زبان های اسکریپتی ->php
ولی اجرا نمی کنه لطفا کمک کنید واجبه

<?php
function DisplayPath($cat_id){
mysql_connect('localhost','keyvandb','') or die('connection error');
mysql_select_db('keyvandb') or die('Database error');
mysql_query('SET NAMES\'utf8\'');
mysql_set_charset('utf8');
$cat_id=mysql_real_escape_string($cat_id);
$category=query("SELECT * FROM 'categories' WHERE('id'='{cat_id}') LIMIT 1");
$nav='';
if($category && mysql_num_rows($category)>0){
$category=mysql_fetch_assoc($category);
do {
$nav= '<a herf=" '.ADDR.'/categories/'.$category['id'].'/'.$category['name'].' ">'.$category['name'] .'</a> -&gt; '.$nav;
$parent=mysql_real_escape_string($category['parent']);
$category =query("SELECT * FROM 'categories' WHERE('id'='{$parent}') LIMIT 1");
if($category && mysql_num_rows($category)>0){
$category=mysql_fetch_assoc($category);
}
} while (is_array($category));
//remove the last ->
$nav=mb_substr($nav,0,mb_strlen($nav,'utf-8')-7,'utf-8');
}
echo '<b>دسته بندی:</b>'.$nav.PHP_EOL();
}
?>
من تمام اطلاعاتم را توی پایگاه داده ذخیره کردم به این صورت (پایگاه داده ام 3تا فیلد داره idوparent از نوع int وname از نوع کاراکتری)
id=1
name=محصولات
parent=0
id=2
name=طرح آجری
parent=1

لطفاراهنمایی کنید من میخواهم توی وبو داشته باشم که هر کاربر توی چه صفحه ایی است.:گریه:

SilverLearn
پنج شنبه 12 اردیبهشت 1392, 18:19 عصر
ارور میده ؟ چه اروری میده ؟

mostafa272
پنج شنبه 12 اردیبهشت 1392, 18:26 عصر
خط هشتم cat_id چرا علامت $نداره؟؟

SONITAJ
جمعه 13 اردیبهشت 1392, 11:00 صبح
$قبل از cat_id را موقع کپی کردن حواسم نبوده و کپی نشده وهیچ خطایی نمیده وصفحات وبم همان طوری که بوده هست .این مثل وب برنامه نویس باید بیاد بالای صفحات وب سایت که نمی یاد.چون ارور نمیده من هم نمیدونم ونمی تونم تشخیص بدهم مشکلش چه هست. لطفا کمک کنید.

mostafa272
جمعه 13 اردیبهشت 1392, 11:33 صبح
آیا این تابع رو جای درستی صدا میزنی و پارامتر ورودی درست مقدار می گیره؟
اگر هیچی بر نمی گرده (حتی نوشته "دسته بندی" )یعنی این تابع درست فراخوانی نمیشه
اگر "دسته بندی" رو بر می گردنه لینکی بر نمی گرده
چون خطایی نمیده احتمالا مشکل از رشته تقاضای sql باشد باشه. کوئری رو ساده بنویس (تک کوتیشن های قبل و بعد id و categories رو حذف کن .آکولادهای قبل از متغیرها رو حذف کن ببین درست میشه)

engmmrj
جمعه 13 اردیبهشت 1392, 12:02 عصر
مشکل از خط 8 است که نام table, field رو داخل qoute(') گذاشتین نام table رو باید داخل back qoute(`) بگذارین ، که اجباری در این کار نیست .
و cat_id یک متغیر است که باید قبلش یک '$' بگذارین.

SONITAJ
جمعه 13 اردیبهشت 1392, 14:09 عصر
روشهایی که شما دو دوست عزیز فرمودید انجام دادم ولی متاسفانه دوباره اجرا نمی کنه همون وضعه چرا؟هیچ کسی نیست کمک کنه؟ بلد باشه؟

engmmrj
جمعه 13 اردیبهشت 1392, 14:48 عصر
تابع mysql_error رو به این شکل اضافه کن تا ببینیم مشکل از کجاست :

$category=query("SELECT * FROM 'categories' WHERE('id'='{cat_id}') LIMIT 1") or die(mysql_error());

mostafa272
جمعه 13 اردیبهشت 1392, 14:55 عصر
آخر نگفتی تابع اصلا درست فراخوانی میشه یا نه؟ می تونی نوشته "دسته بندی" رو ببینی؟

SONITAJ
جمعه 13 اردیبهشت 1392, 16:35 عصر
نه حتی نوشته دسته بندی را هم نشون نمیده.

SONITAJ
جمعه 13 اردیبهشت 1392, 20:49 عصر
کسی از دوستان واساتید نیست که بتونه من را راهنمایی کنه که کدم اجرا بشه؟ چرا کسی جواب نمیده؟:گریه::عصبانی++:

mojtaba.baghban
شنبه 14 اردیبهشت 1392, 00:10 صبح
با یه دیباگر مثل xdebug برنامه رو دیباگ کنید تا مشکلتون پیذا بشه

mostafa272
شنبه 14 اردیبهشت 1392, 09:51 صبح
اینجا تو این تابع خروجی رو با return بر گردون و تو صفحه اصلی برنامه ات مقدار برگشتی رو echo کن ببین تغییری حاصل میشه.

SONITAJ
شنبه 14 اردیبهشت 1392, 09:53 صبح
من چه جوری از xdebug استفاده کنم ؟به جای ومپ نصبش کنم؟ لطفا برام توضیح می دهید. ولینک دانلودش را برام میذارید.
ممنونم

SONITAJ
شنبه 14 اردیبهشت 1392, 09:58 صبح
آقای mostafa272 من متوجه نمی منظور شما نمیشم واضح تر توضیح می دهید؟ممنون

mostafa272
شنبه 14 اردیبهشت 1392, 10:07 صبح
آقای mostafa272 من متوجه نمی منظور شما نمیشم واضح تر توضیح می دهید؟ممنون

این کار زیاد با چیزی که می خواهید فرقی نداره . منظورم اینه الان در این تابع به جای echo کردن return کنید و در هر جا که می خواهید این تابع را استفاده کنید قرار دهید:

echo DisplayPath($id);

شما از این تابع در همین صفحه استفاده می کنید یا مثلا این تابع در کلاسی در صفحه ای دیگر قرار دارد؟

mojtaba.baghban
شنبه 14 اردیبهشت 1392, 10:40 صبح
من چه جوری از xdebug استفاده کنم ؟به جای ومپ نصبش کنم؟ لطفا برام توضیح می دهید. ولینک دانلودش را برام میذارید.
ممنونم
xdebug دیباگر هست مثل zend debug و قرار نیست جای ومپ رو بگیره.
شما از کدوم IDE استفاده می‌کنی؟

SONITAJ
شنبه 14 اردیبهشت 1392, 16:44 عصر
notepad++ و با ومپ اجرل می کنم.

mojtaba.baghban
شنبه 14 اردیبهشت 1392, 17:04 عصر
notepad++ و با ومپ اجرل می کنم.

تو این لینک (http://thecancerus.com/debugging-php-using-xdebug-and-notepad-part-i/) آموزش راه‌اندازی xdebug واسه notepad++ توضیح داده شده

SONITAJ
شنبه 14 اردیبهشت 1392, 17:40 عصر
من xdebug را برای notepad++ راه اندازی کردم الان چه جوری ازش استفاده کنم و کدم را اجرا کنم ببینم چه اتفاقی میفته .لطفا برام توضیح بدهید. ممنونم

mojtaba.baghban
یک شنبه 15 اردیبهشت 1392, 06:29 صبح
راستش من ویندوز و notepad++ ندارم که بتونم خوب راهنمایی کنم
از لینوکس و aptana studio استفاده می‌کنم و xdebug رو هم اجرا کردم.
قائدتا باید تو منوهای notepad++ گزینه‌های مربوط به دیباگ مانند اجرای خط به خط و گذاشتن break point و از این جور چیزا ظاهر بشه.
نزدیکای خطی که میبینی بد اجرا میشه یه break point بذار بعد خط به خط اجرا کن و مقدار متغیرها رو چک کن ببین کدوم با منطق برنامه‌ای که نوشتی جور در نمیاد
باز بچه‌های ویندوزی بهتر می‌تونن کمکت کنن

SONITAJ
دوشنبه 16 اردیبهشت 1392, 17:43 عصر
کسی نیست به من کمک کنه .باxdebug هم اجرا کردم ولی دوباره خطا نمی ده .خواهش می کنم یکی کمک کنه .آقای شهرکی شما یک راهنمایی نمی فرمایید؟:گریه:

SONITAJ
سه شنبه 17 اردیبهشت 1392, 13:32 عصر
لطفا خواهش می کنم یکی به من کمک کنه؟یکی راهنمایی کنه مشکل این کد چیه؟ چرا کسی جواب نمیده؟

MMSHFE
سه شنبه 17 اردیبهشت 1392, 15:20 عصر
function DisplayPath($cat_id) {
error_reporting(E_ALL);
mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('keyvandb') or die('Database error');
mysql_query('SET NAMES\'utf8\'');
mysql_set_charset('utf8');
$cat_id = mysql_real_escape_string($cat_id);
$category = mysql_query("SELECT * FROM 'categories' WHERE ('id'='{cat_id}') LIMIT 1");
$nav = '';
if($category && mysql_num_rows($category) > 0) {
$category = mysql_fetch_assoc($category);
do {
$nav = '<a herf=" ' . ADDR . '/categories/' . $category['id'] . '/' . $category['name'] . ' ">' . $category['name'] . '</a> -&gt; ' . $nav;
$parent = mysql_real_escape_string($category['parent']);
$category = mysql_query("SELECT * FROM 'categories' WHERE ('id'='{$parent}') LIMIT 1");
if($category && mysql_num_rows($category) > 0) {
$category = mysql_fetch_assoc($category);
}
else {
echo mysql_error();
}
} while (is_array($category));
$nav = mb_substr($nav, 0, mb_strlen($nav, 'utf-8') - 7, 'utf-8');
}
else {
echo mysql_error();
}
echo '<b>دسته بندی:</b>' . $nav . PHP_EOL();
}

اینو تست کنید. ببینید چه خطایی میده. اسم دیتابیس و جدول و... درسته؟

SONITAJ
چهارشنبه 18 اردیبهشت 1392, 21:21 عصر
استاد شهرکی ممنونم .
بله اسم جدول ودیتا بیس وبقیه موارد درسته ولی دوباره اجرا نمی کنه حتی هیچ خطایی هم نمیده توی کد اول ،بالای فانکشن چنین نوشتم چیزی که شما بالای تابع نوشته اید.
;(
ini_set('display_errors',1)
error_reporting(E_ALL);

بازم نه اجرا کرد ونه خطایی داد الان باید چه کاری انجام بدهم تا کارکنه؟ ممکنه مشکل از نرم افزار،سخت افزار یا یک چیزی این چنینی باشه؟ اگر نه پس ؟

SONITAJ
پنج شنبه 19 اردیبهشت 1392, 20:27 عصر
من روش دوم که آقای شهرکی فرمودند را هم اجرا کردم و امتحان کردم ولی بازهم اجرا نشد ونه خطا ونه هیچ چیز دیگه ایی نشون نداد؟

mojtaba.baghban
جمعه 20 اردیبهشت 1392, 01:18 صبح
من خودم وقتی به همچین مشکلی می‌خورم میام خط به خط اجرا می‌کنم تا بفهمم مشکل از کجاست.
شما هم با یه دیباگر مثل xdebug خط به حط اجرا کن انشاالله که عیب کار مشخص بشه.
متاسفانه ویندوز ندارم که راهنماییت کنم.
اگه می‌تونی از یه IDE مثل آپتانا استفاده کن. من خودم ازش استفاده می‌کنم و با xdebug هم سازگاره و با همین روش تونستم خیلی از این خطاها رو ردیابی کنم
موفق باشی

MMSHFE
جمعه 20 اردیبهشت 1392, 08:55 صبح
برام اطلاعات Remote Connection با TeamViewer رو ازطریق پیام خصوصی بفرستین تا به سیستمتون وصل بشم ببینم مشکل از کجاست.

SONITAJ
دوشنبه 23 اردیبهشت 1392, 22:24 عصر
سلام من کد بالا را به صورت زیر تغییر دادم یه چیزی شبیه تالار->زبان های اسکریپتی ->php نشون میده ولی همراه با این خطا سعی کردم اصلاح کنم ولی موفق نشدم لطفا راهنماییم کنید.
این خطا :
you have an error in your SQL syntax; check the manual that corresponds to your MYSQL server version for the right syntax to use near'limit1' at line 1.
اینم کدی که نوشتم :

<?php require_once 'config.php'; ?>

<?php
function DisplayPath($cat_id) {
error_reporting(E_ALL);
mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('keyvandb') or die('Database error');
mysql_query('SET NAMES\'utf8\'');
mysql_set_charset("utf8");
$cat_id = mysql_real_escape_string($cat_id);
$category = mysql_query("SELECT * FROM categories WHERE id={$cat_id} LIMIT 1");
$nav = '';

$name="";
$id="";
$parent="";

while($x = mysql_fetch_array($category))
{

$name= $x['name'];
$id=$x['id'];
$parent=$x['parent'];

}

$cat="categories";
if($category && mysql_num_rows($category) > 0) {
$category = mysql_fetch_assoc($category);
do {
//$nav = '<a href=\" ' . ADDR . '/categories/' . $category['id'] . '/' . $category['name'] . ' \">' . $category['name'] . '</a> -&gt; ' . $nav;

$nav = "<a href=\"http://localhost/test1/{$cat}/{$id}/{$name}\" >{$name}<a>";
echo $nav;

$parent = mysql_real_escape_string($category['parent']);
$category = mysql_query("SELECT * FROM categories WHERE id={$parent} LIMIT 1");
if($category && mysql_num_rows($category) > 0) {
$category = mysql_fetch_assoc($category);
}
else {
echo mysql_error();
}
} while (is_array($category));
$nav = mb_substr($nav, 0, mb_strlen($nav, 'utf-8') - 7, 'utf-8');
}
else {
echo mysql_error();
}
echo '<b>دسته بندی:</b>' . $nav;
//echo '<b>دسته بندی:</b>' . $nav . PHP_EOL();
}
?>
اینم عکسش :

104152
معنی خطا را متوجه نشدم که بخواهم ان را رفع کنم.

SONITAJ
چهارشنبه 08 خرداد 1392, 19:18 عصر
سلام
من ارروی که توی قسمت قبل پرسیدم ونمیدونم چی بوذ را رفع کردم و الان مسیر نمایش کاربر در سایت را نشون میده ولی نه به صورت تالار->زبان های اسریپتی->php بلکه به شکل عکس زیر و بطور نامرتب و بهم ریخته :
104820
چه کاری انجام بدهم تا به صورت بالا نشون بده؟آیا باید تغییری توی کد زیر بدهم؟ کدام قسمت؟ لطفا راهنمایی کنید:

<?php require_once 'config.php'; ?>

<?php
function DisplayPath($cat_id) {
error_reporting(E_ALL);
mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('keivandb') or die('Database error');
mysql_query('SET NAMES\'utf8\'');
mysql_set_charset("utf8");
$cat_id = mysql_real_escape_string($cat_id);
$category = mysql_query("SELECT * FROM categories WHERE id={$cat_id} LIMIT 1");
$nav = '';

$name="";
$id="";
$parent="";

while($x = mysql_fetch_array($category))
{

$name= $x['name'];
$id=$x['id'];
$parent=$x['parent'];


}
$category = mysql_query("SELECT * FROM categories WHERE id={$cat_id} LIMIT 1");
while($x = mysql_fetch_array($category))
{

$name= $x['name'];

}

$cat="categories";
if($category && mysql_num_rows($category) > 0) {
$category = mysql_fetch_assoc($category);
do {
//$nav = '<a href=\" ' . ADDR . '/categories/' . $category['id'] . '/' . $category['name'] . ' \">' . $category['name'] . '</a> -&gt; ' . $nav;

$nav = "<a href=\"http://localhost/Test2/{$cat}/{$id}/{$name}\" >{$name}<a>";
echo $nav;

$parent = mysql_real_escape_string($category['parent']);
$category = mysql_query("SELECT * FROM categories WHERE id=parent LIMIT 1");
if($category && mysql_num_rows($category) > 0) {
$category = mysql_fetch_assoc($category);
}
else {
echo mysql_error();
}
} while (is_array($category));
$nav = mb_substr($nav, 0, mb_strlen($nav, 'utf-8') - 7, 'utf-8');
}
else {
echo mysql_error();
}
echo '<b>دسته بندی:</b>' . $nav;
//echo '<b>دسته بندی:</b>' . $nav . PHP_EOL();
}
?>
لطفا راهنمایی کنید.:متعجب::متفکر:
ممنونم.

MMSHFE
پنج شنبه 09 خرداد 1392, 08:26 صبح
به DIV خودتون جهت Right To Left دادین؟

SONITAJ
پنج شنبه 09 خرداد 1392, 10:45 صبح
بله توی قسمتی که متون صفحات را گذاشتم اینجوری نوشتم (در فراخوانی تابع در صفحاتم)

<div class="contentpage" dir="rtl">
<div dir="rtl">
<?php
mysql_set_charset("utf8");
DisplayPath(2);
?>
</div>
</div>

میتونه مشکل از نوشتن من باشه ولی توی صفحه category.php فقط کدهای بالا را نوشتم.
چه کاری انجام بدهم درست بشه؟

MMSHFE
پنج شنبه 09 خرداد 1392, 11:45 صبح
اینو تست کنید:


<?php
require_once 'config.php';

function DisplayPath($cat_id) {
mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('keivandb') or die('Database error');
mysql_query('SET NAMES\'utf8\'');
mysql_set_charset('utf8');
$cat_id = mysql_real_escape_string($cat_id);
$category = mysql_query("SELECT * FROM categories WHERE (`id`='{$cat_id}') LIMIT 1");
$nav = '';
$name = '';
$id = '';
$parent = '';
if($category && mysql_num_rows($category) > 0) {
$x = mysql_fetch_assoc($category));
$name = $x['name'];
$id = $x['id'];
$parent = $x['parent'];
$nav = "<a href=\"http://localhost/Test2/cat/{$id}/{$name}\">{$name}<a> ->" . $nav;
if($parent != 0) {
$nav = DisplayPath($parent) . $nav;
}
}
}
?>

یک مثال از نحوه استفاده:


<div class="contentpage" dir="rtl">
<div dir="rtl">
<?php
DisplayPath(2);
?>
</div><!-- rtl -->
</div><!-- contentpage rtl -->

SONITAJ
پنج شنبه 09 خرداد 1392, 15:56 عصر
سلام .استاد کد بالا را که فرمودید تست کردم ولی چیزی نشون نمیده . اینم عکسشو بالای عکس نوشته شده طرح آجری که این را خودم قبل از منوهای عمودی نوشتم که توی تشخیص صفحات هنگام وارد کردن اطلاعات اشتباه نکنم و خطا نمیده و مسیر را هم نشون نمی دهد.
104856
و توی صفحات همانطور که شما فرمودید فراخوانی کردم.

<div class="contentpage" dir="rtl">
<div dir="rtl">
<?php
DisplayPath(2);
?>
</div><!-- rtl -->
</div><!-- contentpage rtl -->

الان چه طوری میتونم مشکل را حل کنم ؟که مسیر را نشون بده؟:متفکر:

MMSHFE
جمعه 10 خرداد 1392, 11:33 صبح
باید دسترسی به ساختار دیتابیس شما داشته باشم تا بتونم دقیق راهنمایی کنم.

SONITAJ
جمعه 10 خرداد 1392, 12:06 عصر
سلام شما وقت دارید تا از طریق تیم ویور اطلاعات را برای شما بفرستم ؟یا نه کد db.php را اینجا بذارم؟

MMSHFE
جمعه 10 خرداد 1392, 12:11 عصر
کدهای db.php رو نگذارین. فقط ساختار جدولهای مرتبط با بحث نمایش مسیر (اسامی جداول و نوع و کار فیلدها و...) رو بگذارین.

SONITAJ
جمعه 10 خرداد 1392, 14:43 عصر
سلام
این هم جداول من و فیلدهای اونها. سیستم من قراره یک فروشگاه تمام الکترونیک توی زمینه های ثبت سفارش،پرداخت ،پشتیبانی و... هرچیزی که مربوط به یک فروشگاه آن لاین هست و لازم هست
اینا عکس جداولم و فیلدهای مربوط به اونها هست .اگر چیزی دیگه ای به جز اینها لازم هست بفرمایید بذارم.
104908104909104910104911104912

SONITAJ
جمعه 10 خرداد 1392, 14:50 عصر
این هم ادامه عکسها
104914104915104916104918104919
جداول من عبارتند از:جدول محصولات ،مشتری ،سفارش مشتری،پیگیری سفارش،نظرات، کد رهگیری،نحوه پرداخت& مدیران و مسئولان قسمت پشتیبانی ،جدول دسته بندی
بعدا به مرور زمان و بعد از راه اندازی وب سایت احتمال جداولی اضافه می شوند.
من منتظر راهنمایی شما هستم.
ممنونم استاد.

shahriyar3
جمعه 10 خرداد 1392, 14:53 عصر
اینو امتحان کنید



<?php
ob_start();
require_once 'config.php';
function DisplayPath($cat_id) {
error_reporting(E_ALL);
mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('keyvandb') or die('Database error');
mysql_query('SET NAMES\'utf8\'');
mysql_set_charset("utf8");
$cat_id = mysql_real_escape_string($cat_id);
$category = mysql_query("SELECT * FROM `categories` WHERE `id` ={'$cat_id'} LIMIT 1")OR die(mysql_error());
$nav = '';

$name='';
$id='';
$parent='';
if($category && mysql_num_rows($category) > 0) {
$x = mysql_fetch_array($category);
$name= $x['name'];
$id=$x['id'];
$parent=$x['parent'];

$cat="categories";
//$category = mysql_fetch_array($category);
do {
//$nav = '<a href=\" ' . ADDR . '/categories/' . $category['id'] . '/' . $category['name'] . ' \">' . $category['name'] . '</a> -&gt; ' . $nav;

$nav = "<a href=\"http://localhost/test1/{$cat}/{$id}/{$name}\" >{$name}<a>";
echo $nav;

$parent = mysql_real_escape_string($parent);
$subcategory = mysql_query("SELECT * FROM `categories` WHERE `id` = {'$parent'} LIMIT 1")OR die(mysql_error());
if($subcategory && mysql_num_rows($subcategory) > 0) {
$row = mysql_fetch_array($subcategory);
}else{
echo 'آیدی دسته بندی صحیح نیست';
exit();
}
} while (is_array($row));
$nav = mb_substr($nav, 0, mb_strlen($nav, 'utf-8') - 7, 'utf-8');
}else{
echo 'آیدی دسته بندی صحیح نیست';
exit();
}
echo '<b>دسته بندی:</b>' . $nav;
//echo '<b>دسته بندی:</b>' . $nav . PHP_EOL();
}
ob_end_flush();
?>

SONITAJ
جمعه 10 خرداد 1392, 21:18 عصر
استاد شهرکی جداول مربوط به db به همراه فیلد وساختار اونها رو گذاشتم لطفا راهنمایی می فرمایید.
ممنونم

MMSHFE
جمعه 10 خرداد 1392, 21:19 عصر
اگه ممکنه اطلاعات TeamViewer بدین تا لینکها رو هم بررسی کنم.

SONITAJ
جمعه 10 خرداد 1392, 22:20 عصر
سلام
یوزر و پسورد تیم ویورر را برای شما پیام خصوصی کردم.

SONITAJ
شنبه 11 خرداد 1392, 23:18 عصر
سلام من کد شما راهم تست کردم ولی مسیر را به من نشون نمیده بلکه مثل عکس زیر فقط عبارت آی دی اشتباه هست راچاپ می کنه.ولی چیزی که من میخواهم نیست .بازهم از راهنمایی شما ممنونم. آقای سیاوش
105007

shahriyar3
یک شنبه 12 خرداد 1392, 00:09 صبح
سلام من کد شما راهم تست کردم ولی مسیر را به من نشون نمیده بلکه مثل عکس زیر فقط عبارت آی دی اشتباه هست راچاپ می کنه.ولی چیزی که من میخواهم نیست .بازهم از راهنمایی شما ممنونم. آقای سیاوش
105007
منظورتون اگر به من بود که من اسمم شهریار هست
خوب شرط کوئری هات نشون میده که هیچ جوابی برای اون کوئری که گرفتین پیدا نمیکنه دیگه!!!
مقدار ورودی اشتباهه !!!
این 4 تا خط و کامنت کن ببین چه اتفاقی میافته


if($subcategory && mysql_num_rows($subcategory) > 0) {

}else{ echo 'آیدی دسته بندی صحیح نیست'; exit(); }
if($category && mysql_num_rows($category) > 0) {
}else{ echo 'آیدی دسته بندی صحیح نیست'; exit(); }

SONITAJ
شنبه 18 خرداد 1392, 18:15 عصر
سلام

منظورتون اگر به من بود که من اسمم شهریار هست
ببخشید حواسم نبود اشتباه نوشتم.


این 4 تا خط و کامنت کن ببین چه اتفاقی میافته
if($subcategory && mysql_num_rows($subcategory) > 0) {

}else{ echo 'آیدی دسته بندی صحیح نیست'; exit(); }
if($category && mysql_num_rows($category) > 0) {
}else{ echo 'آیدی دسته بندی صحیح نیست'; exit(); }

این نتیجه اون فقط عبارت دسته بندی را نشون میده نه چیزی را که من میخواهم .(توی عکس دور اون کادر کشیدم.) بازم ممنونم.
105279
راهی یا روشی وجود نداره تا مشکل من حل بشه؟:متفکر::افسرده:

SONITAJ
یک شنبه 19 خرداد 1392, 10:03 صبح
سلام روش دیگه ایی واسه حل و پیدا کردن جواب سوال من وجود ندارد؟
لطفا راهنمایی کنید.

SONITAJ
دوشنبه 20 خرداد 1392, 18:19 عصر
سلام کسی نیست راهنمایی کنه این مشکل وب من حل بشود؟تورو خدا یکی کمک کنه؟:افسرده:

shahriyar3
سه شنبه 21 خرداد 1392, 13:09 عصر
اینو تست کن

<?php
ob_start();
require_once 'config.php';
function DisplayPath($cat_id) {
error_reporting(E_ALL);
mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('keyvandb') or die('Database error');
mysql_query('SET NAMES\'utf8\'');
mysql_set_charset("utf8");
$cat_id = mysql_real_escape_string($cat_id);
$category = mysql_query("SELECT * FROM `categories` WHERE `id` ={'$cat_id'} LIMIT 1")OR die(mysql_error());
$nav = '';

$name='';
$id='';
$parent='';
// if($category && mysql_num_rows($category) > 0) {
$x = mysql_fetch_array($category);
$name= $x['name'];
$id=$x['id'];
$parent=$x['parent'];

$cat="categories";
//$category = mysql_fetch_array($category);
do {
//$nav = '<a href=\" ' . ADDR . '/categories/' . $category['id'] . '/' . $category['name'] . ' \">' . $category['name'] . '</a> -&gt; ' . $nav;

$nav = "<a href=\"http://localhost/test1/{$cat}/{$id}/{$name}\" >{$name}<a>";
echo $nav;

$parent = mysql_real_escape_string($parent);
$subcategory = mysql_query("SELECT * FROM `categories` WHERE `id` = {'$parent'} LIMIT 1")OR die(mysql_error());
// if($subcategory && mysql_num_rows($subcategory) > 0) {
$row = mysql_fetch_array($subcategory);
// }else{
// echo 'آیدی دسته بندی صحیح نیست';
// exit();
// }
} while (is_array($row));
$nav = mb_substr($nav, 0, mb_strlen($nav, 'utf-8') - 7, 'utf-8');
// }else{
// echo 'آیدی دسته بندی صحیح نیست';
// exit();
// }
echo '<b>دسته بندی:</b>' . $nav;
//echo '<b>دسته بندی:</b>' . $nav . PHP_EOL();
}
ob_end_flush();
?>

SONITAJ
سه شنبه 21 خرداد 1392, 17:43 عصر
سلام
اینبار فقط عبارت دسته بندی را به صورت لینک نشون میده و بقیه اون را نه .مثل عکس زیر:
105407
باید چه کاری انجام دهم تا درست بشه ومسیر را بطور صحیح نشان دهد؟

shahriyar3
سه شنبه 21 خرداد 1392, 21:27 عصر
<?php
ob_start();
require_once 'config.php';
function DisplayPath($cat_id) {
error_reporting(E_ALL);
mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('keyvandb') or die('Database error');
mysql_query('SET NAMES\'utf8\'');
mysql_set_charset("utf8");
$cat_id = mysql_real_escape_string($cat_id);
$category = mysql_query("SELECT * FROM `categories` WHERE `id` ={'$cat_id'} LIMIT 1")OR die(mysql_error());
$nav = '';

$name='';
$id='';
$parent='';
// if($category && mysql_num_rows($category) > 0) {
$x = mysql_fetch_array($category);
$name= $x['name'];
$id=$x['id'];
$parent=$x['parent'];

$cat="categories";
//$category = mysql_fetch_array($category);
do {
//$nav = '<a href=\" ' . ADDR . '/categories/' . $category['id'] . '/' . $category['name'] . ' \">' . $category['name'] . '</a> -&gt; ' . $nav;

$nav = "<a href=\"http://localhost/test1/{$cat}/{$id}/{$name}\" >{$name}<a>";
echo $nav;

$parent = mysql_real_escape_string($parent);
$subcategory = mysql_query("SELECT * FROM `categories` WHERE `id` = {'$parent'} LIMIT 1")OR die(mysql_error());
// if($subcategory && mysql_num_rows($subcategory) > 0) {
$row = mysql_fetch_array($subcategory);
// }else{
// echo 'آیدی دسته بندی صحیح نیست';
// exit();
// }
} while (is_array($row));
$nav = mb_substr($nav, 0, mb_strlen($nav, 'utf-8') - 7, 'utf-8');
// }else{
// echo 'آیدی دسته بندی صحیح نیست';
// exit();
// }
echo '<b>دسته بندی:</b>' . $nav;
print_r($row);
//echo '<b>دسته بندی:</b>' . $nav . PHP_EOL();
}
ob_end_flush();
?>

SONITAJ
سه شنبه 21 خرداد 1392, 22:05 عصر
سلام از دوباره برگشتم سر خونه اول:ناراحت:
لطفا نگاهی به این عکس کنید. شد همون حالتی که بعد از تغییر کد نمایش می داد یعنی به صورت بهم ریخته و نامرتب. باید راهی باشه که درست بشه.:متفکر:
105421
ممنونم

shahriyar3
سه شنبه 21 خرداد 1392, 22:09 عصر
ببین نمیدونم دقیقا منظورت چیه؟!!
این بحث دسته بندی ها خیلی پیچیده نیست . یک کوئری سر شاخه رو نشون میده کوئری بعدی هم زیر شاخه ها رو
من که نمیدونم تو تیبل های شما چی دخیره شده و چی باید نمایش داده بشه . منظورتو واضح تر بگی بیشتر میتونم کمکت کنم.
بگو دقیقا میخوای که خروجی چه شکلی بشه

SONITAJ
سه شنبه 21 خرداد 1392, 23:53 عصر
من میخواهم این را به من نشون بده(برای مثال فقط مورد زیر را می نویسم.)
صفحه اصلی->محصولات-> طرح آجری و......
و برای تمام صفحاتم یک چنین چیزی را نمایش بده. مثل وب سایت برنامه نویس که توی هرصفحه ایی که میری یا هر تاپیکی مسیر حضور کاربر را نمایش می دهد.
توی عکس بالا اول دسته بندی بیاد بعد طرح آجری و بعد بقیه مواردی که باید بعد از طرح آجری بیاد. و بصورت مرتب نشون بده.

.fatemeh
چهارشنبه 22 خرداد 1392, 09:09 صبح
نامرتب نمایش دادن به کد php ربطی نداره .کدت درسته.
به نظرم بهتره روی css کارکنی درست بشه.
پارامترهایی که به div دادی بررسی کن مخصوصا float ,direction ,width

SONITAJ
چهارشنبه 22 خرداد 1392, 09:34 صبح
سلام
float وdirection را روی right تنظیم کردم ولی width را نه .من کد فایلstyle.css ام را اینجا می گذارم شما بفرمایید آیا جایی از اون اشتباه نوشته شده یا نه؟این کد مربوط به تمام صفحات وب سایتم هست.




* {
margin: 0;
padding: 0;
}

a {
color: #8f5038;
text-decoration: underline;
}

a:hover {
text-decoration: none;
}

body {
font-size: 10.5pt;
line-height: 1.75em;
font-family: Arial, sans-serif;
background: #e1e4e5 url('images/bg.png');
color: #383939;
text-align:right;
direction:rtl;
}

br.clear {
clear: both;
}

h1,h2,h3,h4 {
text-transform: lowercase;
font-weight: normal;
}

h2,h3,h4 {
margin-bottom: 1em;
font-family: "PT Sans Narrow", sans-serif;
color: #000;
}

h2 {
font-size: 1.8em;
}

h3 {
font-size: 1.4em;
}

img.left {
float: left;
margin: 8px 20px 20px 0;
}

img.top {
margin: 8px 0 20px 0;
}

p {
margin-bottom: 1.75em;
}

ul {
margin-bottom: 1.75em;
}

.imageList {
list-style: none;
}

.imageList li {
clear: both;
}

#bg {
background: url('images/highlight.png') top left repeat-x;
}

#banner {
position: relative;
padding: 28px;
height: 212px;
width: 1124px;
background: #ffffff;
border-bottom: solid 1px #c0c0c0;
}

/* #box1 {
width: 500px;
overflow: hidden;
margin: 0px 0 24px 0;
}

#box2 {
width: 236px;
overflow: hidden;
float: left;
}

#box3 {
width: 236px;
overflow: hidden;
margin: 0px 0 0 260px;
} */

#content {
width: 800px;
padding: 28px;
background: #ffffff;
border-bottom: solid 1px #c0c0c0;
float:left;
}

#copyright {
margin: 28px 0 64px 0;
text-align: center;
text-shadow: 0 1px 0 #ffffff;
color: #787979;
}

#copyright a {
color: #787979;
}

#footer {
position: relative;
padding: 28px;
margin: 28px 0 0 0;
width: 1124px;
background: #636363;
color: #d3d3d3;
border-bottom: solid 1px #444444;
text-shadow: 0 1px 0 #404040;
}

#footer a {
color: #eee;
}

#footer h2, #footer h3, #footer h4 {
color: #ffffff;
}

#footer ul {
list-style: none;
margin-bottom: 0;
}

#footer p {
margin-bottom: 0;
}

#footer ul li {
padding: 8px 0 8px 0;
border-top: dotted 1px #8c8c8c;
}

#footer ul li.first {
padding-top: 0;
border-top: 0;
}

#footerContent {
width: 812px;
float: left;
}

#footerSidebar {
width: 232px;
margin: 0px 0 0 892px;
}

#header {
position: relative;
padding: 28px;
width: 1124px;
}

#logo {
text-align: center;
position: relative;
margin: -14px auto;
height: 98px;
line-height: 98px;
}

#logo a {
text-decoration: none;
color: #000;
text-shadow: 0px 3px 0px #ffffff;
}

#logo h1 {
font-size: 3.25em;
font-family: Lobster, cursive;
}

#main {
position: relative;
padding: 0px;
margin: 28px 0 0 0;
width: 1180px;
color: #474747;
}

#main strong {
color: #242424;
}

#main h2, #main h3, #main h4 {
color: #0d0d0d;
}

#main ul {
list-style: none;
}

#main ul li {
padding: 8px 0 8px 0;
border-top: dotted 1px #bdbdbd;
}

#main ul.imageList li {
padding: 16px 0 16px 0;
}

#main ul li.first {
padding-top: 0;
border-top: 0;
}

#nav {
position: absolute;
bottom: 0;
left: 0;
width: 1180px;
height: 56px;
line-height: 56px;
margin: 28px 0 0 0;
background: #8f5038;
font-size: 1.2em;
font-family: "PT Sans Narrow", sans-serif;
border-bottom: solid 1px #6f3018;
border-top: solid 1px #ffffff;
text-shadow: 0 1px 0px #6f3018;
text-transform: lowercase;
}

#nav a {
text-decoration: none;
color: #ffffff;
}

#nav ul {
list-style: none;
margin: 0 auto;
width: 1062px;
text-align: center;
}

#nav ul li {
display: inline;
text-align: center;
padding: 0 1.75em 0 1.75em;
}

#outer {
position: relative;
padding-top: 30px;
margin: 0 auto 0 auto;
}

#search input.button {
margin-left: 1em;
border: 0px;
color: #ffffff;
background: #8f5038;
padding: 5px;
}

#search input.text {
border: dotted 1px #000;
padding: 4px;
}

/* #sidebar1 {
width: 232px;
float: left;
padding: 28px;
background: #ffffff;
color: #474747;
border-bottom: solid 1px #c0c0c0;
}

#sidebar1 h2, #sidebar1 h3, #sidebar1 h4 {
color: #000;
}

#sidebar1 ul {
list-style: none;
}

#sidebar1 ul li {
padding: 8px 0 8px 0;
border-top: dotted 1px #bdbdbd;
}

#sidebar1 ul li.first {
padding-top: 0;
border-top: 0;
}

#sidebar2 {
width: 232px;
float: right;
padding: 28px;
background: #ffffff;
color: #474747;
border-bottom: solid 1px #c0c0c0;
}

#sidebar2 h2, #sidebar2 h3, #sidebar2 h4 {
color: #000;
}

#sidebar2 ul {
list-style: none;
}

#sidebar2 ul li {
padding: 8px 0 8px 0;
border-top: dotted 1px #bdbdbd;
}

#sidebar2 ul li.first {
padding-top: 0;
border-top: 0;
} */
.sidebar3 {

float: right;
padding: 10px;
width:140px;
height:100%;
}

.m a {
text-align:center;
direction:rtl;
text-decoration:none;
padding:4px;
color:#000000;
display:block;
width:8em;
height:1.25em;
border:solid 3px #fff;
font-family:Arial, Helvetica, sans-serif;
font-size:15px;
font-weight:bold;
margin:0px;
float : right;
}
.sidebar3 a:hover{
color:#fff;
background-color:#b2ab9b;
border-color:#dfd7ca #b2ab9b;
}
.contentpage {
margin-top:30px;
float:right;
}

من منتظر راهنمایی شما میمونم.

SONITAJ
چهارشنبه 22 خرداد 1392, 12:07 عصر
لطفا به من کمک و راهنمایی کنید.خواهش می کنم.:گریه:

shahriyar3
چهارشنبه 22 خرداد 1392, 16:43 عصر
2 خط آخر و به این تغییر بده


$nav .= '<b>دسته بندی:</b>' . $nav;
echo $nav .= $nav.'<<'.$row['name'];

SONITAJ
چهارشنبه 22 خرداد 1392, 17:00 عصر
سلام
دوباره به صورت به ریخته و نامرتب نشون میده وچندبارتکرار می کنه اینم عکسش:
105454
چرا اینجوری میشه؟ اگر مشکل از کدت نیست از چی هست؟

shahriyar3
چهارشنبه 22 خرداد 1392, 17:08 عصر
شما باید خیلی بیشتر از اینها روی کد هات وقت بزاری
اصلا برنامه نویسی یعنی همین . باید وقت بزاری هی پاک کنی دوباره بنویسی این کار و انقدر انجام بدی تا بلاخره درست بشه
همه برنامه نویس ها این دوران و گذروندن شما هم اگر میخوای حرفه ای بشی باید همین کارا رو بکنی


$nav1 .= '<b>دسته بندی:</b>' . $nav;
echo $nav2 .= $row['name'].'>>'.$nav1;

SONITAJ
چهارشنبه 22 خرداد 1392, 19:24 عصر
اینار اینجوری میشه متغیر nav1 را مثل متغیرnav تعریف کردم.
105465
یعنی دوبار تکرار میشه. :افسرده::متفکر:

SONITAJ
چهارشنبه 29 خرداد 1392, 10:27 صبح
سلام
لطفا راهنمایی کنید چرا مسیر نمایش کاربر توی وب سایت من با این خطا و به شکل زیر نشان داده می شود؟ به صورت کاملا نامرتب و عکس زیر:
105791
این هم کد صفحه category.php

<?php
ob_start();
require_once 'config.php';
function DisplayPath($cat_id) {
error_reporting(E_ALL);
mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('keivandb') or die('Database error');
mysql_query('SET NAMES\'utf8\'');
mysql_set_charset("utf8");
$cat_id = mysql_real_escape_string($cat_id);
$category = mysql_query("SELECT * FROM `categories` WHERE id =$cat_id LIMIT 1")OR die(mysql_error());
$nav = '';

$name='';
$id='';
$parent='';
// if($category && mysql_num_rows($category) > 0) {
$x = mysql_fetch_array($category);
$name= $x['name'];
$id=$x['id'];
$parent=$x['parent'];

$cat="categories";
//$category = mysql_fetch_array($category);
do {
// $nav = '<a href=\" ' . ADDR . '/categories/' . $category['id'] . '/' . $category['name'] . ' \">' . $category['name'] . '</a> -&gt; ' . $nav;

$nav = "<a href=\"http://127.0.0.1/Test3/{$cat}/{$id}/{$name}\" >{$name}<a>";
echo $nav;

$nav1 = "<a href=\"http://127.0.0.1/Test3/{$cat}/{$id}/{$name}\" >{$name}<a>";
echo $nav1; //


$parent = mysql_real_escape_string($parent);
$subcategory = mysql_query("SELECT * FROM `categories` WHERE id = parent LIMIT 1")OR die(mysql_error());
// if($subcategory && mysql_num_rows($subcategory) > 0) {
$row = mysql_fetch_array($subcategory);
// }else{
// echo 'آیدی دسته بندی صحیح نیست';
// exit();
// }
} while (is_array($row));
$nav = mb_substr($nav, 0, mb_strlen($nav, 'utf-8') - 7, 'utf-8');
// }else{
// echo 'آیدی دسته بندی صحیح نیست';
// exit();
// }
$nav1 .= '<b>دسته بندی:</b>' . $nav;
echo $nav2 .= $row['name'].'>>'.$nav1;

}
ob_end_flush();
?>
چرا اینجوری و اینقدر نامرتب میشه و بصورت دوبل (دوبارتکرار شده):متفکر:
لطفا راهنمایی کنید تا این مشکل وب من هم حل بشود.
ممنونم

MMSHFE
چهارشنبه 29 خرداد 1392, 15:07 عصر
برای رفع خطای نمایش داده شده. عبارت $nav2 .= رو از دستور echo آخر، حذف کنید.

SONITAJ
چهارشنبه 29 خرداد 1392, 16:39 عصر
سلام
وقتی $nave2 از خط اخر حذف می کنم چنین خطایی می دهد معنی آن چی هست؟
Parse error: syntax error, unexpected '.=' (T_CONCAT_EQUAL) in C:\wamp\www\Test3\category1.php on line 50

SONITAJ
پنج شنبه 30 خرداد 1392, 14:35 عصر
سلام
لطفا به من کمک کنید که مسیر نمایش کاربر در وب سایتم را نشون بدهم.خواهش می کنم .چرا اساتید ودوستان عزیز من را راهنمایی نمی کنند.چراااااااااااااااااا اااااااااااااااااااا؟:گری ه::متفکر:

SONITAJ
جمعه 31 خرداد 1392, 15:46 عصر
سلام
لطفا استاد شهرکی می فرمایید من چه جوری این مشکل را رفع کنم ومسیر درست را نمایش بدهم.

SONITAJ
جمعه 31 خرداد 1392, 15:46 عصر
سلام
لطفا استاد شهرکی می فرمایید من چه جوری این مشکل را رفع کنم ومسیر درست را نمایش بدهم.

MMSHFE
جمعه 31 خرداد 1392, 15:47 عصر
یکبار دیگه اطلاعات TeamViewer رو برام میفرستین تا دوباره چک کنم؟ شاید ایندفعه وصل شد.

MMSHFE
جمعه 31 خرداد 1392, 16:17 عصر
خوب خدا رو شکر مشکل این دوستمون با Remote شدن حل شد. ازشون میخوام که درصورت تمایل، کدی که مشکل رو برطرف کرد، برای استفاده سایر دوستان اینجا بگذارن.