php表单接收
❶ php中接收复选框信息的方法
PHP接收多个同名复选框信息不像ASP那样自动转换成为数组 这给使用带来了一定不便 但是还是有解决办法的 就是利用JavaScript做一下预处理 多个同名复选框在JavaScript中还是以数组的形式存在的 所以在表单提交之前可以利用JavaScript把复选框中的信息组合成一个字符数组赋值给表单中的隐藏元素 然后用PHP中的explode函数解析此数组 这样就可以实现复选框信息的传递了 下面举例说明 假设有这样一个表单<form name= form id= form method= post action= myphp php onSubmit= return Checker() >
<input type= checkbox name= item value= > <br>
<input type= checkbox name= item value= > <br>
<input type= checkbox name= item value= > <br>
<input type= checkbox name= item value= > <br>
<input type= hidden name= items value= >
<input type= submit value= Submit >
</form>
这个表单有四个名字都是item的复选框 当用户单击Submit按钮的时候 Checker函数会被调用 并且如果Checker返回true表单就被提交 返回false表单就不会被提交 这里Checker函数就是我们要编写的预处理函数 在HTML的header部分添加下面的JavaScript
<script language= JavaScript > <! function Checker() { form items value = ; if ( !form item length ) // 只有一个复选框 form item length = undefined { if ( form items checked ) form items value = form item value; } else { for ( i = ; i < form item length ; i++ ) { if ( form item(i) checked ) // 复选框中有选中的框 { form items value = form item(i) value; for ( j = i + ; j < form item length ; j++ ) { if ( form item(j) checked ) { form items value += ; //用空格做分割符 form items value += form item(j) value; } } break; } } } return true; } > </script>
这样就可以把所有选中的复选框的value组合成为一个字符串数组 在myphp php使用这样的语句
$items = explode( $HTTP_POST_VARS[ items ]);
lishixin/Article/program/PHP/201311/21376
❷ php如何接收表单post过来的数组
php直接接收变量的
比如前面一页 你有一个输入框 <input type=text name=aaaa>
后面你可以直接用 $aaaa=$_POST['aaaa']; 就可以把上一页aaaa的值存到这一页变量aaaa中啊
如果你在php.ini的设置中 register_global=on 的话
从下面的页 你直接调用$aaaa 就可啊 比如第二个页面只有 echo $aaaa;那么也可以输出变量的值
❸ php接收表单数据存储数组,并按格式输出
可以先接收到值。然后组装成
123,456,789 这样的字符串存入数据库
然后读取数据库的时候,用explode() 把他转为数组,在循环输出就可以了
$url1 = $_POST('url1');
$url2 = $_POST('url2');
$url3 = $_POST('url3');
组装数据
$str = $url1.",".$url2.",";
然后将$str 存入数据库
然后你读取这条数据。读出来是这样的
$new_str = "123,456,789 ";
然后
$array = explode(',',$new_str);
var_mp($array);
❹ PHP可以接收HTML表单的值吗
可以的。
提交表单后php处理出来的页面。在这个例子中,我输入一个单词,然后给定一个长度,将单词等分成该长度的块。
演示了通过POST方法提交表单。
例子二(单选,GET接受表单):
view sourceprint?
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="GET">
Select your personality attributes:<br/>
<select name="att[]" >
<option value="perky">perky</option>
<option value="morese">morose</option>
<option value="thinking">thinking</option>
<option value="feeling"> feeling</option>
<option value="thrifty">speed-thrift</option>
<option value="prodigal">shopper</option>
</select>
<br>
<input type ="submit" name="s" value="Record my personality">
</form>
<?php
if (array_key_exists('s',$_GET)){
$des = implode(' ', $_GET['att']);
echo "You have a $des personality.";
}
?>
例子三(多选,GET接受表单):
注意到此时<select name="att[]" multiple> 下划线告诉GET你传输的是个数组,黑体字部分则是表示改选择框为多选框
view sourceprint?
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="GET">
Select your personality attributes:<br/>
<select name="att[]" multiple>
<option value="perky">perky</option>
<option value="morese">morose</option>
<option value="thinking">thinking</option>
<option value="feeling"> feeling</option>
<option value="thrifty">speed-thrift</option>
<option value="prodigal">shopper</option>
</select>
<br>
<input type ="submit" name="s" value="Record my personality">
</form>
<?php
if (array_key_exists('s',$_GET)){
$des = implode(' ', $_GET['att']);
echo "You have a $des personality.";
}
?>
例子四(复选框checkbox): 同样name="att[]"是告诉GET你传输的是一个数组, checked 则表示该选项为初始默认选择,同样上例,在标签内加入 selected="selected"也可以
让多选初始默认选择。
view sourceprint?
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="GET">
Select your personality attributes:<br/>
perky<input type="checkbox" name="att[]" value="perky" checked /> <br/>
morose<input type="checkbox" name="att[]" value="morose" checked /> <br/>
thinking<input type="checkbox" name="att[]" value="thinking" /> <br/>
feeling<input type="checkbox" name="att[]" value="feeling" /> <br/>
<br>
<input type ="submit" name="s" value="Record my personality">
</form>
<?php
if (array_key_exists('s',$_GET)){
echo "<pre>";
print_r($_GET);
echo "</pre>";
if (is_null($_GET['att'])) exit;
$des = implode(' ', $_GET['att']);
echo "You have a $des personality.";
}
?>
例子五(单选框): 注意,同一个选项即可的单选必须name相等
view sourceprint?
<form>
男性:
<input type="radio" checked="checked" name="Sex" value="male" />
<br />
女性:
<input type="radio" name="Sex" value="female" />
<br>
<hr>
男性:
<input type="radio" checked="checked" name="Se" value="male" />
<br />
女性:
<input type="radio" name="Se" value="female" />
</form>
<p>当用户点击一个单选按钮时,该按钮会变为选中状态,其他所有按钮会变为非选中状态。</p>
例子六(stick form):一个表格如何要实现之前输入过的值在页面刷新后仍然存在可以如下
view sourceprint?
<?php
$f = $_POST['fa'];
?>
<form action = "<?php echo $_SERVER['PHP_SELF']; ?> " method="POST">
temperature:
<input type="text" name="fa" value="<?php echo $f;?>" />;
<br/>
<input type="submit" name="Convert to Celsius" />
</form>
<?php
if (!is_null($f)){
$c = ($f-32)*5/9;
printf("%.2lf is %.2lfC",$f,$c);
}
?>
都是一些简单的表单处理~
❺ php表单接收
不能用tr td的, 如果你不想直接显示,可以这样写
<input type="hidden" name="aa" value="bbb">
取的时候 $_GET["aa"] 得到的值为bbb
❻ PHP接收表单传入的值的时候,为何不直接用ehco $name 直接打印出来,只能用_GET或者_POST获得
您可能误解了通过POST和GET传递的变量与您在接收页面定义的$name之间的关系了,在您使用$name = $_POST['参数'] 或 $name = $_GET['参数'] 这样的赋值表达式之前,赋值运算符的左边与右边没有任何关系。
$_POST['参数'] 或 $name = $_GET['参数'] 是存储在PHP预定义变量$_POST或$_GET变量中的变量,而$name是您在接收页面定义的用于接收(被赋值)被传递的变量的变量。
如果您未曾使用赋值表达式将存储在$_POST或$_GET中的变量赋给$name就用echo输出$name的话,$name的值是null,PHP中null是没有输出的,因而是空白。希望我的解释没有误导您^_^