2012-08-13 33 views
0

即時通過$ _GET使用此腳本將用戶名添加到我的數據庫旁邊它到我的Twitter列表腳本功能好
用於examlpe當我叫它在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; 

    } 


    ?> 

回答

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 - 您只需在字段名稱中包含[]

+0

從來不知道我能做到這一點,什麼是分隔符?或者如果我有許多相同名稱的字段,如 ? – themis 2012-08-13 22:20:33

+0

同樣的問題如何將其戈納視爲數組?當您的表單中包含 LeoSam 2012-08-13 22:41:41

+0

] ]「/>'你的url將會是'form.php?name [] = value2&name [] = value2&name [] = value3' PHP然後自動使$ _GET ['name']成爲一個數組(用foreach循環或$ _GET ['name'] [0],$ _GET ['name'] [1]等 – 2012-08-13 22:48:01