一般是用post獲取提交的數(shù)據(jù),如下實(shí)例:
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)三臺(tái),10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
form?name="form1"?method="post"
p用戶名:input?type="text"?name="uname"?//p
p密碼:input?type="password"?name="upwd"?//p
pinput?type="submit"?name="btn"?value="提交"?//p
?php
if?($_POST["btn"]){
echo?'用戶名:'.$_POST["uname"].'br';//三體教程
echo?'密碼:'.$_POST["upwd"];
}
?
/form
PHP 可以通過POST、GET方法獲取到表單提交的數(shù)據(jù)
獲取到的POST、GET是數(shù)組形式的值,需要通過鍵值來詳細(xì)獲取相應(yīng)的值
比如: index.php 頁面
下面是POST方法
form name="form1" method="post" action="index.php"
input type="text" name="contents" value=""
input type="submit" value="提交"
/form
?php
//獲取表單提交的數(shù)據(jù)
$contents = $_POST['contents'];
echo $contents;
?
也可以是下面是GET方法
form name="form1" method="get" action="index.php"
input type="text" name="contents" value=""
input type="submit" value="提交"
/form
?php
//獲取表單提交的數(shù)據(jù)
$contents = $_GET['contents'];
echo $contents;
?
POST相對(duì)于GET方法,更好一些,可以提交大量數(shù)據(jù),以及更安全些。
在獲取表單數(shù)據(jù)中,最常用的自動(dòng)全局變量是$_GET和$_POST,它們分別獲取通過GET方法提交的數(shù)據(jù)和通過POST方法提交的數(shù)據(jù)。
比如一個(gè)名稱為"user"的文本框表單控件,如果用GET方法提交,可以用 $_GET["user"]或者$_GET['user']
獲取它提交的值。
一、用file_get_contents以get方式獲取內(nèi)容,需要輸入內(nèi)容為:
1、?php
2、$url='';
3、$html = file_get_contents($url);
4、echo $html;
5、?
二、用file_get_contents函數(shù),以post方式獲取url,需要輸入內(nèi)容為
1、?php
2、$url = '';
3、$data = array ('foo' = 'bar');
4、$data = http_build_query($data);
5、$opts = array (
6、'http' = array (
7、 ? 'method' = 'POST',
8、? 'header'= "Content-type: application/x-www-form-urlencoded\r\n" .
9、 ? ? ? ? ? ? ? ? ? ? "Content-Length: " . strlen($data) . "\r\n",
10、 ? 'content' = $data
11、)
12、);
13、$ctx = stream_context_create($opts);
14、$html = @file_get_contents($url,'',$ctx);
15、?
三、用fopen打開url,以get方式獲取內(nèi)容,需要輸入內(nèi)容為
1、?php
2、$fp = fopen($url, 'r');
3、$header = stream_get_meta_data($fp);//獲取信息
4、while(!feof($fp)) {
5、$result .= fgets($fp, 1024);
6、}
7、echo "url header: {$header} br":
8、echo "url body: $result";
9、fclose($fp);
10、?
四、用fopen打開url,以post方式獲取內(nèi)容,需要輸入內(nèi)容為
1、?php
2、$data = array ('foo2' = 'bar2','foo3'='bar3');
3、$data = http_build_query($data);
4、$opts = array (
5、'http' = array (
6、'method' = 'POST',
7、'header'= "Content-type: application/x-www-form-urlencoded\r\nCookie:cook1=c3;cook2=c4\r\n" .
8、"Content-Length: " . strlen($data) . "\r\n",
9、'content' = $data
10、)
11、);
12、$context = stream_context_create($opts);
13、$html = fopen(';id2=i4','rb' ,false, $context);
14、$w=fread($html,1024);
15、echo $w;
16、?
五、用fsockopen函數(shù)打開url,以get方式獲取完整的數(shù)據(jù),包括header和body,需要輸入內(nèi)容為
1、?php
2、function get_url ($url,$cookie=false)
3、{
4、$url = parse_url($url);
5、$query = $url[path]."?".$url[query];
6、echo "Query:".$query;
7、$fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30);
8、if (!$fp) {
9、return false;
10、} else {
11、$request = "GET $query HTTP/1.1\r\n";
12、$request .= "Host: $url[host]\r\n";
13、$request .= "Connection: Close\r\n";
14、if($cookie) $request.="Cookie:?? $cookie\n";
15、$request.="\r\n";
16、fwrite($fp,$request);
17、while(!@feof($fp)) {
18、$result .= @fgets($fp, 1024);
19、}
20、fclose($fp);
21、return $result;
22、}
23、}
24、//獲取url的html部分,去掉header
25、function GetUrlHTML($url,$cookie=false)
26、{
27、$rowdata = get_url($url,$cookie);
28、if($rowdata)
29、{
30、$body= stristr($rowdata,"\r\n\r\n");
31、$body=substr($body,4,strlen($body));
32、return $body;
33、}
34、 ? return false;
35、}
36、?
參考資料:
php-file_get_contents
要用動(dòng)態(tài)語言的,txt根本不能處理你提交的數(shù)據(jù)。你可以用php文件來獲取post提交的數(shù)據(jù),然后再寫進(jìn)txt文件。
你需要在本地安裝個(gè)php環(huán)境,比如安裝個(gè)wamp。然后1.php里這樣寫:
?php
if(isset($_POST['submit'])){
echo $_POST['name1'];
}
然后表單可以這樣寫:
form action="1.php" method="POST"
name1:input type="text" name="name1" /
input type="submit" name="submit" value="提交"/
/form
這樣,點(diǎn)擊提交后在1.php里就能獲得表單提交的內(nèi)容了
php是服務(wù)器端腳本,如果上面的表單是你服務(wù)器端編寫的,可以直接傳值 id、class 等給php腳本進(jìn)行查詢就可以了;如果上面的表單是你獲取其他站點(diǎn)上,那通常的做法,可以使用正則來提取值再傳給php腳本進(jìn)行查詢。