-
October 17th, 2019, 14:04
#1
عضو انجمن
استفاده از ajax در php
استفاده از AJAX در PHP
یک مثال برای ارسال درخواست AJAX به سرور، یک فرم ساده عضویت در خبرنامه است. برای عضویت در خبرنامه، کاربر باید ایمیل و نام خود را وارد کرده و فرم را ارسال کند.
میخواهیم بدون رفرش صفحه، فرآیند عضویت در خبرنامه انجام شود.
در اینجا دو فایل داریم. یکی فایل حاوی فرم عضویت و دیگری عملیات هایی است که برای عضویت در خبرنانه انجام میشود. (ثبت اطلاعات در پایگاه داده سایت)
کدهای زیر فرم عضویت و کدهای مربوط به درخواست AJAX است.
کد:
<!doctype html>
<html>
<head>
<title>ثبت نام در خبرنامه</title>
</head>
<body>
<form id="newsletter" method="post">
<div>
<input type="text" name="name" id="name" />
<input type="email" name="email" id="email" />
<button type="submit" name="register" id="register">عضویت در خبرنامه</button>
</div>
</form>
<script src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#newsletter').submit(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: 'register.php',
data: $(this).serialize(),
success: function(response){
var resp = JSON.parse(response);
if (resp.success == "1"){
alert("عضویت با موفقیت انجام شد")
} else {
alert(resp.message);
}
}
});
});
});
</script>
</body>
</html>
در این کد، برای اتفاق افتادن رویداد ارسال فرم منتظر می مانیم. به محض ارسال فرم، با استفاده از تابع preventDefault() روی رویداد، از رفرش شدن صفحه جلوگیری میکنیم.
حال مشابه قبل و با استفاده از کتابخانه JQuery محتوای فرم را به register.php ارسال میکنیم.
سپس با توجه به پاسخ سرور، پیام مناسبی را به کاربر نمایش خواهیم داد.
پاسخ های رد و بدل شده در این روش به صورت JSON هستند. بنابراین نیاز داریم در هنگام دریافت اطلاعات، آنها را پارس کنیم.
اکنون نوبت فایل سمت سرور است. به طور کلی می بایست در این فایل اطلاعات را دریافت و ذخیره کنیم. سپس پاسخ مناسبی را به کاربر ارسال نماییم.
کدهای زیر را در فایل register.php قرار میدهیم.
کد:
<?php
if (isset($_POST['name']) && $_POST['email']) {
// Save all user Data
echo json_encode(array('success' => 1));
} else {
echo json_encode(array('success' => 0, 'message' => 'لطفا هر دو فیلد را تکمیل نمایید'));
}
?>
همانطور که گفته شد، برای رد و بدل کردن اطلاعات، لازم داریم پیام ها را به شکل JSON تبدیل کنیم.
codebox.ir | تلفن: ٠٢١-٩١٦٩٠٤٢١ | آدرس : شیراز، شهرک خبازان، خیابان شهید سعید ماهر، دفتر کدباکس
ما را دنبال کنید: ID : @codebox_ir
-
-
October 17th, 2019 14:04
# ADS