PDA

View Full Version : بدست گیری خطاها در PHP



cybercoder
شنبه 31 شهریور 1386, 01:56 صبح
Handler (مدیر خطا) پیش فرض PHP بسیار کارآمد است اما صرفا فقط از بروز خطا ما را با خبر می سازد و در مواجهه با یک خطا عمل دیگری انجام نمی دهد. اما خوشبختانه این تمهید که در PHP شما بتوانید خطاها را خودتان مدیریت کنید دیده شده است و تابع set_error_handler به این منظور نوشته شده است


Set_error_handler($error_handler) ;

این تابع فقط یک آرگومان دارد که این آرگومان نام تابعی است که شما برای به دست گیری و مدیریت خطا می نویسید.
توجه : در صورتی که از عدد 0 به عنوان آرگومان تابع فوق استفاده شود بدست گیری و مدیریت خطا به حالت پیش فرض PHP باز می گردد.


set_error_handler(0) ;

برای این که بیشتر ملموس باشد مثالی می زنم:


<?php
error_reporting(E_ALL);
function my_error_handler($number, $string, $file, $line)
{
echo ("Error ($number) on line $line in file $file. The error was \"$string\"\n") ;
// You Can do Any Code Here Like Error Logging Or e-mail The error to a email address or ...
}
ini_set('display_errors',0);
set_error_handler("my_error_handler");
$mysky = fopen('file1',1024);
?>


در ضمن ادامه دادن این تاپیک موجب خوشحالیست.

موفق باشید.

oxygenws
شنبه 31 شهریور 1386, 02:00 صبح
ممنون وحید :)

توی PHP5 میشه از try و catch هم استفاده کرد.

musiox
شنبه 31 شهریور 1386, 12:00 عصر
بهتر از اینکار اینه که جلوی بروز خطا رو بگیریم. اینکارم در کنارش باعث میشه که کدامون امنتر بشه .

oxygenws
شنبه 31 شهریور 1386, 12:47 عصر
بهتر از اینکار اینه که جلوی بروز خطا رو بگیریم. اینکارم در کنارش باعث میشه که کدامون امنتر بشه .

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

cybercoder
شنبه 31 شهریور 1386, 13:00 عصر
و اما یه سوال
میشه که خطاهای ناشی از اشتباه در بکارگیری Syntax و گرامر رو هم Handle کرد ؟

oxygenws
شنبه 31 شهریور 1386, 13:27 عصر
فکر کنم با try و catch بشه.

mrrajabi
شنبه 31 شهریور 1386, 22:43 عصر
من فکر کنم که اگه قبل از بکار گیری توابع علامت @ بکار ببریم اگه اسکریپت باعث خطا بشه,این خطا نمایش داده نمی شود .

houtanal
شنبه 31 شهریور 1386, 23:59 عصر
ه اگه در مورد جلوگیری از خطا بحث بشه مفیدتره تا بحث بدست گیری کنترل خطا .
فرض می کنیم تو فایلی داشته باشی که درش می نویسی.این فایل به صورت کاملا ً اتفاقی پاک میشه و تو قبلا ً این رو پیش بینی نکردی چون حواست به این بوده که چطور وقتی فایل هست و تو می خوای درش بنویسی اشکالی پیش نیاد.
error/exeption handling در بسیاری از زبان های برنامه نویسی نه یک اختیار ، یک اجباره.برنامه تو باید بتونه اگر مشکلی پیش اومد از خودش خلاقیت به خرج بده و در همون مرحله یه حرکتی بکنه.


من فکر کنم که اگه قبل از بکار گیری توابع علامت @ بکار ببریم اگه اسکریپت باعث خطا بشه,این خطا نمایش داده نمی شود .
فکر می کنم بحث کنترل خطا یک مقدار زیادی گسترده تر باشه.

http://www.objectarchitects.de/arcus/cookbook/exhandling/index.htm
http://www.boost.org/more/error_handling.html
http://en.wikipedia.org/wiki/Exception_handling

armin390
یک شنبه 01 مهر 1386, 11:18 صبح
http://www.php.net/manual/en/ref.errorfunc.php
http://www.php.net/manual/en/language.exceptions.php

میشه که خطاهای ناشی از اشتباه در بکارگیری Syntax و گرامر رو هم Handle کرد ؟
راه حل خاصی نداره! باید بر خروجی اسکریپت نظارت کنید!!

به کمک exception ها میشه مواردی که امکان بروز خطا یا اشکال یا ... وجود داره رو پیش بینی کرد(توسط برنامه نویس!) تا در صورت بروزشون اقدام لازم انجام شه...
هر کدوم از بحث های بالا جایگاه خودشون رو دارن و البته در کنار هم هم!! قابل استفاده هستن... (بستگی به هدف داره)

cybercoder
یک شنبه 01 مهر 1386, 16:39 عصر
در ادامه راهنمایی امید برای استفاده از try و Catch بررسی exception error ها و مدیریت آن ها در PHP
http://www.andreashalter.ch/phpug/20040115/index.html

hidensoft
پنج شنبه 17 آبان 1386, 21:32 عصر
کاشکی آموزش رو بصورت فارسی ادامه بدید :)

Bahram0110
سه شنبه 25 دی 1386, 13:39 عصر
سلام
من خطا ها رو با یه تابع handle می کنم و اونا رو توی یه جدول تو دیتابیس می ریزم

set_error_handler("user_error_handler");
مشکلم اینه که همش خطاهای مربوط به Time رو نشون می ده

date() [<a href='function.date'>function.date</a>]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '3.5/no DST' instead
یه شرط گذاشتم که اگه date() توی متن خطا بود اون خطا رو نادیده بگیره ولی نشد

حالا اگه می شه لطف کنید بگید که
1 - چطور time zone رو برای ایران تنظیم کنم
2 - اگه نخوام 1 رو انجام بدم... چیکار کنیم که خطاهای بالا رو نادیده بگیره

musiox
سه شنبه 25 دی 1386, 15:14 عصر
نوع خطاهایی که با این تابع user_error_handler هندل می شن رو می تونی به عنوان آرگومان دوم به set_error_handler بدی .فکر کنم این خطا از نوع E_STRICT باشه. بوسیله error_reporting هم می تونی نوع خطاهایی که نمایش داده میشن رو تعیین کنی.

Bahram0110
سه شنبه 25 دی 1386, 15:31 عصر
فکر کنم این خطا از نوع E_STRICT باشه.
بله درسته
E_STRICT با مقدار 2048
فقط سوال من اینه که E_Strict فقط واسه خطای زمانه؟
یعنی اگه این یکیو فیلتر کنم فقط خطایی که اون بالا گفتم فیلتر می شه ؟

musiox
سه شنبه 25 دی 1386, 15:44 عصر
فقط سوال من اینه که E_Strict فقط واسه خطای زمانه؟

نه.این نقل قول از رفرنس


Run-time notices. Enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code.

Bahram0110
سه شنبه 25 دی 1386, 17:08 عصر
مشکل قبلیم حل شد
چجوری هم نمایش خطا رو غیر فعال کنم هم ...
"همه"ء خطاها رو log کنم

musiox
سه شنبه 25 دی 1386, 17:56 عصر
توی php.ini می تونی display_errors با off تنظیم کنی. یا می تونی از
error_reporting(0);
استفاده کنی . برای لاگ هم که از error_log توی همون هندلری که نوشتی استفاده کنی.بهتره از حالت پیش فرضش که syslog هست استفاده نکنی بجاش توی یه فایلی که خودت می خوای لاگ رو ذخیره کنی . اگه برنامه نویسی OO می کنی می تونی از اطلاعات debug_backtrace هم استفاده کنی .

loveprog
شنبه 06 بهمن 1386, 14:08 عصر
من می خوام خطاهای بوجود اومده در php ( فرق نمیکنه همه خطاها) رو در یک فایل txt ذخیره کنم .
لطفا کمکم کنید.

oxygenws
شنبه 06 بهمن 1386, 14:26 عصر
من می خوام خطاهای بوجود اومده در php ( فرق نمیکنه همه خطاها) رو در یک فایل txt ذخیره کنم .
RTFM...... (http://www.php.net/manual/en/ref.errorfunc.php)

rostamiani
یک شنبه 21 بهمن 1386, 09:39 صبح
لطفا روش کلی کنترل خطا ها رو با try و catch توضیح بدین.

majoran
سه شنبه 23 بهمن 1386, 12:42 عصر
بحث بحث خیلی جالبی هست من یه سوال داشتم می خواستم ببینم می شه کاری کرد که در صورت بروز هر خطا یک پیام به کاربر نمایش داده بشه یعنی اگر هر خظایی به وجد آمد کاربر خود خظا رو نبینه و یه صفحه جدید ببینه

cybercoder
پنج شنبه 08 فروردین 1387, 18:30 عصر
بحث بحث خیلی جالبی هست من یه سوال داشتم می خواستم ببینم می شه کاری کرد که در صورت بروز هر خطا یک پیام به کاربر نمایش داده بشه یعنی اگر هر خظایی به وجد آمد کاربر خود خظا رو نبینه و یه صفحه جدید ببینه

به به ! به به !
عنوان تاپیک در چه موردیه اونوقت؟؟!!!!!!!

Bahram0110
شنبه 24 فروردین 1387, 19:30 عصر
سلام
کسی می دونه دلیل ایجاد این خطا ها چیه؟؟


fclose(): supplied argument is not a valid stream resource
و
fwrite(): supplied argument is not a valid stream resource

این خطا ها و چند تا خطای دیگه وقتی می خوام به یه سایت دیگه با پورت 80 وصل بشم ایجاد می شن
خطا های خیلی مهمی نیستن فقط توی ثبت خطا ها توی دیتابیس لوگ می شن...

mdssoft
شنبه 21 اردیبهشت 1387, 06:05 صبح
خوب ، اونطور که از متن خطا ها معلوم هست آرگومان های ورودیت درست نیستند .
ببین این به دردت می خوره ؟

http://ir2.php.net/manual/en/function.fwrite.php

talasefid
جمعه 31 خرداد 1387, 00:28 صبح
اداره خطا در phpسه روش داره
1)


die()

2)
trigger-error()
3)
try....catch
که آخری فقط درphp5 وجود داره

talasefid
جمعه 31 خرداد 1387, 00:40 صبح
اگه مهم نیستن و فقط مشکل log شدنشه میتونی با error_log() محل log شدن رو عوض کنی یا توی error_handler ات بهش بگی که اصلا logاش نکنه

talasefid
جمعه 31 خرداد 1387, 01:22 صبح
من می خوام خطاهای بوجود اومده در php ( فرق نمیکنه همه خطاها) رو در یک فایل txt ذخیره کنم .
لطفا کمکم کنید.


ببین توی php یک تابع به نام
set_error_handler() isj که نام تابعی رو که تو توش کنترل های خطات رو انجام میدی بعنوان ورودی میگیره مثلا
myErrorHandler.
حالا در داخل این تابع میتونی کنترل خطایی مثل چاپ یک پیام یا ذخیره خطا در یک فایل داشته باشی.اما قسمت ذخیره خطا در فایل با استفاده از
error_log() انجام میشه.

اینم آرگوماناش فقط اولیش (پیام خطا)اجباریه!
مثلا:

error_log("!eeeeeeerroor!!!",1,"c://dd.txt","from:c@d.com")

همین طور که میبینی قابلیت هاش بالاست و علاوه بر ذخیره در فایل میتونه به یه میل خاصی پیام خطا رو بفرسته...
اینو اون 1 که توی پارامتر دوم قرار میگیره تعیین میکنه

0 پیش فرضه و پیام رو به ادرس که توی پارامتر phpSystemLogger php.ini sست شده میبره
1 خطا رو به آدرس پارامتر چهارم میل میکند
2 خطا به phpdebuggerفرستاده می شود
3خطا به فایلی که در پارامتر سوم آدرس دهی کردیم log میشود (مورد نظر تو)

بازم اگر مشکلی بود ..می تونی بپرسی

merelin
جمعه 29 آذر 1387, 11:53 صبح
سلام ، حالا که همه این جا فعال هستند و جواب هم دیگه رو می دن میشه یه جوابی هم به مشکل من بدن
روی یه هاست مجانی سایتphp رو upload کردم ولی حالا که می رم رو index.php میگه پیدا نمیشه چی کار کنم باید زودتر به استادم تحویلش بدم!

farzinkd7
چهارشنبه 25 دی 1387, 17:23 عصر
salam
man baraye kar ba php baranemey nusphere ra nasb kardam ama ye moshkeli ke pish omade onam ine ke vaghti mikham barnamaro run konam in eror ro mide to safe ke in page peyda nemishe
lotfan komakam koni




This program cannot display the webpage


Most likely causes:

<LI id=causeNotConnected>You are not connected to the Internet. <LI id=causeSiteProblem>The website is encountering problems.
There might be a typing error in the address.
What you can try:

res://ieframe.dll/bullet.png Check your Internet connection. Try visiting another website to make sure you are connected.

res://ieframe.dll/bullet.png Retype the address.

res://ieframe.dll/bullet.png Go back to the previous page. (javascript:history.back();)

res://ieframe.dll/down.png (res://ieframe.dll/dnserrordiagoff_webOC.htm#) More information (javascript:expandCollapse('infoBlockID', true);)

This problem can be caused by a variety of issues, including:
<LI id=errorExpl2>Internet connectivity has been lost. <LI id=errorExpl3>The website is temporarily unavailable. <LI id=errorExpl4>The Domain Name Server (DNS) is not reachable.
The Domain Name Server (DNS) does not have a listing for the website's domain.



in eroresh bod aslan rabti be vasl shodan be net nadare ama asaln ejra nemikone barnamamo
mamnon montazeram

hoja06101001
چهارشنبه 09 بهمن 1387, 23:23 عصر
تا اینجا واقعا مطالب عالی بوده .

میشه یکی در مورد این کد یکمی توضیح بده



<?php
function inverse($x) {
if (!$x) {
throw new Exception('Division by zero.');
}
else return 1/$x;
}
try {
echo inverse(5) . "\n";
echo inverse(0) . "\n";
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
// Continue execution
echo 'Hello World';
?>


اگه اساتید انجمن در مورد خط 4 یه توضیحی بدن ممنون میشم .

Radmard_Rad
سه شنبه 27 بهمن 1388, 00:55 صبح
http://www.php.net/manual/en/errorfunc.configuration.php
به نظر می یاد تنظیمات فوق العاده ای در php.ini هست !!!!!

alieqbal
سه شنبه 20 دی 1390, 15:47 عصر
سلام ب همگی
آقا من موندم این چه مشکلی داره یکی کمک کنه. البته بایدبگم این یک فرم برای نمایشه و config.php هم مطمئنم که درسته همین کد یه جاش مشکل داره.
خیلی واجبه یه کمکی کنید .


<?php
include_once("header.php");
include_once("connect.php");
?>
<!--
<form action="u_search.php" method="post" >
<table border="1" align="center" bgcolor="#CCCCCC">
<tr>
<td align="center" colspan="6"><font face="Tahoma, Geneva, sans-serif"><h5>جستجو در لیست</h5></font></td></tr>
<tr>
<td>بر اساس</td>
<td><strong><select dir="rtl" name="mabna">
<option value="fname">نام</option>
<option value="lname">نام خانوادگی</option>
<option value="id">کد</option>
</select></strong></td>
<td>مقدار جستجو</td>
<td><input name="valuetext" style="width: 320px" type="text" /></td>
<td><input name="Submit1" style="width:200px" type="submit" value="جستجو" /></td>
<td><a href="index.php">برگشت</a></td>
</tr>
</table>
</form> -->
<!-- ================================================== ========================== -->
<table align="center" border="1">
<tr><td align="center" colspan="7"><strong>لیست کاربران</strong></td></tr>
<tr>
<td><strong>نام</strong></td>
<td><strong>نام خانوادگی</strong></td>
<td><strong>نام پدر</strong></td>
<td><strong>ش.ش</strong></td>
<td><strong>کد ملی</strong></td>
<td><strong>ایمیل</strong></td>
<td><strong>رمز عبور</strong></td>
</tr>
<?php
$command = "SELECT * FROM stud " ;
$result = mysql_query($command);
while ($row = mysql_fetch_array($result) )
{
?>
<tr>
<td> <?php echo $row['firstname'] ?> </td>
<td> <?php echo $row['lastname'] ?> </td>
<td> <?php echo $row['fathername'] ?> </td>
<td> <?php echo $row['shsh'] ?> </td>
<td> <?php echo $row['kode'] ?> </td>
<td> <?php echo $row['mail'] ?> </td>
<td> <?php echo $row['pass'] ?> </td>
<!-- <td bgcolor="#FFFFB7"><a href="u_hazf.php?id=<?php echo $row['kode'] ?> ">حذف</a>&nbsp;
<a href="u_edit.php?id=<?php echo $row['kode'] ?> ">ویرایش</a></td> -->
</tr>
<?php
}
?>
</table>
<?php
include_once("footer.php");
?>

mohammad.maleki
شنبه 06 اسفند 1390, 16:49 عصر
سلام من دارم eyeos رو ویرایش میکنم ولی وقتی این خط های زیر رو اسمش رو عوض کردم تو اجرا خطا داد

Bootstrap::load(raymon_ROOT . '/' . SYSTEM_DIR . '/' . KERNEL_DIR . '/Kernel.php');
اینم خطاش

Notice: Use of undefined constant raymon_ROOT - assumed 'raymon_ROOT' in C:\wamp\www\test\raymon\system\bootstrap\Bootstrap .php on line 59

Warning: require_once(raymon_ROOT/system/kernel/Kernel.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\test\raymon\system\bootstrap\Bootstrap .php on line 81


Fatal error: require_once() [function.require]: Failed opening required 'raymon_ROOT/system/kernel/Kernel.php' (include_path='.;C:\php\pear') in C:\wamp\www\test\raymon\system\bootstrap\Bootstrap .php on line 81

mr.zolghadr
شنبه 13 اسفند 1390, 11:47 صبح
با سلام خدمت همه بازدید کنندگان محترم سایت برنامه نویس

بنده یک مشکلی در get data در بخش مدیریت سایت برام پیش امده

بنده یک اسکریپت php دانلود کردم دیتابیس لازم رو ساخته ام و همه ی کار هایی کا لازم بود رو انجام دادم تا اسکریپت اماده بشه

اما مثلا در فرم تماس با ما وقتی فیلد های مورد نظر رو پر می کنم و ارسال می کنم فرم به database پست می شه اما در بخش مدیریت نشون داده نمی شه و فیلهای مرتبط خالی نشون داده می شوند !
یعنی مشخص است که کسی فیلد را ارسال کرده اما فیلد خالی نشون داده میشه !

اساتید اگر راهنمایی بفرماییید ممنون میشم.

MMSHFE
شنبه 13 اسفند 1390, 12:24 عصر
کدتون رو میشه بگذارین؟ ضمناً برای اینگونه سؤالات، تاپیک جدا ایجاد کنید.

mr.zolghadr
شنبه 13 اسفند 1390, 12:31 عصر
کدتون رو میشه بگذارین؟ ضمناً برای اینگونه سؤالات، تاپیک جدا ایجاد کنید.


<?php if($admin_loged){
$T_Show='header';include('system/admin_template.php');

$sqls1 = "SELECT * FROM `contact` ORDER BY `id` DESC";
$querys1 = $db->query($sqls1);
$fchs1 = $db->fetch_array($querys1);

?>
<script language="javascript">
function get_yes(text,url){if(!url){url='#';}if(confirm(tex t)){document.location=url;}}
</script>
<div class="main">
<?php if($get_inp['msg-s']){?>
<div title="برای ناپدید شدن کلیک نمایید." class="msg-<?php echo $get_inp['msg-s'];?>"><?php echo base64_decode($get_inp['msg']);?></div>
<?php }?>
<h3>مدیریت پیام های بازدیدکنندگان</h3>
<div class="vmi">
<?php if($fchs1){$i=0;do{$i++;?>
<div class="m">
<h5><?=$fchs1['name']?></h5><a href="#" onclick="get_yes('آیا از حذف <?=$fchs1['title_content']?> مطمئن هستید؟','?m=page-auto::messages---item-id::<?=$fchs1['id']?>---do::delete-item');" class="tm-b1c1" title="حذف خبر" style="float:left"></a>

متن پیام : <span class="text"><?=$fchs1['message']?></span>
<br />تلفن تماس :<?=$fchs1['tell']?>
<br />پست الکترونیکی : <?=$fchs1['email']?>
<br />تاریخ ارسال : <?php $date=explode('--',$fchs1['date']);echo $date[0];?>
<br />ساعت ارسال : <?=$date[1]?>
<br />

</div>
<?php }while($fchs1 = $db->fetch_array($querys1));}else{echo '<div class="text">هیچ پیامی وجود ندارد!</div>';}?>
</div>
</div>
<?php $T_Show='fotter';include('system/admin_template.php');}?>
این کدی هست که پیام های ارسالی در ان نشان داده می شه

عذر می خوام بنده نمیدونستم نیاز به تاپیک جداگانه هست.

mr.zolghadr
شنبه 13 اسفند 1390, 18:31 عصر
کسی نیست پاسخ بنده رو بده ؟!

MMSHFE
شنبه 13 اسفند 1390, 19:20 عصر
دوست عزیز، اینکه گفتم کدتون رو بگذارین یعنی اینکه تمام کدهایی که با این بخش سروکار دارن (ثبت، ویرایش، حذف، نمایش، بخش مدیریت و...) رو بگذارین. البته نه همه اسکریپتتون رو. فقط بخشی که با این اطلاعات (که مشکل داره) سروکار داره. از روی یک فایل که نمیشه فهمید مشکل از کجاست تا راهنمایی کنیم.

mr.zolghadr
شنبه 13 اسفند 1390, 19:35 عصر
بله

این فایل های موجود در مدیریت :

index.php :
<?php if($admin_loged){
if($get_inp['view']=='archive'){include('pages/messages/archive.php');}
if($get_inp['view']=='add-new'){include('pages/messages/add.php');}
if($get_inp['view']=='edit'){include('pages/messages/edit.php');}

if($get_inp['do']){include('pages/messages/do.php');}
}
?>

archive.php :
<?php if($admin_loged){
$T_Show='header';include('system/admin_template.php');

$sqls1 = "SELECT * FROM `contact` ORDER BY `id` DESC";
$querys1 = $db->query($sqls1);
$fchs1 = $db->fetch_array($querys1);

?>
<script language="javascript">
function get_yes(text,url){if(!url){url='#';}if(confirm(tex t)){document.location=url;}}
</script>
<div class="main">
<?php if($get_inp['msg-s']){?>
<div title="برای ناپدید شدن کلیک نمایید." class="msg-<?php echo $get_inp['msg-s'];?>"><?php echo base64_decode($get_inp['msg']);?></div>
<?php }?>
<h3>مدیریت پیام های بازدیدکنندگان</h3>
<div class="vmi">
<?php if($fchs1){$i=0;do{$i++;?>
<div class="m">
<h5><?=$fchs1['name']?></h5><a href="#" onclick="get_yes('آیا از حذف <?=$fchs1['title_content']?> مطمئن هستید؟','?m=page-auto::messages---item-id::<?=$fchs1['id']?>---do::delete-item');" class="tm-b1c1" title="حذف خبر" style="float:left"></a>

متن پیام : <span class="text"><?=$fchs1['message']?></span>
<br />تلفن تماس :<?=$fchs1['tell']?>
<br />پست الکترونیکی : <?=$fchs1['email']?>
<br />تاریخ ارسال : <?php $date=explode('--',$fchs1['date']);echo $date[0];?>
<br />ساعت ارسال : <?=$date[1]?>
<br />

</div>
<?php }while($fchs1 = $db->fetch_array($querys1));}else{echo '<div class="text">هیچ پیامی وجود ندارد!</div>';}?>
</div>
</div>
<?php $T_Show='fotter';include('system/admin_template.php');}?>


do.php :
<?php if($admin_loged){


if($get_inp['do']=='delete-item'){
if($get_inp['item-id']){
$sql = "DELETE FROM `contact` WHERE `id` = ".$get_inp['item-id'];
$query = $db->query($sql);
if($query){
$send_message=base64_encode('پیام مورد نظر با موفقیت حذف شد');
header("location: ?m=page-auto::messages---view::archive---msg-s::complete---msg::".$send_message);
}else{
$send_message=base64_encode('خطایی در حذف پیام به وجود آمده است');
header("location: ?m=page-auto::messages---view::archive---msg-s::error---msg::".$send_message);
}
}else{
$send_message=base64_encode('کدام پیام باید حذف شود؟');
header("location: ?m=page-auto::messages---view::archive---msg-s::error---msg::".$send_message);
}
}

//header("location: ?m=page-auto::management-news---view::archive");
}?>


و این فایل تماس با ما که در سایت قرار داره :



<?php
if($_POST['kioadf']=='vfdg9fgnsd4n35bt239B9b6g08n9NKSvDSFDSFSDF' && $_POST['name'] && $_POST['message']){
$sql = "INSERT INTO `contact` (`id` ,`name` ,`email` ,`tell` ,`message` ,`date` ,`status`)
VALUES (NULL , '".$_POST['name']."', '".$_POST['email']."', '".$_POST['tell']."', '".$_POST['message']."', '".date("Y/M/j").'--'.date("G:i")."', '');";
$query = $db->query($sql);
$com_mess=true;
}


$sql = "SELECT * FROM `pages` WHERE `page_name` = CONVERT( _utf8 'contact' USING latin1 )COLLATE latin1_swedish_ci";
$query = $db->query($sql);
$fchpage = $db->fetch_array($query);
$T_INF['page-title']=$fchpage['title_page'];
$T_Show='header';include('template/template.php');?>
<body class="single">
<div class="resize">
<div class="header">
<div class="header_top">
<span class="arm" id="atp_arm"></span>
<span id="atp_new_life"></span>
<span class="atp_text"></span>
</div>
<?php include('pages/pages_links.php');?>
<h3>
<?=$fchpage['title_content']?>
</h3>
</div>

<div class="free_content">
<?php
if($com_mess)
echo '<div class="complete_form">پیام شما با موفقیت ارسال گردید</div>';

echo $fchpage['text_content'];
$ThisP_Status=fibo_split_role($fchpage['status']);


?>
</div>

<form class="free" action="?page=contact" method="post">
<input type="hidden" name="kioadf" value="vfdg9fgnsd4n35bt239B9b6g08n9NKSvDSFDSFSDF" />
<table width="80%" class="main">
<tr>
<td width="30%">nam o name khonevadegi :</td>
<td>
<input type="text" class="inptex" name="name" title="" />
</td>
</tr>
<tr>
<td width="30%">email : </td>
<td>
<input type="text" class="inptex" name="email" dir="ltr" title="" />
</td>
</tr>
<tr>
<td width="30%">tell :</td>
<td>
<input type="text" class="inptex" name="tell" dir="ltr" title="" />
</td>
</tr>
<tr>
<td width="30%">message :</td>
<td>
<textarea class="inptexare" rows="5" name="message"></textarea>
</td>
</tr>
</table>
<div class="buttons">
<input type="submit" value="تایید" />
<input type="reset" value="دوباره" />
</div>
</Form>
<?php
$T_Show='fotter';include('template/template.php');
?>



اگر نیاز به فایل یا اطلاعات دیگری بود بفرمایید تقدیم می کنم.
ممنون.

mr.zolghadr
یک شنبه 14 اسفند 1390, 13:00 عصر
دوستان لطفا راهنمایی بفرمایید خیلی واجبه !!!!!!!!!!!!!!