PHP – آرایه $_POST
PHP - $_POST
$_POST
یک متغیر فوقجهانی در PHP است که حاوی آرایهای از متغیرهای دریافت شده از طریق متد HTTP POST میباشد.
دو روش اصلی برای ارسال متغیرها از طریق متد HTTP POST وجود دارد:
- فرمهای HTML
- درخواستهای HTTP جاوااسکریپت
$_POST در فرمهای HTML
$name = $_POST['fname'];
echo $name;
مثال
<html>
<body>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = htmlspecialchars($_POST['fname']);
if (empty($name)) {
echo "Name is empty";
} else {
echo $name;
}
}
?>
</body>
</html>
$_POST در درخواستهای HTTP جاوااسکریپت
هنگام ارسال درخواست HTTP در جاوااسکریپت، میتوانید مشخص کنید که متد HTTP POST باشد.
برای نشان دادن این موضوع، با ایجاد یک تابع جاوااسکریپت حاوی یک درخواست HTTP شروع میکنیم:
تابع جاوااسکریپت
function myfunction() {
const xhttp = new XMLHttpRequest();
xhttp.open("POST", "demo_phpfile.php");
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.onload = function() {
document.getElementById("demo").innerHTML = this.responseText;
}
xhttp.send("fname=Mary");
}
کد بالا:
- یک درخواست HTTP را آغاز میکند.
- متد HTTP را به POST تنظیم میکند.
- یک هدر درخواست معتبر تنظیم میکند.
- یک تابع برای اجرا زمانی که درخواست به پایان رسید، ایجاد میکند.
- درخواست HTTP را با متغیر
fname
که بهMary
تنظیم شده است، ارسال میکند.
نگاهی به تابعی که پس از پایان درخواست اجرا میشود:
xhttp.onload = function() {
document.getElementById("demo").innerHTML = this.responseText;
}
این تابع تلاش میکند تا پاسخ از عملیات را در یک عنصر HTML با id=”demo” بنویسد.
بیایید یک صفحه HTML با چنین عنصری ایجاد کنیم و همچنین یک دکمه که تابع را اجرا میکند.
اگر جاوااسکریپت را نیز اضافه کنیم، صفحه به این صورت خواهد بود:
مثال
چگونه دادهها را از یک درخواست HTTP ارسال و دریافت کنیم:
<html>
<script>
function myfunction() {
const xhttp = new XMLHttpRequest();
xhttp.open("POST", "demo_ajax.php");
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.onload = function() {
document.getElementById("demo").innerHTML = this.responseText;
}
xhttp.send("fname=Mary");
}
</script>
<body>
<button onclick="myfunction()">Click me!</button>
<h1 id="demo"></h1>
</body>
</html>
$name = $_POST['fname'];
echo $name;
این مثالها نشان میدهند که چگونه میتوانید از $_POST
برای دسترسی به دادههای ارسال شده از طریق فرمهای HTML و درخواستهای HTTP جاوااسکریپت استفاده کنید.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام