PDA

View Full Version : سوال: نحوه اجرای دستور Header



Jason.Bourne
جمعه 30 تیر 1391, 11:48 صبح
وقتیکه در برنامه از Header برای ریدایرکت کردن صفحه استفاده می کنیم، آیا دستورات بعد از این تابع هم اجرا می شود؟

مثلا وقتیکه کد زیر اجرا می شود، دستورات بعد از Header هم اجرا می شوند و بعد عمل redirect انجام می شود و یا وقتیکه به خطی که تابع Header در آن قرار دارد رسیدیم عمل ریدایرکت انجام می شود؟


$a = 1;
$a = 1;
$a = 1;
$a = 1;
$a = 1;
$a = 1;

header('Location:http://google.com');

$a = 1;
$a = 1;
$a = 3;
$a = 1;
$a = 1;
$a = 1;

us1234
جمعه 30 تیر 1391, 11:55 صبح
بله . چون من دیدم همه جا بعد از این تابع برای اتمام پروسه از تابع die هم استفاده میشه. البته به قطع نمیتونم بگم تا تست نکنم!!!

Jason.Bourne
جمعه 30 تیر 1391, 12:01 عصر
اگر اینطوری باشه (یعنی دستورات ادامه پیدا کنه) به نظر میاد منطقی نباشه.

us1234
جمعه 30 تیر 1391, 12:03 عصر
تست کردنش ساده س . من میخواستم خودم تست کنم ولی وقت ندارم . شما بعد از این تابع یه کدی بنویسید که یه مقداری را توی فایل ذخیره کند و نتیجه را ببنید.

Jason.Bourne
جمعه 30 تیر 1391, 12:30 عصر
تست کردم. بعد از خطی که Header در اون قرار داره هم اجرا میشه.
این که خیلی بد هست!

us1234
جمعه 30 تیر 1391, 13:05 عصر
بد بودن ش بستگی به استفاده ای که کردید داره البته بالا گفتم اگه بعدش یه die(); بنویسید پروسه بسته میشه.

Jason.Bourne
جمعه 30 تیر 1391, 13:14 عصر
بله. متوجه راه حل شما شدم. اما چرا بعد از header باید اجرا بشه؟

us1234
جمعه 30 تیر 1391, 13:21 عصر
برای اینکه پروسه بازه و فکر کنم این عملیات fork باشه یعنی چند شاخه شدن پروسه ها .

Jason.Bourne
جمعه 30 تیر 1391, 13:31 عصر
اگر براتون مقدور هست بیشتر توضیح بدین.
متشکرم