Php içinde değişkenleri kullanarak Twitter API Hata DEFINE

3 Cevap php

Ben twitter kimlik için bir kullanıcı adı ve şifre değişken geçmesine çalışıyorum ama ben doğrulanmış değilim ki dönen tutar. Ben değişkenlerin yerine gerçek adı ve şifre kullanmak Ancak, bu başarıyla yetkisi.

$username = $_POST["username"];
$password = $_POST["password"];

$url = "http://search.twitter.com/search.atom?q=golf&show_user=true&rpp=100";
$search = file_get_contents($url);

$regex_name = '/\<name\>(.+?) \(/';
preg_match_all($regex_name,$search,$user);
for($i=0;$user[1][$i];$i++)
{
$follow = $user[1][$i];
    define('TWITTER_CREDENTIALS', '$username:$password');
    $url = "http://twitter.com/friendships/create/".$follow.".xml";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_USERPWD, TWITTER_CREDENTIALS);
    $result= curl_exec ($ch);
    curl_close ($ch);

Ben kullanıcı adı ve şifre arasında kolon ile ilgili bir şey var düşünme, ya da belki de işlevini tanımlamak içindeki değişkenler kullanmaya çalışıyorum.

Herhangi bir ipucu?

3 Cevap

$username = $_POST["username"];
$password = $_POST["password"];
// INCORRECT. Will literary assign TWITTER_CREDENTIALS as $username:$password
// define('TWITTER_CREDENTIALS', '$username:$password');

// CORRECT, will parse the variables and assign the result to TWITTER_CREDENTIALS
define('TWITTER_CREDENTIALS', "$username:$password");

Dize değişkenleri ayrıştırmak çift tırnak (") ile dizeleri Unutmayın, tek tırnak (') ile dizeleri yok.

PHP dizeleri hakkında daha fazla bilgi:

bunun tek tırnak yerine çift tırnak kullanarak yapmak için bir şey vardır.

Eğer sadece bir kez e sabitini tanımlamak çünkü bir döngü içinde tanımlamak kullanıyorsanız, bu işe yaramayacak.