رفتن به مطلب

مشکل ارسال با 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;

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

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

لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...