-
مشکل در قسمت ارسال دیدگاه سایت
من یک فرم دارم که کاربر بعد از وارد کردن اطلاعات و نظر خودش در رابطه به یک مطلب نظرش رو در وب سایت ثبت میکنه
فرم به این شکل هست
<form action="" method="post" id="commentform">
<p>
<label for="author">نام <span class="required">*</span></label>
<input id="author" name="author" value="" size="30" aria-required="true" required="required" type="text">
</p>
<p>
<label for="email">ایمیل <span class="required">*</span></label>
<input id="email" name="email" value="" size="30" aria-describedby="email-notes" aria-required="true" required="required" type="text">
</p>
<p>
<label for="comment">دیدگاه</label>
<textarea id="comment" name="comment" cols="45" rows="8" aria-describedby="form-allowed-tags" aria-required="true" required="required"></textarea>
</p>
<p>
<input name="save" id="submit" class="submit" value="فرستادن دیدگاه" type="submit">
</p>
</form>
و کد php به این صورت هست
<?php
if(isset($_POST["save"]))
{
$author = Prevent($_POST["author"]);
$email = Prevent($_POST["email"]);
$comment = Prevent($_POST["comment"]);
$sql = "INSERT `$tbl_comments SET `name`=?,`email`=?,`comment`=?";
$result_r = $connect->prepare($sql);
$result_r->bindValue(1,$author);
$result_r->bindValue(2,$email);
$result_r->bindValue(3,$comment);
if($result_r->execute())
{
echo "<script>alert('success');</script>";
} else {
echo "<script>alert('wrong');</script>";
}
}
?>
ولی زمانی که روی ارسال دیدگاه کلیک میشه wrong میده
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
کوئری رو اشتباه نوشتی:
INSERT INTO tbl_comments(`name`, `email`, `comment`)VALUES(?, ?, ?)
کلا کد رو افتضاح زدی کمی بهترش کن.
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
اینجوری بهتره. به نحوه نمایش دادن پیغام ها هم دقت داشته باش.
if(isset($_POST["save"]))
{
$sql = "INSERT INTO tbl_comments(`name`, `email`, `comment`)VALUES(:name, :email, :comment)";
$result_r = $connect->prepare($sql);
$result = $result_r->execute([
':name' => filter_input(INPUT_POST, 'author'),
':email' => filter_input(INPUT_POST, 'email'),
':comment' => filter_input(INPUT_POST, 'comment'),
]);
if($result)
{
echo "success";
} else {
echo "error";
}
}
بهتر هستش برای دیتابیس کد اینلاین ننویسی، انتقال بده تو یه کلاس. OOP رو رعایت کن بعد با فریم ورک. Pure نوشتن دیگه خوب نیست.
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
به نظر من استفاده از bindParam کد اضافی زدنه به این صورت هم میشه نوشت:
<?php if(isset($_POST["save"]))
{
$author = Prevent($_POST["author"]);
$email = Prevent($_POST["email"]);
$comment = Prevent($_POST["comment"]);
$param=array($author,$email,$comment) ;
$sql = "INSERT `$tbl_comments SET `name`=?,`email`=?,`comment`=?";
$result_r = $connect->prepare($sql);
if($result_r->execute($param))
{
echo "<script>alert('success');
</script>";
} else {
echo "<script>alert('wrong');
</script>";
} } ?>
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
jafaripur
کوئری رو اشتباه نوشتی:
$sql = "INSERT INTO `tbl_comments` SET `name`=?,`email`=?,`comment`=?";
کلا کد رو افتضاح زدی کمی بهترش کن.
عزیزم من خطای کوئری ندارم من گفتم چرا wrong میده یعنی Execute نمیکنه
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
jafaripur
اینجوری بهتره. به نحوه نمایش دادن پیغام ها هم دقت داشته باش.
if(isset($_POST["save"]))
{
$sql = "INSERT INTO `tbl_comments` SET `name` = :name, `email`= :email, `comment`= :comment";
$result_r = $connect->prepare($sql);
$result = $result_r->execute([
':name' => filter_input(INPUT_POST, 'author'),
':email' => filter_input(INPUT_POST, 'email'),
':comment' => filter_input(INPUT_POST, 'comment'),
]);
if($result)
{
echo "success";
} else {
echo "error";
}
}
بهتر هستش برای دیتابیس کد اینلاین ننویسی، انتقال بده تو یه کلاس. OOP رو رعایت کن بعد با فریم ورک. Pure نوشتن دیگه خوب نیست.
من فعلا دارم در سطح میتدی سیستم رو پیاده میکنم اگه ممکن هست بگین مشکل کدم در چی هست
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
H:Shojaei
به نظر من استفاده از bindParam کد اضافی زدنه به این صورت هم میشه نوشت:
<?php if(isset($_POST["save"]))
{
$author = Prevent($_POST["author"]);
$email = Prevent($_POST["email"]);
$comment = Prevent($_POST["comment"]);
$param=array($author,$email,$comment) ;
$sql = "INSERT `$tbl_comments SET `name`=?,`email`=?,`comment`=?";
$result_r = $connect->prepare($sql);
if($result_r->execute($param))
{
echo "<script>alert('success');
</script>";
} else {
echo "<script>alert('wrong');
</script>";
} } ?>
خیلی ممنون ولی جواب من رو ندادین که مشکل کد از کجاست
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
توی سینتکس کوئری دقت نکردین مشکل زیاد دارید...
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
H:Shojaei
توی سینتکس کوئری دقت نکردین مشکل زیاد دارید...
توی سینتکس کوئری مشکلی ندارم وگرنه خطا میداد و اصلا اجازه اجرا داده نمیشد
شما با فرض اینکه این قسمت درست هست بگید چرا Wrong میده
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نه دیگه مشکل دارید...
$sql = "INSERT `$tbl_comments SET `name`=?,`email`=?,`comment`=?";
بعد متغیر جدول یک (`) کم گذاشتید...
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
H:Shojaei
نه دیگه مشکل دارید...
$sql = "INSERT `$tbl_comments SET `name`=?,`email`=?,`comment`=?";
بعد متغیر جدول یک (`) کم گذاشتید...
اصلاح شد ولی بازهم جواب نداد
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
الآن کد کامل رو بذارید ببینیم چی نوشتید؟
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
عزیز توی کوئری Insert رو مثل Update نوشتی باید به این شکل بنویسی:
INSERT INTO tbl_comments(`name`, `email`, `comment`)VALUES(?, ?, ?)
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
jafaripur
عزیز توی کوئری Insert رو مثل Update نوشتی باید به این شکل بنویسی:
INSERT INTO tbl_comments(`name`, `email`, `comment`)VALUES(?, ?, ?)
با این تغییرات هم باز مشکل قبل پابرجاست
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
jafaripur
عزیز توی کوئری Insert رو مثل Update نوشتی باید به این شکل بنویسی:
INSERT INTO tbl_comments(`name`, `email`, `comment`)VALUES(?, ?, ?)
کوئری ایشون به جز یک (`) که کم داشت اشکال دیگه ای نداره...
کوئری رو به چندین روش میشه نوشت حتی into هم توی insert نگذارید باز هم درست عمل میکنه چه به صورت update نوشته بشه چه به صورت پرانتزی باز هم فرقی نداره اجرا میشه...
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
7asemoon
لطفا یکی کمک کنه
کد کاملی که الآن اصلاح کردید رو نگذاشتید...!
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
if(isset($_POST["send"]))
{
$author = Prevent($_POST["author"]);
$email = Prevent($_POST["email"]);
$comment = addslashes($_POST["comment"]);
$sq = "INSERT tbl_cms SET `name`=?,`email`=?,`comment`=?";
$result_r = $connect->prepare($sq);
$result_r->bindValue(1,$author);
$result_r->bindValue(2,$email);
$result_r->bindValue(3,$comment);
if($result_r->execute())
{
echo "<script>alert('success');</script>";
} else {
echo "<script>alert('wrong');</script>";
}
}
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
H:Shojaei
کد کاملی که الآن اصلاح کردید رو نگذاشتید...!
کد رو گذاشتم
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
7asemoon
کد رو گذاشتم
سلام و خسته نباشی
کل صفحه رو اینجا Zip ضمیمه کن : هم فرمی که ارسال می کنید و هم قسمت php ( کلا صفحه رو اینجا بذار )
اینطوری خیلی راحت تر جواب می گیری :چشمک:
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
رضا قربانی
سلام و خسته نباشی
کل صفحه رو اینجا Zip ضمیمه کن : هم فرمی که ارسال می کنید و هم قسمت php ( کلا صفحه رو اینجا بذار )
اینطوری خیلی راحت تر جواب می گیری :چشمک:
با قرار دادن کلش مشکل حل نمیشه چون خیلی تو در تو هست و قطعا کسی جز خودم متوجه نمیشه
ولی کدی که مربوط به قسمت نظرات هست دقیقا کپی شده از روی پروژه خودم
همه چیش ظاهرا درسته ولی نمیدونم چرا wrong میده
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
منظورم از wrong اینه که قسمت مربوط به else کد عمل میکنه
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
7asemoon
با قرار دادن کلش مشکل حل نمیشه چون خیلی تو در تو هست و قطعا کسی جز خودم متوجه نمیشه
ولی کدی که مربوط به قسمت نظرات هست دقیقا کپی شده از روی پروژه خودم
همه چیش ظاهرا درسته ولی نمیدونم چرا wrong میده
مطمئنی فقط خودت متوجه می شی ؟ :چشمک:
-
نقل قول: مشکل در قسمت ارسال دیدگاه سایت
نقل قول:
نوشته شده توسط
رضا قربانی
مطمئنی فقط خودت متوجه می شی ؟ :چشمک:
دوست عزیز منظورم این نیست که کدش عجیب غریبه یا اینکه حرفه ای هست
اتفاقا بی نهایت ساده اس کدش
منظورم اینه که من مدام صفحات رو include کردم و ضعف از من هست بنابراین اگر بخام بزارم باید صفحات زیادی رو قرار بدم
امیدوارم که اگه برداشت اشتباهی از صحبت های من شده با این توضیح برطرف شده باشه
و در نهایت ممنون میشم اگر مشکلی در کدی که اول تاپیک گذاشتم میبینید به من بگید که رفع بکنم چون مشکل من دقیقا همون چیزی هست که اول تاپیک نوشتم