|
|
我以前用过一段时间SS5.0 因为2次登陆的问题 所以自己写了个提交页
现在SS5.5 和 5.0的发布应该都差不多吧 你自己或需要的朋友自己参考一下吧
其实有自己的服务器 完全可以使用直接入库的方式 虚拟主机只好使用在线发布了
- <?
- class dbstuff {
- var $querynum = 0;
- function connect($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0) {
- if($pconnect) {
- if(!@mysql_pconnect($dbhost, $dbuser, $dbpw)) {
- $this->halt('Can not connect to MySQL server');
- }
- } else {
- if(!@mysql_connect($dbhost, $dbuser, $dbpw)) {
- $this->halt('Can not connect to MySQL server');
- }
- }
- if($this->version() > '4.1') {
- global $charset, $dbcharset;
- if(!$dbcharset && in_array(strtolower($charset), array('gbk', 'big5', 'utf-8'))) {
- $dbcharset = str_replace('-', '', $charset);
- }
- if($dbcharset) {
- mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary");
- }
- if($this->version() > '5.0.1') {
- mysql_query("SET sql_mode=''");
- }
- }
- if($dbname) {
- mysql_select_db($dbname);
- }
- }
- function select_db($dbname) {
- return mysql_select_db($dbname);
- }
- function fetch_array($query, $result_type = MYSQL_ASSOC) {
- return mysql_fetch_array($query, $result_type);
- }
- function query($sql, $type = '') {
- global $debug, $discuz_starttime, $sqldebug;
- $func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query') ?
- 'mysql_unbuffered_query' : 'mysql_query';
- if(!($query = $func($sql)) && $type != 'SILENT') {
- $this->halt('MySQL Query Error', $sql);
- }
- $this->querynum++;
- return $query;
- }
- function affected_rows() {
- return mysql_affected_rows();
- }
- function error() {
- return mysql_error();
- }
- function errno() {
- return intval(mysql_errno());
- }
- function result($query, $row) {
- $query = @mysql_result($query, $row);
- return $query;
- }
- function num_rows($query) {
- $query = mysql_num_rows($query);
- return $query;
- }
- function num_fields($query) {
- return mysql_num_fields($query);
- }
- function free_result($query) {
- return mysql_free_result($query);
- }
- function insert_id() {
- $id = mysql_insert_id();
- return $id;
- }
- function fetch_row($query) {
- $query = mysql_fetch_row($query);
- return $query;
- }
- function fetch_fields($query) {
- return mysql_fetch_field($query);
- }
- function version() {
- return mysql_get_server_info();
- }
- function close() {
- return mysql_close();
- }
- function halt($message = '', $sql = '') {
- return "db halt";
- }
- }
- $dbhost = 'localhost'; // database server
- // 数据库服务器
- $dbuser = ''; // database username
- // 数据库用户名
- $dbpw = ''; // database password
- // 数据库密码
- $dbname = ''; // database name
- // 数据库名
- $adminemail = ''; // admin email
- // 论坛系统 Email
- $dbreport = 0; // send db error report? 1=yes
- // 是否发送数据库错误报告? 0=否, 1=是
- //上面其实就是dz里抄的代码
- $returnMessage = "";
- $db = new dbstuff;
- $db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
- unset($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
- if ($_POST['message'] && $_POST['subject'] && $_POST['catid']){
- $query = $db->query("SELECT subject FROM supe_spaceitems WHERE subject='".$_POST['subject']."'");
- if ($data = $db->fetch_array($query)) {
- $returnMessage = "重复采集";
- } else {
- //$_POST['message'] = strip_tags($_POST['message'],"<img>,<br>,<p>");
- $messageArray = explode("你定义的分页i符号",$_POST['message']);//5.0的分页和论坛的回复处理差不多。不知道5.5的分页处理是否还和5.0的一样。
- $catid = $_POST['catid'];
- $subject = $_POST['subject'];
- $from = $_POST['from']?$_POST['from']:"";
- $dateline = time();
- $uid = "";
-
- $query = $db->query("INSERT INTO supe_spaceitems (catid,subject,uid,type,dateline,lastpost) VALUES ('$catid','$subject','$uid','news','$dateline','$dateline')");
- $itemid = $db->insert_id();
- foreach ($messageArray as $newMessage) {
- $query = $db->query("INSERT INTO supe_spacenews (itemid,message,newsfrom) VALUES ('$itemid','$newMessage','$from')");
- }
- $returnMessage = "成功";
- }
- } else {
- $returnMessage = "信息不全";
- }
- setcookie("user", "test", time() + 3600);
- setcookie("password", "test", time() + 3600);
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <title>无标题文档</title>
- </head>
- <body>
- 欢迎您回来
- <?=$returnMessage?>
- </body>
- </html>
复制代码
代码存为任意文件名php文件放入任意目录 作为提交页即可 没有安全机制检查 自己小心使用
错误或成功返回的信息为$returnMessage (重复采集,信息不全,db halt,成功),你可以根据自己需要添加检测代码
不知道5.5的数据库变化大不大 自己可以参照官方的数据字典
$query = $db->query("INSERT INTO supe_spaceitems (catid,subject,uid,type,dateline,lastpost) VALUES ('$catid','$subject','$uid','news','$dateline','$dateline')");
$query = $db->query("INSERT INTO supe_spacenews (itemid,message,newsfrom) VALUES ('$itemid','$newMessage','$from')");
这2句是入库语句 其中涉及的字段可以参照官方的数据字典 和 你定义的火车头采集参数 修改
这是我以前采集的http://www.play528.com/club
http://www.play528.com/bt 和 http://www.play528.com/emule 也是用上面的采集代码改的
用了 5.5也未用过 请自己参考修改调试。
补充一句 : 栏目刷新页面可以使用网站地图页。如果需要全栏目,自己写个sql语句去读supe_categories
[ 本帖最后由 play528 于 2007-5-11 19:57 编辑 ] |
评分
-
1
查看全部评分
-
|