متد GET در PHP
در این مقاله، متد GET در PHP را همراه با مثالهایی توضیح میدهیم. برای هر کاربرد، یک فرم HTML نیز طراحی شده است تا از عملکرد متد GET به صورت عملی استفاده کنید. متد GET دادهها را از طریق URL به سرور ارسال میکند که برای ارسال اطلاعات غیرحساس و کمحجم مناسب است.
فهرست مطالب
1. کاربردهای متد GET
دریافت اطلاعات صفحه
این کاربرد برای انتقال اطلاعات خاصی از صفحهای به صفحه دیگر استفاده میشود. مثلاً، میتوانید برای مشاهده مشخصات کاربران در itvisit.ir از متد GET استفاده کنید.
فرم HTML:
<form action="user.php" method="get">
<label for="id">User ID:</label>
<input type="text" id="id" name="id" required>
<input type="submit" value="View User">
</form>
کد PHP در user.php
:
<?php
if (isset($_GET['id'])) {
$userID = htmlspecialchars($_GET['id']);
echo "User details for ID: " . $userID;
} else {
echo "User ID not provided.";
}
?>
توضیح مثال: این فرم، شناسه کاربر را دریافت میکند و با متد GET به صفحه user.php
ارسال میکند. در user.php
، اگر شناسهای ارسال شده باشد، آن را نمایش میدهد؛ در غیر این صورت، پیامی مبنی بر وارد نشدن شناسه نشان میدهد.
دریافت دادهها از فرمها
در فرمها میتوانید اطلاعات کاربر را از طریق GET دریافت کنید. این مورد برای فرمهای ساده مانند فرم خوشآمدگویی مناسب است.
فرم HTML:
<form action="welcome.php" method="get">
<label for="name">Your Name:</label>
<input type="text" id="name" name="name" required>
<input type="submit" value="Submit">
</form>
کد PHP در welcome.php
:
<?php
if (isset($_GET['name'])) {
$name = htmlspecialchars($_GET['name']);
echo "Hello, " . $name . "!";
} else {
echo "Name not provided.";
}
?>
توضیح مثال: در این مثال، فرم welcome.php
نام کاربر را از طریق GET دریافت کرده و پیامی با نام کاربر نمایش میدهد. اگر نام وارد نشده باشد، پیامی مبنی بر عدم ورود نام نمایش داده میشود.
جستجو در سایت
در وبسایتها، متد GET معمولاً برای جستجو به کار میرود. کاربر میتواند کلیدواژهای را وارد کرده و نتیجه جستجو در صفحهای دیگر نمایش داده شود.
فرم HTML:
<form action="search.php" method="get">
<label for="query">Search:</label>
<input type="text" id="query" name="query" required>
<input type="submit" value="Search">
</form>
کد PHP در search.php
:
<?php
if (isset($_GET['query'])) {
$query = htmlspecialchars($_GET['query']);
echo "Search results for: " . $query;
} else {
echo "Search query not provided.";
}
?>
توضیح مثال: کاربر با وارد کردن عبارت جستجو و ارسال آن به صفحه search.php
، نتیجه جستجوی خود را مشاهده میکند. اگر عبارتی وارد نشده باشد، پیامی مبنی بر عدم ورود عبارت جستجو نمایش داده میشود.
فیلتر کردن محتوا
فیلتر کردن محتوا به کاربر امکان میدهد تا محتوای سایت را بر اساس دستهبندیهای مختلف مشاهده کند.
فرم HTML:
<form action="products.php" method="get">
<label for="category">Product Category:</label>
<select id="category" name="category">
<option value="electronics">Electronics</option>
<option value="clothing">Clothing</option>
<option value="books">Books</option>
</select>
<input type="submit" value="Show Products">
</form>
کد PHP در products.php
:
<?php
if (isset($_GET['category'])) {
$category = htmlspecialchars($_GET['category']);
echo "Showing products in category: " . $category;
} else {
echo "Category not selected.";
}
?>
توضیح مثال: این فرم به کاربر امکان میدهد تا با انتخاب یک دستهبندی، محصولات مرتبط با آن را مشاهده کند. اگر دستهبندیای انتخاب نشده باشد، پیامی مبنی بر عدم انتخاب دستهبندی نمایش داده میشود.
2. مزایا و معایب متد GET
مزایای متد GET
- قابلیت مشاهده و اشتراکگذاری دادهها: دادهها در URL نمایش داده میشوند و کاربران میتوانند لینکها را کپی و به اشتراک بگذارند.
- ذخیره در تاریخچه مرورگر: درخواستهای GET میتوانند در تاریخچه مرورگر ذخیره شوند که دسترسی به صفحات قبلی را آسانتر میکند.
- کش شدن توسط مرورگر: مرورگرها میتوانند درخواستهای GET را کش کنند و به این ترتیب زمان بارگذاری صفحات کاهش مییابد.
معایب متد GET
- محدودیت در حجم دادهها: محدودیتهایی برای طول URL وجود دارد که برای دادههای حجیم مناسب نیست.
- نمایش دادهها در URL: به دلیل نمایش دادهها در URL، اطلاعات حساس نباید با GET ارسال شوند.
- عدم امنیت برای اطلاعات حساس: برای ارسال اطلاعات حساس مانند رمز عبور، متد GET مناسب نیست.
3. کاربرد دستور isset برای بررسی دادههای GET
تابع isset
در PHP برای بررسی وجود یک متغیر استفاده میشود. هنگام کار با دادههای GET، isset
کمک میکند تا وجود دادهها را قبل از استفاده بررسی کنیم و از خطاها جلوگیری شود. مثال زیر نحوه استفاده از isset
در بررسی دادههای GET را نشان میدهد.
<?php
if (isset($_GET['name'])) {
$name = htmlspecialchars($_GET['name']);
echo "Entered name: " . $name;
} else {
echo "Name not provided.";
}
?>
توضیح مثال: اگر کاربر نامی وارد کرده باشد، با دستور isset
بررسی میشود که آیا متغیر $_GET['name']
وجود دارد یا خیر. در صورت وجود، نام وارد شده نمایش داده میشود؛ در غیر این صورت، پیامی مبنی بر عدم ورود نام نمایش داده میشود.
جمعبندی
متد GET در PHP روشی ساده و مؤثر برای ارسال دادههای عمومی و کوچک است که قابلیت نمایش و اشتراکگذاری از طریق URL را فراهم میکند. با این حال، برای ارسال دادههای حساس و حجیم، متد POST مناسبتر است. همچنین، استفاده از تابع isset
در اعتبارسنجی دادهها کمک میکند تا از بروز خطاهای احتمالی جلوگیری شود.
لینک پیشنهادی: