0

index.php と search_server.php の 2 つの php ファイルがあります。index.php から $pilihdomain にアクセスし、それを search_server.php の次の行で使用する必要があります。$resp = $uclassify->classify($tweet['text'], $pilihdomain, 'herlambangp');

先日、require ang グローバル変数を使用しましたが、間違っているようです。前もって感謝します。

//index.php

<head>
    <title>Twitter Search</title>
    <link href="search_client.css" type="text/css" rel="stylesheet" />
    <link href="tweet.css" type="text/css" rel="stylesheet" />
    <script src="jquery.min.js"></script>
    <script src="search_client.js"></script>
</head>
<body>
    <div id="search_box">
    <h1>Twitter Search</h1>
    <input name="search_terms" autofocus="autofocus"/>      
<?php 
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "";
$dbname = "skripsi";
$db = mysql_connect($dbHost,$dbUser,$dbPass);
mysql_select_db($dbname,$db);
$sql = mysql_query("SELECT * FROM namaklasifier");
while($row = mysql_fetch_array($sql)) {
    $clsfr = $row['username'];
    $sql = mysql_query("SELECT * FROM namaklasifier");
        echo '<select name="cmake" autofocus width="10">';
        echo '<option value="0">-Pilih Domain Klasifikasi-</option>';
        while($row = mysql_fetch_array($sql)) {
            echo '<option ' . ($clsfr==$row['username']) . ' value="'.$row['username'].'">'.$row['username'].'</option>'; 
    }
    echo '</select>';
}
?>
    <?php
$pilihdomain=$_POST['cmake'];
    ?>

//search_server.php

<?php 
if (!empty($_GET['q'])) {

    // Remove any hack attempts from input data
    $search_terms = htmlspecialchars($_GET['q']).' -smartfrencare -siapkan -klaim';

    // Get the application OAuth tokens
    require 'app_tokens.php';
    require_once("uClassify.php");
    $uclassify = new uClassify();
    // Set these values here
    $uclassify->setReadApiKey('8DvvfxwKPdvjgRSrtsTSOawmQ0');
    $uclassify->setWriteApiKey('v4Us59yQFhf9Z0nGrQsrTtzBI5k');
//   global $nilainet;
//   global $nilaineg;
//   global $nilaipos;

    // Create an OAuth connection
    require 'tmhOAuth.php';

    $connection = new tmhOAuth(array(
      'consumer_key'    => $consumer_key,
      'consumer_secret' => $consumer_secret,
      'user_token'      => $user_token,
      'user_secret'     => $user_secret
    ));

    // Request the most recent 100 matching tweets
    $http_code = $connection->request('GET',$connection->url('1.1/search/tweets'), 
            array('q' => $search_terms,
                'count' => 50,
                'lang' => 'in',
                'locale' => 'jakarta',
                'type' => 'recent'));

    // Search was successful
    if ($http_code == 200) {

        // Extract the tweets from the API response
        $response = json_decode($connection->response['response'],true);
        $tweet_data = $response['statuses']; 

        // Load the template for tweet display
        $tweet_template= file_get_contents('tweet_template.html');

        // Load the library of tweet display functions
        require 'display_lib.php';  

        // Create a stream of formatted tweets as HTML
        $tweet_stream = '';
        foreach($tweet_data as $tweet) {

            // Ignore any retweets
            if (isset($tweet['retweeted_status'])) {
                continue;
            }
            // Get a fresh copy of the tweet template
            $tweet_html = $tweet_template;


            $resp = $uclassify->classify($tweet['text'], $pilihdomain, 'herlambangp');              
            $value = print_r($resp,true) ;          
            // Insert this tweet into the html
            $tweet_html = str_replace('[screen_name]',$tweet['user']['screen_name'],$tweet_html);
            $tweet_html = str_replace('[name]', $tweet['user']['name'],$tweet_html);        
            $tweet_html = str_replace('[profile_image_url]',$tweet['user']['profile_image_url'],$tweet_html);
            $tweet_html = str_replace('[tweet_id]', $tweet['id'],$tweet_html);
            $tweet_html = str_replace('[tweet_text]',linkify($tweet['text']),$tweet_html);
            $tweet_html = str_replace('[tweet_class]',$value,$tweet_html);
            $tweet_html = str_replace('[created_at]',twitter_time($tweet['created_at']),$tweet_html);
            $tweet_html = str_replace('[retweet_count]',$tweet['retweet_count'],$tweet_html);           

            // Add the HTML for this tweet to the stream
            $tweet_stream .= $tweet_html;
        }

        // Pass the tweets HTML back to the Ajax request
        print $tweet_stream;

    // Handle errors from API request
    } else {
        if ($http_code == 429) {
            print 'Error: Twitter API rate limit reached';
        } else {
            print 'Error: Twitter was not able to process that search';
        }
    }

} else {
    //not implement anything
}   

?>
4

2 に答える 2

2

サイトでグローバルに必要な変数を含む外部の「構成」または「設定」ファイルが必要です。次に、それらの構成設定が必要なすべてのページにその外部ファイルを含めます。

pilihdomain に加えて、db 設定をこのファイルに入れました。これらの設定を必要とするすべてのスクリプトでそれらを再定義するのではなく、これらの共有設定を実際に作成する必要があるためです。

設定.php

<?php
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "";
$dbname = "skripsi";
$pilihdomain = isset($_POST['cmake']) ? $_POST['cmake'] : '';

index.php

<?php require_once('settings.php'); ?>
<head>
    <title>Twitter Search</title>
    <link href="search_client.css" type="text/css" rel="stylesheet" />
    <link href="tweet.css" type="text/css" rel="stylesheet" />
    <script src="jquery.min.js"></script>
    <script src="search_client.js"></script>
</head>
<body>
    <div id="search_box">
    <h1>Twitter Search</h1>
    <input name="search_terms" autofocus="autofocus"/>      
<?php 
$db = mysql_connect($dbHost,$dbUser,$dbPass);
mysql_select_db($dbname,$db);
$sql = mysql_query("SELECT * FROM namaklasifier");
while($row = mysql_fetch_array($sql)) {
    $clsfr = $row['username'];
    $sql = mysql_query("SELECT * FROM namaklasifier");
        echo '<select name="cmake" autofocus width="10">';
        echo '<option value="0">-Pilih Domain Klasifikasi-</option>';
        while($row = mysql_fetch_array($sql)) {
            echo '<option ' . ($clsfr==$row['username']) . ' value="'.$row['username'].'">'.$row['username'].'</option>'; 
    }
    echo '</select>';
}
?>

search_server.php

<?php require_once('settings.php'); ?>
<?php 
if (!empty($_GET['q'])) {

    // Remove any hack attempts from input data
    $search_terms = htmlspecialchars($_GET['q']).' -smartfrencare -siapkan -klaim';

    // Get the application OAuth tokens
    require 'app_tokens.php';
    require_once("uClassify.php");
    $uclassify = new uClassify();
    // Set these values here
    $uclassify->setReadApiKey('8DvvfxwKPdvjgRSrtsTSOawmQ0');
    $uclassify->setWriteApiKey('v4Us59yQFhf9Z0nGrQsrTtzBI5k');
//   global $nilainet;
//   global $nilaineg;
//   global $nilaipos;

    // Create an OAuth connection
    require 'tmhOAuth.php';

    $connection = new tmhOAuth(array(
      'consumer_key'    => $consumer_key,
      'consumer_secret' => $consumer_secret,
      'user_token'      => $user_token,
      'user_secret'     => $user_secret
    ));

    // Request the most recent 100 matching tweets
    $http_code = $connection->request('GET',$connection->url('1.1/search/tweets'), 
            array('q' => $search_terms,
                'count' => 50,
                'lang' => 'in',
                'locale' => 'jakarta',
                'type' => 'recent'));

    // Search was successful
    if ($http_code == 200) {

        // Extract the tweets from the API response
        $response = json_decode($connection->response['response'],true);
        $tweet_data = $response['statuses']; 

        // Load the template for tweet display
        $tweet_template= file_get_contents('tweet_template.html');

        // Load the library of tweet display functions
        require 'display_lib.php';  

        // Create a stream of formatted tweets as HTML
        $tweet_stream = '';
        foreach($tweet_data as $tweet) {

            // Ignore any retweets
            if (isset($tweet['retweeted_status'])) {
                continue;
            }
            // Get a fresh copy of the tweet template
            $tweet_html = $tweet_template;


            $resp = $uclassify->classify($tweet['text'], $pilihdomain, 'herlambangp');              
            $value = print_r($resp,true) ;          
            // Insert this tweet into the html
            $tweet_html = str_replace('[screen_name]',$tweet['user']['screen_name'],$tweet_html);
            $tweet_html = str_replace('[name]', $tweet['user']['name'],$tweet_html);        
            $tweet_html = str_replace('[profile_image_url]',$tweet['user']['profile_image_url'],$tweet_html);
            $tweet_html = str_replace('[tweet_id]', $tweet['id'],$tweet_html);
            $tweet_html = str_replace('[tweet_text]',linkify($tweet['text']),$tweet_html);
            $tweet_html = str_replace('[tweet_class]',$value,$tweet_html);
            $tweet_html = str_replace('[created_at]',twitter_time($tweet['created_at']),$tweet_html);
            $tweet_html = str_replace('[retweet_count]',$tweet['retweet_count'],$tweet_html);           

            // Add the HTML for this tweet to the stream
            $tweet_stream .= $tweet_html;
        }

        // Pass the tweets HTML back to the Ajax request
        print $tweet_stream;

    // Handle errors from API request
    } else {
        if ($http_code == 429) {
            print 'Error: Twitter API rate limit reached';
        } else {
            print 'Error: Twitter was not able to process that search';
        }
    }

} else {
    //not implement anything
}   

?>
于 2013-06-12T00:35:38.563 に答える