PDA

View Full Version : سوال: ذخیره موقت اطلاعات فرم



thacker
سه شنبه 14 آذر 1391, 14:53 عصر
سلام ...
من یک فرم توی سایتم دارم که از متغیرهای زیادی تشکیل شده ...
مشکلم اینه که وقتی در هر صورتی فرم به کاربر پیغام خطا میده ، کل اطلاعاتی که کاربر تکمیل کرده بود از فرم حذف میشه و کاربر دوباره باید تمام اون فیلدها رو پر کنه ...
چطور میتونم کاری کنم که در صورت خطا دادن فرم ، فیلدها پاک نشن ؟!

باتشکر ...

$ M 3 H R D A D $
سه شنبه 14 آذر 1391, 15:05 عصر
وقتی فرم و پست میکنی به جایی که برای پردازش هست کل $_POST و که خودش یک آرایه هست و تو یک سشن یا کوکی ( سشن بهتره ) بریز و تو نمایش فرم ( موقع برگشت ) همونو تو فرم نشون بده
یا اینکه این اطلاعات و با برنامه به فرم خودت پست کن با کرل
ازین ور بگیر برا خودش دوباره بنداز ( مثل آجر چینی ساختمانی که هی آجر میاد و میره : دی )

thacker
سه شنبه 14 آذر 1391, 15:46 عصر
تشکر ...
میشه لطفا یه نمونه ساده از کدش رو اینجا بنویسید ؟

$ M 3 H R D A D $
سه شنبه 14 آذر 1391, 15:58 عصر
کد خاصی نداره دوست عزیز
شما فرم و میفرستی به یک صفحه و بعدش همون و برمیگردونی دیگه :دی

<?php
$msg = '';
$save_data = array();
if(isset($_POST['btn_submit']))
{
$save_data['lesson_name'] = $_POST['lesson_name'];
$save_data['score'] = $_POST['score'];
if($save_data['score']!='')
{
if($save_data['score']>=0 and $save_data['score']<=20)
{

}
else
{
$msg = 'number between 0 and 20';
}
}
else
{
$msg = 'inter score';
}
}
?>



<html>
<head><title></title></head>
<body>
<form method="post" action="" >
<table>
<?php
if($msg!='') { ?>
<tr>
<td>error text : </td>
<td><?php echo $msg; ?></td>
</tr>
<?php
}
?>
<tr>
<td>lesson name : </td>
<td><input type="text" name="lesson_name" value="<?php echo (isset($save_data['lesson_name']))?$save_data['lesson_name']):''; ?>" /></td>
</tr>
<tr>
<td>nomreh : </td>
<td><input type="text" name="score" value="<?php echo (isset($save_data['score']))?$save_data['score']):''; ?>" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="btn_submit" /></td>
</tr>
</table>
</form
</body>
</html>

اگه مشکل ها جزئی داره ببخش دیگه الان دو ساعت تو انجمت هستم خسته شدم دیگه
فلا ایشالا مشکلت حل بشه

vahid.1
سه شنبه 14 آذر 1391, 20:29 عصر
این دو قسمتو این طوری بنویس


<td><input type="text" name="lesson_name" value="<?php echo (isset($save_data['lesson_name']))?$save_data['lesson_name']:''; ?>" /></td>
<td><input type="text" name="score" value="<?php echo (isset($save_data['score']))?$save_data['score']:''; ?>" /></td>


پرانتزهای بسته آخر اضافه بود.

دوست عزیز $ M 3 H R D A D $ بازم ممنون

$ M 3 H R D A D $
سه شنبه 14 آذر 1391, 20:59 عصر
من با نوت پت نوشتم زیاد توجه نداشتم فقط خواستم زود روش و یاد بگیرن ایشون ممنون از توجهتون