2011-06-10 240 views
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> 
+0

更加具体 – 2011-06-10 18:04:16

+0

我想张贴到我的应用程序的用户的FB墙。 – 2011-06-10 18:05:45

回答

0

确保脚本提示输入publish_stream扩展权限的用户。你可以通过点击Facebook按钮,登录来判断它是否有效,并且应该说应用程序需要许可才能在你的墙上写信。如果用户没有授权,或者您没有要求执行此操作的权限,则请求将失败。

相关问题