PDA

View Full Version : کاربرد type=hidden



rahele83
جمعه 04 دی 1388, 11:24 صبح
سلام کسی میتونه برای من یه نمونه بیاره ازفرمی که اینپوتای اون ازنوع مخفی باشن وکابرد اون وچه طورارتباط پیدا میکنن با پایگاه
این یه نمونه است که من متوجه نشدم کاربرد فرم مخفی

."'");
$row = mysql_fetch_array($sql);

if($_SESSION['valid_user'] == "" || $row['u_id'] != 1)
header("Location: user_admin.php");

require_once('paye.php');

$teacher_id = $_POST['teacher_id'];
$name = $_POST['name'];
$total = $_POST['total'];
$date_start = mktime(0,0,0,$_POST['month_start'],$_POST['day_start'],$_POST['year_start']);
$date_finish = mktime(0,0,0,$_POST['month_finish'],$_POST['day_finish'],$_POST['year_finish']);
$question = $_POST['question'];
$answer = $_POST['answer'];
$javab = $_POST['javab'];



if($_POST['action'] == 'quiz')
{
$teacher_id = $_POST['teacher_id'];
$total = $_POST['total'];
$name = $_POST['name'];
$date_start = $_POST['date_start'];
$date_finish = $_POST['date_finish'];
$question = $_POST['question'];
$answer = $_POST['answer'];
$javab = $_POST['javab'];

if($total != count($question) || $total != count($answer))
print 'Error';

if(mysql_query("insert into course values('', '$total', '$name', '$date_start', '$date_finish', '$teacher_id')"))
{
$sql = mysql_query("select MAX(course_id) as max from course");
$row = mysql_fetch_array($sql);
$c = $row['max'];

for($i=1;$i<=$total;$i++)
{

mysql_query("insert into quiz values('', '".$question[$i]."', '".$javab[$i][0]."', '".$javab[$i][1]."','".$javab[$i][2]."', '".$javab[$i][3]."','".$answer[$i]."','$c')");
setcookie('save','ok');
header("Location: question.php");
}

}
else
print' Error mysql';

}
?>
<form method="post" action="">
<input type="hidden" name="action" value="quiz" />
<input type="hidden" name="teacher_id" value="<?=$teacher_id?>">
<input type="hidden" name="name" value="<?=$name?>">
<input type="hidden" name="total" value="<?=$total?>">
<input type="hidden" name="date_start" value="<?=$date_start?>">
<input type="hidden" name="date_finish" value="<?=$date_finish?>">
<?php
for($i=1;$i<=$total;$i++)
{
?>
<table align="center" width="300" border="1" bgcolor="#E0E8F5" >
<tr>
<td align="center" >question : <?=$i?></td>
</tr>
<tr>
<td valign="top" ><input size="90" type="text" name="question[<?=$i?>]" value="<?=$question[$i]?>" />&nbsp;</td>
</tr>
<tr>
<td align="center">answer</td>
</tr>
<table align="center" border="1" width="580" bgcolor="#E0E8F5" >
<tr>
<td valign="top" width="75" >
a:<input type="radio" name="answer[<?=$i?>]" value="a" <? if($answer[$i] == "a")echo'checked="checked"'; ?>/>
<input type="text" name="javab[<?=$i?>][]" size="10" value="<?=$javab[$i][0]?>" />
</td>
<td valign="top" width="75" >
b:<input type="radio" name="answer[<?=$i?>]" value="b" <? if($answer[$i] == "b")echo'checked="checked"'; ?> />
<input type="text" name="javab[<?=$i?>][]" size="10" value="<?=$javab[$i][1]?>" />
</td>
<td valign="top" width="75" >
c:<input type="radio" name="answer[<?=$i?>]" value="c" <? if($answer[$i] == "c")echo'checked="checked"'; ?>/>
<input type="text" name="javab[<?=$i?>][]" size="10" value="<?=$javab[$i][2]?>" />
</td>
<td valign="top" width="75" >
d:<input type="radio" name="answer[<?=$i?>]" value="d" <? if($answer[$i] == "d")echo'checked="checked"'; ?> />
<input type="text" name="javab[<?=$i?>][]" size="10" value="<?=$javab[$i][3]?>" />
</td>
</tr>

</table>
<?php
}
?>
<div align="center"><input type="submit" value="Sumbit" ></div>
</form>
]

persianshadow
جمعه 04 دی 1388, 12:53 عصر
می دونید که فرم ها می تونن داده های خودشون رو در دو حالت POST و یا GET ارسال کنن.

در حالت ارسال با POST کاربر در URL خودش چیزی مشاهده نمی کنه.منظور نام فیلدها و مقادیری

که خودش پر کرده.اما ما برای اینکه بتونیم داده های ارسالی رو در دیتابیس ذخیره کنیم

فرضآ باید Id کاربر رو داشته باشیم.حالا کاربر که در فرم خودش فیلد Id نداشته که بخواد پر کنه و

اصلآ Id رو نمی دونه . اینجاست که ما یک فیلد مخفی میزاریم که کاربر اون رو نمی بینه ولی برنامه

اون رو مقدار دهی کرده و چون فرم از نوع POST هست این مقدار هم ارسال میشه و ما

می تونیم در برنامه مورد استفاده قرار بدیم.

afshin9032
جمعه 04 دی 1388, 14:40 عصر
فرض كن رفتي بيرون و خريد كردي حالا مي خواي برگردي خونه و وسايلي داري كه داخل ماشين نمي شه گذاشت چون مزاحم هستن و داخل ماشين رو شلوغ مي كنن و اونارو تو صندوق عقب مي ذاري
فيلد hidden هم همين حالت رو داره و بيشتر مقدار هاي رو داره كه اگه در صفحه نمايش داده بشه باعث مي شه كه ظاهر سايت به هم بخوره ، ولي لازم هم هست و نميشه ازشون صرف نظر كرد براي همين اين داده ها در يك عنصر hidden ذخيره مشه و بعد در سمت سرور استفاده مي كنيم
يا يك مثال بهتر اينكه تو مي خواي يك خبر رو ويرايش كني
در صفحه ويرايش براي اينكه id خبر براحتي نشون داده نشه اون را در يك عنصر hidden ذخيره مي كني و بعد در سمت سرور ازش استفاده مي كني