小白一个,写下自己遇到的问题,一点一点积累,避免以后忘记。
php中常用get和post传值。
也看了别人写的get和post的用法,有收获,在这里也写下自己亲自检验的结果,以及在运行时出现的问题。
get和post 只是php页面间传递参数中的其中2种用法,还有session和cookie。
1. 用get传值, $_GET[ ]
(1)先建2个php文件,text1.php 和 text2.php
(2)text1.php中的代码:
<a href="text2.php?m=100&n=哦哈哈&w=ahaha&id='10'&name='xiaoqiang'">哦哈哈哈,点我啊</a>
(这个地方传了多个值)
(3) text2.php中的代码:
<?php
echo $_GET["m"]; //这里的输 出,以及下面的输出,都不能用 echo "$_GET["m"]"; (我试过了,加引号会显示错误,运行不出来)
echo $_GET["n"]; //因为我不太清楚这里get[ ]里面加不加引号的区别,以及传过来的值是数字或是字符串后的输出结果的区别,所以我都试了试
echo $_GET[m];
echo $_GET[n];
echo "<br/>";
echo $_GET["w"];
echo $_GET[w];
echo "<br/>";
echo $_GET["id"];
echo $_GET["name"];
echo $_GET[id];
echo $_GET[name];
?>
(4) 在text1.php运行界面上点击链接“哦哈哈哈,点我啊”,会出现以下运行结果:
100哦哈哈
100
哦哈哈
ahaha
ahaha
'10''xiaoqiang'
'10'
'xiaoqiang'
2. 用post传值 , $_POST[ ]
看了别人总结的,也根据自己这些天亲自体验的
get传值:一般是用于链接传值(get传的值的长度是有限制的);
post传值:一般用于表单传值(可以传多个值)。
(1)text1.php文件中的代码:
<form action="text2.php" method="post">
<table>
<tr>
<td>标题:</td>
<td><input type="text" name="title"/></td>
</tr>
<tr>
<td>作者:</td>
<td><input type="text" name="author"/></td>
</tr>
<tr>
<td>关键字</td>
<td><input type="text" name="keywords"/></td>
</tr>
<tr>
<td><input type="submit" value="提交"/></td>
</tr>
</table>
</form>
(2)text2.php文件中的代码:
<?php
echo $_POST["title"];
echo $_POST["author"];
echo $_POST["keywords"];
?>
(3) 在text1.php运行界面中是一个表单(为了用post传值),里面是一个表格,为了分行美观,这个就不用多说。举个例子,在标题处填写天空,在作者处填写小明,在内容处填写自我介绍,然后点击提交按钮,则表单中的三个值就被传到text2.php 文件中了,并且被输出。输出结果如下:
天空小明自我介绍 (因为这里没有用换行,所以三个值就连着一块输出了)
总结
get和post一般是传值时比较常用的。post常用于表单传值,其余的一般都常用get传值。