Home  >  Article  >  Backend Development  >  How to get form data in php

How to get form data in php

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-08-30 09:48:523851browse

How to get form data in php

Several methods for php to obtain form data:

1. Use file_get_contents to get the content in get mode. The required input content is:

<?php
$url=&#39;http://www.domain.com/?para=123&#39;;
$html = file_get_contents($url);
echo $html;
?>

2. Use the file_get_contents function to obtain the url in post mode. The required input content is:

<?php
$url = &#39;http://www.domain.com/test.php?id=123&#39;;
$data = array (&#39;foo&#39; => &#39;bar&#39;);
$data = http_build_query($data);
$opts = array (
&#39;http&#39; => array (
    &#39;method&#39; => &#39;POST&#39;,
   &#39;header&#39;=> "Content-type: application/x-www-form-urlencoded\r\n" .
        "Content-Length: " . strlen($data) . "\r\n",
    &#39;content&#39; => $data
)
);
$ctx = stream_context_create($opts);
$html = @file_get_contents($url,&#39;&#39;,$ctx);
?>

Related recommendations: "PHP Tutorial"

3. Use fopen to open the url and get the content in get mode. The input content is:

<?php
$fp = fopen($url, &#39;r&#39;);
$header = stream_get_meta_data($fp);//获取信息
while(!feof($fp)) {
$result .= fgets($fp, 1024);
}
echo "url header: {$header} <br>":
echo "url body: $result";
fclose($fp);
?>

4. Use fopen to open the url and get the content in post mode. The input content is:

<?php
$data = array (&#39;foo2&#39; => &#39;bar2&#39;,&#39;foo3&#39;=>&#39;bar3&#39;);
$data = http_build_query($data);
$opts = array (
&#39;http&#39; => array (
&#39;method&#39; => &#39;POST&#39;,
&#39;header&#39;=> "Content-type: application/x-www-form-urlencoded\r\nCookie:cook1=c3;cook2=c4\r\n" .
"Content-Length: " . strlen($data) . "\r\n",
&#39;content&#39; => $data
)
);
$context = stream_context_create($opts);
$html = fopen(&#39;http://www.test.com/zzzz.php?id=i3&id2=i4&#39;,&#39;rb&#39; ,false, $context);
$w=fread($html,1024);
echo $w;
?>

5. Use the fsockopen function to open the url and obtain the complete data in get mode, including header and body. The required input content is:

?php
function get_url ($url,$cookie=false)
{
$url = parse_url($url);
$query = $url[path]."?".$url[query];
echo "Query:".$query;
$fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30);
if (!$fp) 
{return false;
} else {
$request = "GET $query HTTP/1.1\r\n";
$request .= "Host: $url[host]\r\n";
$request .= "Connection: Close\r\n";
if($cookie) $request.="Cookie:   $cookie\n";
$request.="\r\n";
fwrite($fp,$request);
while(!@feof($fp)) {
$result .= @fgets($fp, 1024);
}
fclose($fp);
return $result;
}
}
//获取url的html部分,去掉header
function GetUrlHTML($url,$cookie=false)
{
$rowdata = get_url($url,$cookie);
if($rowdata)
{
$body= stristr($rowdata,"\r\n\r\n");
$body=substr($body,4,strlen($body));
return $body;
}
   return false;
}
?>

The above is the detailed content of How to get form data in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn