如何从PHP页面获取内容?

时间:2015-12-27 09:55:46

标签: php

我想从EXTERNAL网页上获取内容。这意味着它不是我的网页,我没有POST中发送的确切字段的详细信息(如果我检查源代码,我可以看到隐藏的字段吗?)或返回的响应。 例如,我有http://example.com将userid(通过文本框)作为输入,当按下提交时,它会在另一个页面(http://example.com/details.php)中显示输入的用户ID的详细信息。 我想从这个PHP页面获取内容。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

检查HTML page you mentioned

中的表单元素
<form name="new" action="vitavi.php" method="POST">
  <p>Enter the University Seat No: 
    <input name="rid" size="20" maxlength="50" type="TEXT">
    <input name="submit" value="SUBMIT" type="SUBMIT" align="middle">
    ... cut for brevity ...
</form>

表单描述了HTTP请求,例如它描述了您提交表单时浏览器将发送到服务器的请求。在这种情况下,将创建具有HTTP方法POST的HTTP请求。 POST主体将包含一个名为rid的参数,其中包含您在表单中输入的值。

从我的浏览器提交表单时,会创建此请求:

POST /vitavi.php HTTP/1.1
Host: results.vtu.ac.in
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://results.vtu.ac.in/
Connection: keep-alive

POST主体包含:

rid=42&submit=SUBMIT

只要网页上没有 CSRF保护(并且没有),您就可以从任何地方创建此请求,包括PHP。您只需要一些工具或功能来创建一个HTTP请求,例如: file_get_contentscurl或像Guzzle这样的库等。由于您之后想要解析结果,我建议直接使用DOM。

如需进一步参考,请检查

答案 1 :(得分:0)

你可以这样做:

提交表单后,使用标题位置重定向到详细信息页面上的id参数。

<?php
header('Location: http://example.com/details.php?id='.$userid);
?>

现在在details.php文件中,您可以使用下面的代码来获取数据库中的id和fetch记录。

<?php
$id = $_REQUEST['id'];

$sql = "SELECT * FROM table_name WHERE id = '".$id."'";

$result = mysql_query(); if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit; }

$row = mysql_fetch_row($result);

echo $row[0]; // 42 echo $row[1]; // the email value ... .. etc
?>

如果您需要帮助,请告诉我们! 感谢