-1

尝试访问其他变量时出现错误。在search_server.php我尝试获取$pilihdomain在我尝试中定义的变量时index.php

 //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
        global $pilihdomain;
        $pilihdomain=$_POST['cmake'];
            ?>
            <button id="search_button">Search</button>
            </div>  

            <div id="search_results_loader"></div>
            <table border="1">
          <tr>
            <th>Positif</th>
            <th>Negatif</th>
          </tr>
          <tr>
            <td><div id="search_results_pos"></div></td>
            <td><div id="search_results_neg"></div></td>
          </tr>
        </table>
        </body>

//search_server.php

    <?php 
    require 'index.php';
global $pilihdomain;
    // The search terms are passed in the q parameter
    // search_server.php?q=[search terms]
    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');         

        // 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' => 5,
                    '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;

            //  global $pilihdomain;
                $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
    }   

    ?>

search_client.js

// jQuery script for search request with server
jQuery(document).ready(function($) {

    // Run when Search button is clicked
    $('#search_button').click(function(){

        // Display a progress indicator
        $('#search_results_loader').html('<img src="ajax_loader.gif"> Searching Twitter...');

        // Get the value of the input field
        // Encode it for use in a URL
        var search_value = encodeURIComponent($('input[name=search_terms]').val());

        // Send the search terms to the server in an Ajax request
        // This URL is for illustration only
        // You MUST change it to your server
        $.ajax({
            url: 'http://localhost/kejar/code/search_server.php?q=' + search_value,
            success: function(data){

                // Display the results
                $('#search_results_loader').html('');
                $('#search_results_pos').html(data);
                $('#search_results_neg').html(data);
            }
        })
    })
});

你能解释一下我的假在哪里吗?

任何帮助将不胜感激。谢谢 :)

4

2 回答 2

1

首先不要使用 GLOBAL

从两个脚本中删除全局语句并使用下面的代码,并检查此变量是否未在其他脚本中使用。

索引.php

<?php
//global $pilihdomain;
$pilihdomain=$_POST['cmake'];

搜索服务器.php

<?php 
require 'index.php';
//global $pilihdomain;
...
$resp = $uclassify->classify($tweet['text'],$pilihdomain, 'herlambangp');

编辑

在这里你只发送GET变量q

url: 'http://localhost/kejar/code/search_server.php?q=' + search_value

并因此$_POST['cmake']不可用。

于 2013-06-07T05:28:36.310 回答
1

首先,摆脱所有这些global $pilihdomain;陈述。

其次,$_POST['cmake']在此处执行 GET 请求时不会填充:

$.ajax({
     url: 'http://localhost/kejar/code/search_server.php?q=' + search_value,
     ...
});

事实上,只有$_GET['q']会被填充。

于 2013-06-07T06:30:35.267 回答