php – 制作子网和回发跟踪工作
我正在用Php编写一个Bounty脚本. (奖励脚本),使用Prosper202的开源代码.Trying用Subids和Postbacks跟踪潜在客户.我无法让这些东西工作.
例. 我想在url的末尾添加唯一ID. 这里唯一ID需要至少随机生成15分钟,需要存储在Mysql数据库中. 成功的第三方服务器以格式发送回发时. http://watever.com/c3={unique_id} 然后我们需要实时比较两者. (这需要尽可能快,以避免延迟最终用户.) 在这个案例中我们应该使用什么? 用于Postback或php的JavaScript? 以及如何在php脚本中操作回发. 如我所说.此Script Prosper202也具有跟踪回发的相同功能. 资源: – http://prosper.tracking202.com/apps/ http://prosper.tracking202.com/forum/6/21/tracking-subids#7848 解决方法
这是你需要做的:
1)使用以下字段在MySQL中创建事务表: TRANSACTIONS ############ id - INT,AUTO-INCREMENT,UNSIGNED,NOT NULL transaction_id - VARCHAR(8) created_on - TIMESTAMP,DEFAULT CURRENT_TIMESTAMP() 2)使用以下字段在MySQL中创建转换表: CONVERSIONS ########### id - INT,DEFAULT CURRENT_TIMESTAMP() 3)在您的代码中,在将它们发送到URL之前,您需要生成并附加唯一的事务ID(a.k.a Sub ID): /** * Generates [$length] character transaction ID's. Verifies transaction ID is not * currently in use. If it is,function recursively attempts to generate * a unique one. After 10 attempts,it fails and returns false. * * @param PDO Database connection via dependency injection * @param Int Length of string to generate */ function generateTransactionId($db,$length = 8) { // Don't let this function get stuck in endless recursion. static $recursion_count = 0; $recursion_count++; if($recursion_count > 10) { $recursion_count = 0; return false; } // Create transaction ID $transaction_id = substr(md5(uniqid(mt_rand(),true)),$length); // Check to make sure it is unique $query = "SELECT id FROM myDb.transactions WHERE transaction_id = ?"; $stmt = $db->prepare($query); $stmt->execute(array($transaction_id)); $row = $stmt->fetch(PDO::FETCH_OBJ); $stmt = null; // If nothing found,we have a unique ID. Otherwise recursively find a unique one. if(!is_object($row) || $row == false) { // Reset recursion counter $recursion_count = 0; // Found unique ID return $transaction_id; } else { // Recursively generate unique transaction ID return generateTransactionId($db); } } $url = "http://www.google.com/"; $transaction_id = generateTransactionId($myPDOConnection); // Add to URL $url = $url . "?c3=" . $transaction_id; // Do redirect to URL header('Location: ' . $url); 4)在另一个用于接收回发的脚本中,您将希望通过GET获取子ID /交易ID(如果您愿意,可以使用POST)并标记转换: $transaction_id = isset($_GET['c3']) ? trim($_GET['c3']) : false; if($transaction_id) { // Received conversion,add this transaction ID to conversions table } 就实时比较而言,您可以访问的唯一指标是重定向之前的时间点以及收到回发的时间点.您可以通过检查事务表中的COUNT()来查看已完成的重定向次数.您可以通过查看转化表中的COUNT()来查看收到的回复/转化次数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |