رفتن به مطلب

مشکل ارسال با phpذخیره نمیشه


پست های پیشنهاد شده

سلام و خسته نباشید

من یک مشکلی دارم یه فرم ارسال نظر دارم که وقتی نظر را ارسال میکنی در دیتابیس ذخیره نمیشه

فرم نظرم اینه :

<?php

if (realpath(__FILE__) == realpath($_SERVER['SCRIPT_FILENAME'])) exit('Access Denied');

/*#############################################*/

$c_status = $ite['comment'] ;

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

return;

$c_name = $_POST['c_name'] ;

$c_email = $_POST['c_email'] ;

$c_site = $_POST['c_site'] ;

$c_body = $_POST['c_body'] ;

$c_prv = isset($_POST['c_prv']) ? 1 : 0 ;

if ( mysql_query( "INSERT INTO `ex_post_comment` VALUES ('', '$c_name', '$c_email' , '$c_site', '$c_body', now(), '$c_prv', '$c_status' , '$id', '".$C->MY_IP."' ) " ) )

if ( $c_status == 1 )

$body = '<center><b style="color:green">نظر شما با موفقيت به ثبت رسيد</b></center>';

else

$body = '<center><b style="color:green">نظر شما با موفقيت به ثبت رسيد و پس از تاييد مدير سايت قابل مشاهده خواهد بود</b></center>';

else

$body = '<center><b style="color:red">با عرض پوزش نظر شما به دليل برخي اشكالات ثبت نشد . لطفا دقايقي ديگر دوباره تلاش كنيد</b></center>';

include( "./themes/{$C->SITE_THEME}/center.php" );

}

$body = '' ;

$c_resm = mysql_query( "SELECT * FROM `ex_post_comment` where pid = '{$id}' and status='1' and priv='0' ORDER BY id DESC limit 100" ) ;

while ( $c_ite = @mysql_fetch_array( $c_resm ) ) {

preg_match('/(.*)-(.*)-(.*) (.*):(.*):(.*)/si', $c_ite['date'] ,$find ) ;

if ( $c_ite['email'] || $c_ite['site'] ) {

$c_link = '<div class="bot">';

if ( $c_ite['email'] ) $c_link .= '<a href="mailto:'.$c_ite['email'].'">ايميل</a>';

if ( $c_ite['email'] && $c_ite['site'] ) $c_link .= ' || ';

if ( $c_ite['site'] ) $c_link .= '<a href="'.$c_ite['site'].'" target="_blank">سايت</a>';

$c_link .= '</div>';

} else $c_link = '';

if ( $body == '' ) $body .= '<br><center>';

$body .= '

<div class="commentbox">

<div class="top">

<div class="name">نویسنده : <span class="author">'.$c_ite['name'].'</span></div>

<div class="date" >'.jdate(" l j F Y ساعت H:i:s",mktime($find[4],$find[5],$find[6],$find[2],$find[3],$find[1])).'</div>

<div style="clear:both" ></div>

</div>

<div class="text">'.str_replace("\r\n\r\n","<br>",$c_ite['body']).'</div>

'.$c_link.'

</div>

<div style="height:10px"></div>';

}

if ( $body ) {$body .= '</center>';$title = "نظر ها";include( "./themes/{$C->SITE_THEME}/main.php" );}

$title = 'ارسال نظر';

$body = '

<style rel="stylesheet">

.formbox{border: 0px solid #E0E0E0;direction:rtl;text-align:right;FONT-FAMILY: Tahoma;FONT-SIZE: 9pt;}

.formbox tr:hover{color:#999}

.formbox td{padding:3px 5px;}

.formbox .f_input {FONT-SIZE: 9pt; FONT-FAMILY: Tahoma; HEIGHT: 22px; width:250px }

.formbox .textarea {FONT-SIZE: 9pt; FONT-FAMILY: Tahoma;HEIGHT: 125px; width:100% }

.commentbox{border: 1px solid #1397C3;direction:rtl;text-align:right;color:black;FONT-FAMILY: Tahoma;FONT-SIZE: 8pt;padding:2px;width:95%;}

.commentbox .top {background-color: #1397C3;padding-top:3px;padding-bottom:3px;width:100%;}

.commentbox .name {width:49%;float:right;FONT-SIZE: 8pt;color:#fff;text-align:right;padding-right:5px}

.commentbox .author {color:#fff;}

.commentbox .date {width:49%;float:left;FONT-SIZE: 8pt;color:#fff;text-align:left;padding-left:2px}

.commentbox .text {padding:5px 10px;text-align:right;FONT-SIZE: 9pt;width:99%;}

.commentbox .bot {width:99%;text-align:left;padding-bottom:3px;}

.commentbox .bot a{color:black}

.commentbox .bot a:hover{color:silver}

</style>

<SCRIPT language="javascript">

function IsValidForm(f) {

if (f.c_name.value =="") {

alert("ورود نام نويسنده نظر الزاميست") ;

f.c_name.focus ();

return false;

}

if (f.c_body.value =="") {

alert("ورود متن نظر الزاميست") ;

f.c_body.focus ();

return false;

}

if (f.c_body.value.length >2000 ) {

alert("تنها مجاز به ورود دو هزار حرف در متن نظرات هستيد") ;

f.c_body.focus ();

return false;

}

}

</SCRIPT>';

$body .= '

<a href="#" id="comment"></a>

<form method="post" onsubmit="return IsValidForm(this);">

<input type="hidden" name="c_act" value="add">

<table class="formbox" dir="rtl" border="0" cellpadding="2" align="center">

<tr>

<td nowrap height="25"> نام شما :</td>

<td width="380"><input type="text" name="c_name" id="c_name" class="f_input" /></td>

</tr>

<tr>

<td nowrap height="25"> ايميل :</td>

<td width="380"><input type="text" name="c_email" id="mail" class="f_input" /></td>

</tr>

<tr>

<td nowrap height="25"> سايت / وبلاگ :</td>

<td width="380"><input type="text" name="c_site" id="site" class="f_input" /></td>

</tr>

<tr>

<td colspan="2" width="100%"><textarea class="textarea" name="c_body"></textarea></td>

</tr>

<tr>

<td colspan="2" width="100%">  <input id="c_prv" name="c_prv" type="checkbox" align="absmiddle"><label for="c_prv">  به صورت خصوصي ارسال شود</label></td>

</tr>

<tr>

<td colspan="2"><br><input class="button" name="submit" type="submit" id="comm-sub" value="ثبت نظر" /></td>

</tr>

</table>

</form>';

include( "./themes/{$C->SITE_THEME}/main.php" );

/*#############################################*/

?>

و جدول های دیتابیس هم اینه :


DROP TABLE IF EXISTS `ex_post_comment`;
CREATE TABLE `ex_post_comment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`site` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`body` text COLLATE utf8_unicode_ci NOT NULL,
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`priv` int(1) NOT NULL DEFAULT '0',
`status` int(1) NOT NULL DEFAULT '0',
`pid` int(11) NOT NULL DEFAULT '1',
`ip` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

وقتی فرم رو ارسال میکنی صفحه هیچ پیامی نمیده و نظر هم ثبت نمیشه در دیتابیس

فقط نمیدونم مشکل کد php کجاست که ثبت نمیشه

اتصال به دیتابیس و اینا هم به درستی انجام میشه

ویرایش شده توسط Morteza
استفاده از longbox
لینک به ارسال

چرا جای آی دی خالی هست؟ اصلا نباید باشه:

 if ( mysql_query( "INSERT INTO `ex_post_comment` VALUES ('$c_name', '$c_email' , '$c_site', '$c_body', now(), '$c_prv', '$c_status' , '$id', '".$C->MY_IP."' ) " ) )

پ.ن:

کلا روش ارسالتون بهینه نیست ;) کمی اصلاح کنین

لینک به ارسال

چرا جای آی دی خالی هست؟ اصلا نباید باشه:

 if ( mysql_query( "INSERT INTO `ex_post_comment` VALUES ('$c_name', '$c_email' , '$c_site', '$c_body', now(), '$c_prv', '$c_status' , '$id', '".$C->MY_IP."' ) " ) )

پ.ن:

کلا روش ارسالتون بهینه نیست ;) کمی اصلاح کنین

تشکر

اینو من ننوشتم یه اسکریپت ارسال نظر توی اینترنت بود

جای دیگه تاپیک زده بودم گفتند با حذف

return;

درست میشه که شد

بازم تشکر از وقتی که گذاشتید

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

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

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...