beh9am

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

3 پست در این موضوع قرار دارد

ارسال شده در (ویرایش شده)

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

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

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

<?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
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."' ) " ) )

پ.ن:

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

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."' ) " ) )

پ.ن:

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

تشکر

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

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

return;

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

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

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری