Yii: 如何将 post 中的数据值 'form' 到同一页
Yii: How to post the data value from 'form' to the same page
我想将此表单中的值发送到同一页面,但提交按钮没有发送值
这是表格:
<form method="post" action="">
<select name="b" value="<?=isset($_POST['b']) ? CHtml::encode($_POST['b']) : '' ; ?>">
<option value="1">Januari</option>
<option value="2">Februari</option>
<option value="3">Mac</option>
<option value="4">April</option>
<option value="5">Mei</option>
<option value="6">Jun</option>
<option value="7">Julai</option>
<option value="8">Ogos</option>
<option value="9">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">Disember</option>
</select>
<input type="submit" value="Papar Statistik" /><hr />
</form>
这是用来从上面的表格中获取数据值的函数:
<?php
if (isset($_GET['b']) && !empty($_GET['b']))
$current_month = $_GET['b'];
else
$month = date('Y-m-d', time());
$bulan = strtotime($month); // FUNCTION CONVERSION DATE KEPADA DAY
$current_month = date("m", $bulan);
$teacher = Yii::app()->user->getId();
$jumlahStatistik_hadir = 0;
for ($d = 1; $d <= 30; $d++){
$statistik_hadir = Detail::model()->countByAttributes(array(
'status' => '1',
'date' => '2015-'.$current_month.'-'.$d.'',
'teacher_id' => $teacher));
$jumlahStatistik_hadir =
($jumlahStatistik_hadir+$statistik_hadir);
}
print_r ($jumlahStatistik_hadir);
?>
如果您使用 POST 方法发送表单数据
<form method="post" action="">
<select name="b">
<option value="1">Januari</option>
<option value="2">Februari</option>
</select>
</form>
您可以期望 PHP 提供 $_POST 全局数据,而不是 post。
// This is correct
echo $_POST['b'];
// This is not correct
echo $_GET['b'];
注意:
而不是在 select 标签中使用 'value'。
<select name="b" value="2">
您需要为所选值提供 selected 选项
<option value="1">Januari</option>
<option value="2" selected='selected'>Februari</option>
为什么不用 Yii 形式
<?php
$years=array(
0 => '',
1 => 'Januari',
2 => 'Februari',
3 => 'Mac',
4 => 'April',
5 => 'Mei',
6 => 'Jun',
7 => 'Julai',
8 => 'Ogos',
9 => 'September',
10 => 'Oktober',
11 => 'November',
12 => 'Disember'
);
?>
<?php echo CHtml::beginForm();?>
<?php echo CHtml::dropDownList('b', (isset($_POST['b'])?$_POST['b']:$years[0]), $years);?>
<?php echo CHtml::submitButton('Paper Statistik')?>
<?php echo CHtml::endForm();?>
我想将此表单中的值发送到同一页面,但提交按钮没有发送值
这是表格:
<form method="post" action="">
<select name="b" value="<?=isset($_POST['b']) ? CHtml::encode($_POST['b']) : '' ; ?>">
<option value="1">Januari</option>
<option value="2">Februari</option>
<option value="3">Mac</option>
<option value="4">April</option>
<option value="5">Mei</option>
<option value="6">Jun</option>
<option value="7">Julai</option>
<option value="8">Ogos</option>
<option value="9">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">Disember</option>
</select>
<input type="submit" value="Papar Statistik" /><hr />
</form>
这是用来从上面的表格中获取数据值的函数:
<?php
if (isset($_GET['b']) && !empty($_GET['b']))
$current_month = $_GET['b'];
else
$month = date('Y-m-d', time());
$bulan = strtotime($month); // FUNCTION CONVERSION DATE KEPADA DAY
$current_month = date("m", $bulan);
$teacher = Yii::app()->user->getId();
$jumlahStatistik_hadir = 0;
for ($d = 1; $d <= 30; $d++){
$statistik_hadir = Detail::model()->countByAttributes(array(
'status' => '1',
'date' => '2015-'.$current_month.'-'.$d.'',
'teacher_id' => $teacher));
$jumlahStatistik_hadir =
($jumlahStatistik_hadir+$statistik_hadir);
}
print_r ($jumlahStatistik_hadir);
?>
如果您使用 POST 方法发送表单数据
<form method="post" action="">
<select name="b">
<option value="1">Januari</option>
<option value="2">Februari</option>
</select>
</form>
您可以期望 PHP 提供 $_POST 全局数据,而不是 post。
// This is correct
echo $_POST['b'];
// This is not correct
echo $_GET['b'];
注意: 而不是在 select 标签中使用 'value'。
<select name="b" value="2">
您需要为所选值提供 selected 选项
<option value="1">Januari</option>
<option value="2" selected='selected'>Februari</option>
为什么不用 Yii 形式
<?php
$years=array(
0 => '',
1 => 'Januari',
2 => 'Februari',
3 => 'Mac',
4 => 'April',
5 => 'Mei',
6 => 'Jun',
7 => 'Julai',
8 => 'Ogos',
9 => 'September',
10 => 'Oktober',
11 => 'November',
12 => 'Disember'
);
?>
<?php echo CHtml::beginForm();?>
<?php echo CHtml::dropDownList('b', (isset($_POST['b'])?$_POST['b']:$years[0]), $years);?>
<?php echo CHtml::submitButton('Paper Statistik')?>
<?php echo CHtml::endForm();?>