سلام.
بله ساخت دو یا چند فایل برای یک فرم و پردازش های مربوط به آن، انتخاب مناسبی نیست (البته نه همیشه) و تجربه نشان داده که اختصاص تنها یک فایل به این موارد (و بعد حالت بندی کدهای آن)، بهترین انتخاب است.
در زبان PHP ، معمولا در صفحه فرم، بر اساس متغیرهای ارسال شده به صفحه (با روش POST)، حالت بندی می کنیم. یعنی مثلا در فرم، یک field به صورت hidden تعریف می شود :
بعد با کد PHP زیر چک می کنیم که آیا کاربر دکمه submit فرم را فشار داده یا نه :
یا مثلا برای عدم submit فرم (به علامت ! دقت کنید) :
یک مثال :
مثال بالا، یک کد پایه است. یعنی می توانید حالت بندی ها را گسترش دهید، یعنی در ابتدای صفحه که اطلاعات دریافتی از فرم پردازش می شوند (البته تنها در حالتی که دکمه submit فرم را زده باشند)، اگر پردازش موفقیت آمیز بود، تعیین می کنیم که دیگر فرم نمایش داده نشود و کاربر، یک سری اطلاعات دیگر را ببیند و اگر موفقیت آمیز نبود، فرم نمایش داده می شود. این کار را می توان با تعریف یک متغیر که مقدار 0 یا 1 می گیرد، انجام داد و بر اساس حالت پیش آمده، یک مقدار را در آن ذخیره می کنیم. بعد در قسمت نمایش فرم، تعیین می کنیم که اگر مقدار آن برابر 1 بود، فرم نمایش داده شود.
همچنین در بخش دریافت متغیرهای POST شده به صفحه، مسائل امنیتی دریافت مقادیر رعایت شوند.
بله ساخت دو یا چند فایل برای یک فرم و پردازش های مربوط به آن، انتخاب مناسبی نیست (البته نه همیشه) و تجربه نشان داده که اختصاص تنها یک فایل به این موارد (و بعد حالت بندی کدهای آن)، بهترین انتخاب است.
در زبان PHP ، معمولا در صفحه فرم، بر اساس متغیرهای ارسال شده به صفحه (با روش POST)، حالت بندی می کنیم. یعنی مثلا در فرم، یک field به صورت hidden تعریف می شود :
کد پیاچپی:
<input type="hidden" name="my_form_process" value="1"/>
بعد با کد PHP زیر چک می کنیم که آیا کاربر دکمه submit فرم را فشار داده یا نه :
کد پیاچپی:
if(isset($_POST['my_form_process'])){
یا مثلا برای عدم submit فرم (به علامت ! دقت کنید) :
کد پیاچپی:
if(!isset($_POST['my_form_process'])){
یک مثال :
کد پیاچپی:
<?php
// ذخیره اطلاعات دریافت شده توسط فرم
if(isset($_POST['my_form_process'])){
$message = $_POST['message'];
// پردازش اطلاعات دریافتی از فرم
?>
نمایش نتیجه
<?php
}
?>
<br /><br />
<div>
<form method="post" action="#">
<input type="hidden" name="my_form_process" value="1"/>
<br /><br />متن پیام :<br /><br />
<textarea name="message" cols="100" rows="20"></textarea>
<br /><br />
<input type="submit" value="ارسال پیام">
</form>
</div>
مثال بالا، یک کد پایه است. یعنی می توانید حالت بندی ها را گسترش دهید، یعنی در ابتدای صفحه که اطلاعات دریافتی از فرم پردازش می شوند (البته تنها در حالتی که دکمه submit فرم را زده باشند)، اگر پردازش موفقیت آمیز بود، تعیین می کنیم که دیگر فرم نمایش داده نشود و کاربر، یک سری اطلاعات دیگر را ببیند و اگر موفقیت آمیز نبود، فرم نمایش داده می شود. این کار را می توان با تعریف یک متغیر که مقدار 0 یا 1 می گیرد، انجام داد و بر اساس حالت پیش آمده، یک مقدار را در آن ذخیره می کنیم. بعد در قسمت نمایش فرم، تعیین می کنیم که اگر مقدار آن برابر 1 بود، فرم نمایش داده شود.
کد پیاچپی:
<?php
if($my_variable==1){
?>
نمایش فرم
<?php
}
?>
همچنین در بخش دریافت متغیرهای POST شده به صفحه، مسائل امنیتی دریافت مقادیر رعایت شوند.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.