2

データベースから現在の情報を取得する単純な Facebook ページ タブを作成しようとしています。クロスサイト スクリプティングが機能しないことをすぐに知りました。実際の Web サイトで動作するデモはうまく機能しましたが、heroku では結果が得られませんでした。

これが私が今herokuに持っているものです。結果を返す前にcurlにページを処理させるにはどうすればよいですか?

<?php
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, 'http://www.url.com/output.html');

$result = curl_exec ($curl);
curl_close ($curl);

print $result;
?>

私のウェブサーバーにあるフォーマットされた XML を作成するページは次のとおりです。

<?php
require_once('connectDB.php');
$xslt_file = "xmlstyle.xsl";

mysql_select_db($database_DB, $db);

$query = sprintf("SELECT * from db");
$result = mysql_query($query, $db) or die(mysql_error());

header("Content-type: text/xml");
$XML = "<?xml version=\"1.0\"?>\n";
if ($xslt_file) $XML .= "<?xml-stylesheet href=\"$xslt_file\" type=\"text/xsl\" ?>";

// root node
$XML .= "<result>\n";
// rows
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {    
  $XML .= "\t<row>\n"; 
  $i = 0;
  // cells
  foreach ($row as $cell) {
    // Escaping illegal characters - not tested actually ;)
    $cell = str_replace("&", "&amp;", $cell);
    $cell = str_replace("<", "&lt;", $cell);
    $cell = str_replace(">", "&gt;", $cell);
    $cell = str_replace("\"", "&quot;", $cell);
    $col_name = mysql_field_name($result,$i);
    // creates the "<tag>contents</tag>" representing the column
    $XML .= "\t\t<" . $col_name . ">" . $cell . "</" . $col_name . ">\n";
    $i++;
  }
  $XML .= "\t</row>\n"; 
 }
$XML .= "</result>\n";
// output the whole XML string
echo $XML;
?>

私はこの全体を複雑にしすぎていると確信していますが、それを機能させようとするのはいくらか楽しいものでした. 同じ結果を得るもっと簡単な方法があれば、私はすべて耳にします。前もって感謝します。

4

1 に答える 1

0

RETURNTRANSFER オプションを使用します。

//Set curl to return the page instead of sending it to the browser
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

参考文献

于 2013-03-06T05:41:28.987 に答える