AmMrWu

a fish.

导航

PHP中获取html页面传值

无论是采取哪种语言进行网站开发,都需要在页面上获取相应的数据。传值常用的是get 和 post,
get一般用来获取少量安全的参数,post则一般用来传递表单数据或者比较大的数据。
 当然get post绝非那么简单 大家可以参看这篇博客
http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html
 
1.最简单的形式:
$if(isset$_POST['id']))
$id=$_POST['id'];
 
2.但有时表单传递的时候我们发现利用上面这种方式是十分麻烦的
例如:用户注册
if(isset($_POST['username']))
$username=$_POST['username'];
........
$user['username']=$username;
.......
$this->save($user);
由于表单的数据很多,我们需要不断的重复这类代码
更纠结的是:得到之后我们还要每个都放入到数组或者对象之中。
但其实这却是可以一步完成的
<form name='user'>
<input type='text' name='user[username]' >
<input type='text' name='user['age']'>
<input type='submit' value='1'/>
</form>
在html中用上述的方式写我们就可以直接得到数组
if($_POST['submit'])
$user=$_POST['user'];
 
3.对于checkbox控件来说传给php的应该是个数组。
足球<input name='football' type='checkbox' name='checkbox[]'/>
篮球<input name='basketball' type='checkbox' name='checkbox[]'/>
排球<input name='volleyball' type='checkbox' name='checkbox[]'/>
这时候:
$fav=$_POST['checkbox'];
for($i=0;i<=count($fav));$i++){
if(!is_null($checkbox[$i]))
$checkvalue=$checkbox[$i].',';}

 
4文件上传
对于文件上传,一般采取的是表单提交,这是我们一定要设置表单的enctype
enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。
multitpart/form-data为不编码,所以文件能够按原有格式上传
下面代码黏贴自w3cschool.
<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
获取:
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>

详见:http://www.w3school.com.cn/php/php_file_upload.asp

posted on 2011-12-04 13:41  RorySmart  阅读(22269)  评论(1编辑  收藏  举报