0

$_GET を介してこのスクリプトを使用して、Twitter リストの横にあるデータベースにユーザー名を追加します
。たとえば、URL domain.com/add.php?user=username で呼び出した場合のスクリプト関数は、100% 実行された追加関数です。細かい
私の疑問は、コードを調整して、配列を介して一度に複数のユーザーを追加するか、ファイルからユーザーのリストを取得するか、コードを調整または変更するためのヒントですか?

 <?php
session_start();

 require_once('dbconnect.php');
  require_once('twitteroauth/twitteroauth.php');
   require_once('config.php');

   $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET,TOKEN_KEY, TOKEN_SECRET);

   $user = $_GET['user'];

 if( !isset( $_GET['user'] ) )
die('You must enter a username');


   $info = $connection->get( 'users/show', array("screen_name"=> $user
                                  ));   
$var = $_GET['user'];



 $individual = 1;

 $protected = ($info->protected == "true")?1:0;

$query = sprintf("INSERT INTO tweeps VALUES('%s', '%s', %s, %s, '%s', '%s', '%s', %s ) ",
mysql_real_escape_string($info->screen_name),
mysql_real_escape_string($info->name),
$info->followers_count,
$info->statuses_count,
mysql_real_escape_string($info->location),
$info->created_at,
$info->profile_image_url,
$protected)    ;


  echo $query;      

$result = mysql_query($query); 
if(false) 
 echo "s";

 else {

$list_id = get_latest_list();
$list = "Tweeps-" . $list_id;

    echo "list $list";

mysql_free_result($result);
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, TOKEN_KEY, TOKEN_SECRET);

$result = $connection->post( 'friendships/create/' .  $info->screen_name    );  
//var_dump($result); die();
    $result = $connection->post( 'lists/members/create', array("screen_name"=>   $info->screen_name,
                                   "slug"=> $list,
                                       "owner_screen_name"=>  "Tweeps")  ); 

if( !isset($result->error) ) {

    $userid = $info->id;
    $result = mysql_query("INSERT INTO followed_tweeps(screenname, userid, individual, list_id) VALUES('" . $info->screen_name . "', '" . $userid . "', $individual, $list_id)");       

}

 }
    echo "SUCCESS";





  function get_latest_list() {

$query = "SELECT count(*) cnt, list_id FROM followed_tweeps group by list_id order by  list_id desc";

$result = mysql_query($query);

if(! $result ) {
    die("Error: query is $query error is: " . mysql_error() );
}

$row = mysql_fetch_row($result);

    $cnt = $row[0];
    $free_slots = 500 - $cnt;   
    $list_id = ($freeslots > 0) ? $row[1]++ : $row[1];
    return $list_id;

  }


  ?>
4

1 に答える 1

6

PHP は、複数の同じ名前のクエリ パラメータの配列表記をサポートしています。

<input type="text" name="name[]" />
                             ^^--- tells PHP to treat 'name' as an array

これを次のように処理できます。

if (isset($_GET['name']) && isarray($_GET['name'])) {
   foreach ($_GET['name'] as $name) {
      ...
   }
}

これは、POST と GET の両方に関係なく機能します[]。フィールド名に を含めるだけです。

于 2012-08-13T22:18:23.990 に答える