php kullanarak bir forma başlığı kimlik koymak nasıl?

1 Cevap php

sayfa için ihtiyaçlarım (API tweetphp kullanarak) Twitter kullanarak oturum açma kimlik doğrulaması yapıyorum. Test amaçlı Ben başarılı bir giriş yapmak için aşağıdaki bu kodu kullanılır:

if (!isset($_SERVER['PHP_AUTH_USER'])){
    header('WWW-Authenticate: Basic realm="Enter your Twitter username and password:"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Please enter your Twitter username and password to view your followers.';
    exit();
}

$username = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW'];

Sorun şimdi, ben şimdiye kadar şu var, bir form içine entegre etmek istiyorum:

<form action="logincheck.php" method="post" class="niceform"  >
    <fieldset>
        <legend>Twitter Login:</legend>
        <dl>
            <dt><label for="email">Twitter Username:</label></dt>
            <dd><input type="text" name="username" id="username" size="32" maxlength="128" /></dd>
        </dl>
        <dl>
            <dt><label for="password">Password:</label></dt>
            <dd><input type="password" name="password" id="password" size="32" maxlength="32" /></dd>
        </dl>
    </fieldset>

    <fieldset class="action">
        <input type="submit" name="submit" id="submit" value="Submit" />

Ben takılıyorum düşünüyorum bu nerede, logincheck.php onu gönderiyorum. Ben Twitter'ın giriş verileri ile form verilerini karşılaştırmak için nasıl emin değilim. Ben ilk kodu (sayfa yüklenmeden önce açılan kutu) kullanıldığında deyimi gibi benzer çalışıyordu, ama ben etrafında başımı sarmak olamazdı. Tekrar teşekkürler çocuklar!

1 Cevap

Burada büyük bir öğretici bulunuyor:

Authenticating twitter api with php

Öğretici alıntı:

<?php

$username = "yourusername";
$password = "yourpassword";
$twitterHost = "http://twitter.com/favorites.xml";
$curl;

$curl = curl_init();

curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($curl, CURLOPT_URL, $twitterHost);

$result = curl_exec($curl);
curl_close($curl);

header('Content-Type: application/xml; charset=ISO-8859-1');

print $result;

?>