0

codecanyon で FB スクリプトを購入しました。このスクリプトを使用すると、ユーザーは Facebook ボタンを使用して自分のサイトにログインできます。アプリを作成しましたが、ログイン部分は正常に機能しています。問題は、このスクリプトが、アプリのユーザーの FB ウォールに投稿できるようにすることも想定していたことです。その部分は機能しません。これを解決するのを手伝ってください。

ユーザーにメールを送信できますが、明らかにこの男は FB 投稿部分を追加するのを忘れていました。これがスクリプトです。

 /*
 * Created by Ryan Davies, All rights reserved
 * http://www.rnrit.co.uk
 * Date: Sep 3, 2010
 * Time: 12:23:10 PM
 */
ob_start();
session_start(); 
$output = "";

// include required files
require "../includes/config.php";
require "../includes/database.php";
require "../includes/facebook.php";
require "../includes/language.php";

// check for logged in user
if(isLoggedIn() != "true" || $_SESSION['userType'] != "admin") {
header('Location: login.php');
die();
}

// check for delete user
if(isset($_POST['delID'])) {
$del = new database();
$del->connect();
$where = "id = '" . $_POST['delID'] . "'";
$del->select('username','users',$where);
$result = $del->getResult();
$del->delete('users',$where);
$output = '<div class="ok"><img src="../images/tickbig.png" alt="OK" title="OK"    class="float_outside_error"><p>'.outputLan("userAdminPage","user deleted").'</p><script   type="text/javascript">hideError();</script></div>';
// delete profile page
unlink('../users/'.$result['username'].'.php');
}


// email all users
if(isset($_POST['emPost'])) {

$errors = 0;

// check input
if($_POST['subject'] == "") { $errors = 1; $output .= '<li>You must enter a     subject</li>'; }    
if($_POST['from'] == "") { $errors = 1; $output .= '<li>You must enter an email address</li>'; }    
if($_POST['reply'] == "") { $errors = 1; $output .= '<li>You must enter a reply to address</li>'; } 
if($_POST['message'] == "") { $errors = 1; $output .= '<li>You must enter a message</li>'; }    

// check for errors before sending
if($errors == 0) {
// all ok, send message
$message = $_POST['message'];
$message = str_replace("\n.", "\n..", $message);
    $subject = $_POST['subject'];
    $sender =  $_POST['from'];
$reply = $_POST['reply'];
    $headers = 'From: ' . $sender . "\r\n" .
            'Reply-To: ' . $reply . "\r\n" .
            'X-Mailer: PHP/' . phpversion();

// loop through users
$db = new database();
$db->connect();
$where = "contact = 'yes'";
$db->select('*','users');
$result = $db->getResult();
$rows = $db->getRows();
for($i = 0; $i < $rows; $i ++ ) {

    $to = $result[$i]['email'];
    $name = $result[$i]['name'];

    $Nmessage = "";
    $Nmessage = "Dear " . $name . "\n\n" . $message;

if(mail($to, $subject, $Nmessage, $headers)) {
    // message sent
    $output .= '<li>'.outputLan("userAdminPage","email sent") . $to . '</li>';
} else {
    // error
    $errors = 1;
    $output .= '<li>'. outputLan("userAdminPage","email problem") . $to .     '</li>';
}

} // end of loop

if($errors == 0) {
    $output = '<div class="ok"><img src="../images/tickbig.png" alt="Ok"   title="Ok" class="float_outside_error"><ul>'.$output.'</ul><script   type="text/javascript">hideError();</script></div>';
} else {
    $output = '<div class="error"><img src="../images/crossBig.png" alt="Error"   title="Error" class="float_outside_error"><ul>'.$output.'</ul><script  type="text/javascript">hideError();</script></div>';
}

} else {
    $output = '<div class="error"><img src="../images/crossBig.png" alt="Error"  title="Error" class="float_outside_error"><ul>'.$output.'</ul><script type="text/javascript">hideError();</script></div>';
}
} // end of emPost

フォームはこちら

    <div id="fb_post">
    <h2><img src="../images/facebook.png" alt="fb" title="<?php echo   outputLan("userAdminPage","fb image title"); ?>"><?php echo outputLan("userAdminPage","fb  post"); ?></h2>
     <p><?php echo outputLan("userAdminPage","fb blurb"); ?></p>

    <form method="post" action="useradmin.php">

        <label for="title"><?php echo outputLan("userAdminPage","post  title"); ?></label>
        <input type="text" name="title" id="title" class="input_field" size="110">

        <label for="name"><?php echo outputLan("userAdminPage","post name"); ?></label>
        <input type="text" name="name" id="name" class="input_field" size="110">

        <label for="caption"><?php echo outputLan("userAdminPage","post caption"); ?></label>
        <input type="text" name="caption" id="caption" class="input_field" size="110">

        <label for="desc"><?php echo outputLan("userAdminPage","post body"); ?></label>
        <textarea name="desc" id="desc" class="input_field" cols="110" rows="5"></textarea>

        <label for="image"><?php echo outputLan("userAdminPage","post image"); ?></label>
        <input type="text" name="image" id="image" class="input_field" size="110">

        <label for="url"><?php echo outputLan("userAdminPage","post url"); ?></label>
        <input type="text" name="url" id="url" class="input_field" size="110">

        <input type="submit" name="fbPost" id="fbPost" value="<?php echo  outputLan("userAdminPage","post submit"); ?>" class="input_field submit">

    </form>
</div>
4

1 に答える 1

0

スクリプトがユーザーに publish_stream 拡張アクセス許可を要求していることを確認してください。Facebookボタンをクリックしてログインすると、アプリがウォールに書き込む許可が必要であることが表示されます。ユーザーがこれを承認していない場合、またはこれを行う許可を求めていない場合、要求は失敗します。

于 2011-06-16T23:04:52.997 に答える