ذخیره اطلاعات فرم در دیتابیس با AJAX
ذخیره اطلاعات فرم در دیتابیس با AJAX
سلام.
این فرم منه:
<form>
<div class="form-line block">
<input type="text" id="name" name="name" placeholder="نام خود را وارد کنید">
</div>
<div class="form-line block">
<input type="text" id="email" name="email" placeholder="ایمیل خود را وارد کنید">
</div>
<div class="form-line block">
<textarea name="content" id="content" cols="0" rows="0" placeholder="پیام خود را وارد کنید"></textarea>
</div>
<div class="form-line">
<button type="submit" name="send" id="send" class="sendbutton block">ارسال پیام</button>
</div>
</form>
میخوام وقتی ارسال پیام رو زدم زیر همون دکمه پیام تایید بیاد و مقادیر(نام،ایمیل، پیام، تاریخ ارسال و آی پی ارسال کننده) در دیتابیس ذخیره شه.
خودم چون سرچ کردم Insert into mysql using ajax و php ajax post و ... نتونستم با آموزشی که داده بود درست کنم و همش مشکل داشتم واسه همین خواستم راهنمایی کنید
اگه ممکنه روی همین کدهای من توضیح بدید ممنون
ظاهر:
http://8pic.ir/images/k795mkrtby3dylak68dx.jpg
نقل قول: ذخیره اطلاعات فرم در دیتابیس با AJAX
احتیاجی به آژاکس نیست البته برای قشنگ تر شدن می تونید از آژاکس هم کمک بگیرید ولی نیازی نیست و می تونید با دستورات ساده PHP این کارو انجام بدید (معمولن برای این جور فرم ها از آزاکس استفاده نمی کنند )
کد های PHP که نوشتید رو بزارید
در ضمن این چه فرمی که نه ویژگی متدش مشخه ن اکشن:افسرده::افسرده:
نقل قول: ذخیره اطلاعات فرم در دیتابیس با AJAX
نقل قول:
نوشته شده توسط
Farshid007
احتیاجی به آژاکس نیست البته برای قشنگ تر شدن می تونید از آژاکس هم کمک بگیرید ولی نیازی نیست و می تونید با دستورات ساده PHP این کارو انجام بدید (معمولن برای این جور فرم ها از آزاکس استفاده نمی کنند )
کد های PHP که نوشتید رو بزارید
در ضمن این چه فرمی که نه ویژگی متدش مشخه ن اکشن:افسرده::افسرده:
روش معمولی با $_post و $_GET و دریافت مقدار post شده در صفحه دیگه رو بلدم!:افسرده:، من مشکلم اینجاست که نمیخوام post back انجام شه چون قالبی که دارم برای ورود به منوی تماس با ما با انیمیشین جی کوئری هست و اگر صفحه ریفرش بشه دوباره انیمیشن برمیگرده به حالت قبلیش. من نمیخوام post back بشه.
نقل قول: ذخیره اطلاعات فرم در دیتابیس با AJAX
اول واسه فرم id میزاریم و بعد با id چک میکنیم اگر این فرم ارسال شد با ajax ارسال بشه .اگر تو دیتابیس ثبت شد یا کلا پردازش با موفقیت انجام شد داخل success تغییرات غالب انجام بدید.
فرض میکنیم id فرم این باشه :
<form id="contact">
.
.
.
</form>
به این صورت اطلاعات ارسال می کنیم:
$(document).ready(function (){
$('#contact').submit(function (e){
$.ajax({
type: 'POST',
url: 'test.php',
data: $(this).serialize(),
success( data ){
},
});
e.preventDefault();
});
});
سمت سرور به طور معمول با POST اطلاعات دریافت و پردازش میکنیم.
1 ضمیمه
نقل قول: ذخیره اطلاعات فرم در دیتابیس با AJAX
من انجام دادم البته یه سورس ساده از نت پیدا کردم وقتی انگلیسی میزنم جواب میده ولی وقتی فارسی تایپ میکنم در مقدار نتیجه زیر میاد.
انگلیسی:
{"fname":"abbas","lname":"ali","email":"abbas@gmai l.com"}
فارسی:
{"fname":"\u0634\u0633\u06cc\u0634\u0633","lname": "\u0634\u0633","email":"\u06cc\u0634\u0633"}
اگه میشه این فایلی که ضمیمه کردم رو برام نگاه کنید و مشکل فارسی شو درست کنید. ممنون
در فایل ajax.php دستور json_encode چیکار میکنه؟ برای نمایش مقادیر post شده حتما باید با json_encode نمایش داد؟
نقل قول: ذخیره اطلاعات فرم در دیتابیس با AJAX
دستور json_encode در ajax.php مقدار های post شده به فرمت json تبدیل میکنه ، به همین دلیل حروف فارسی هم تبدیل می شوند.
داخل فایل ajax.php بدون تبدیل به درستی میتونید مقدار های مورد نظر ببینید و بعد در صورت نیاز تبدیل کنید.
این کد داخل ajax.php قرار بدید:
echo $_POST['fname'].'<br>';
echo $_POST['lname'].'<br>';
echo $_POST['email'].'<br>';
نقل قول: ذخیره اطلاعات فرم در دیتابیس با AJAX
نقل قول:
نوشته شده توسط
blue.web9
دستور json_encode در ajax.php مقدار های post شده به فرمت json تبدیل میکنه ، به همین دلیل حروف فارسی هم تبدیل می شوند.
داخل فایل ajax.php بدون تبدیل به درستی میتونید مقدار های مورد نظر ببینید و بعد در صورت نیاز تبدیل کنید.
این کد داخل ajax.php قرار بدید:
echo $_POST['fname'].'<br>';
echo $_POST['lname'].'<br>';
echo $_POST['email'].'<br>';
ممنون درست شد. حالا اگر بخوام وقتی تکست باکس ها خالی بود ارسال رو زد عمل post انجام نشه و یه پیام بیاد که نام کاربری را خالی نگذارید با جکوئری کدش چیه؟