[php] view plaincopy
$re = file_get_contents($url)
print_r($re)
方法二:
[php] view plaincopy
$ch = curl_init("http://www.jb51.net/")
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true)
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true)
$output = curl_exec($ch)
$fh = fopen("out.html", 'w')
fwrite($fh, $output)
fclose($fh)
方法三:
其中把post一块包含进来了
[php] view plaincopy
function dfopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE , $ip = '', $timeout = 15, $block = TRUE, $encodetype = 'URLENCODE') {
$return = ''
$matches = parse_url($url)
$host = $matches['host']
$path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : '') : '/'
$port = !empty($matches['port']) ? $matches['port'] : 80
if($post) {
$out = "POST $path HTTP/1.0\r\n"
$out .= "Accept: */*\r\n"
$out .= "Accept-Language: zh-cn\r\n"
$boundary = $encodetype == 'URLENCODE' ? '' : ''.substr($post, 0, trim(strpos($post, "\n")))
$out .= $encodetype == 'URLENCODE' ? "Content-Type: application/x-www-form-urlencoded\r\n" : "Content-Type: multipart/form-data$boundary\r\n"
$out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]\r\n"
$out .= "Host: $host\r\n"
$out .= 'Content-Length: '.strlen($post)."\r\n"
$out .= "Connection: Close\r\n"
$out .= "Cache-Control: no-cache\r\n"
$out .= "Cookie: $cookie\r\n\r\n"
$out .= $post
} else {
$out = "GET $path HTTP/1.0\r\n"
$out .= "Accept: */*\r\n"
$out .= "Accept-Language: zh-cn\r\n"
$out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]\r\n"
$out .= "Host: $host\r\n"
$out .= "Connection: Close\r\n"
$out .= "Cookie: $cookie\r\n\r\n"
}
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout)
if(!$fp) {
return ''
} else {
stream_set_blocking($fp, $block)
stream_set_timeout($fp, $timeout)
@fwrite($fp, $out)
$status = stream_get_meta_data($fp)
if(!$status['timed_out']) {
while (!feof($fp)) {
if(($header = @fgets($fp)) && ($header == "\r\n" || $header == "\n")){
break
}
}
$stop = false
while(!feof($fp) && !$stop) {
$data = fread($fp, ($limit == 0 || $limit > 8192 ? 8192 : $limit))
$return .= $data
if($limit) {
$limit -= strlen($data)
$stop = $limit <= 0
}
}
}
@fclose($fp)
return $return
}
}
不用hidden的话把<form name="login" method="post" action="Untitled-1.php">
改成
<form name="login" method="post" action="Untitled-1.php?action=login">也可以。
因为你后面没有action一个地址当然要用一个隐藏字段给一个地址啊,要不然它怎么知道哪个是你点击之前执行的哪个是点击之后执行的。
第二段代码直接显示是因为你后面一段代码对应的地址就是Untitled-3.php,你如果在Untitled-3.php后面加个?action=aa的话,那你在PHP里就要写if($_POST[‘action’]=="aa"){ }大括号的内容就是Untitled-3.php?action=aa这个地址所执行的代码。
就是说
<form name="login" method="post" action="Untitled-1.php?action=login">
这样写的话在PHP里要用GET才能判断到,如:if($_GET[‘action’]=="login"){当action=login时执行的代码}
你用hidden隐藏字段写意思是一样的,只不过它也是表单里的一个input筐,所以要用表单指定的传输来POST 或GET。
说白了就是给PHP一个地址,让它知道哪些代码是按按钮之前的,哪些是按按钮之后的
我也刚学1个月,有不对的地方多多指点
你现在的代码什么样的,应该发出来看一下。
我就给你说几个关键的点吧
表单页,链接的你应该写对了,在get里加参数,post的,需要在form上加action,checkbox需要加name和value属性
<form action="lab06-post.php" method="post"><label><input type="checkbox" name="ids[]" value="1"/> 项目1</label><br />
<label><input type="checkbox" name="ids[]" value="2"/> 项目2</label><br />
<label><input type="checkbox" name="ids[]" value="3"/> 项目3</label><br />
<label><input type="checkbox" name="ids[]" value="4"/> 项目4</label><br />
<label><input type="checkbox" name="ids[]" value="5"/> 项目5</label>
...
<input type="submit" value="提交"/>
</form>
name用带方括号( [] )的,在服务器端接收的时候会接收到一个数组
$ids = $_POST['ids']if(empty($ids)){
echo "没有选择项目"
}else{
echo "选择了项目".implode(",",$ids)
}
以上仅为参考,你可以根据自己的需求情况调整,如果做数据库查询,最好做一下必要的过滤
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)