|
|
发表于 2007-5-26 09:17:14
|
显示全部楼层
首先表示一下歉意 因为大半年没用ss 我原来的是直接连接DZ的sql类库 后来发表时为了方便直接将该库代码合进去 但基础信细却未抄完 所以可能让有些朋友作了无用功
刚才看了管理员回复,还是决定重新整理一下 结果发现问题 予以刚正
- <?
- define('IN_DISCUZ', TRUE);
- //下面其实就是链接dz论坛的设置和类 具体位置你可能需要改一下(../bbs/ 即论坛目录需自己更改指定 ) ,这样做可以无需重新设定参数---调用DZ的,但如果你SS和DZ非同数据库 则需要单独设置
- require_once '../bbs/config.inc.php';
- require_once '../bbs/include/db_'.$database.'.class.php';
- $returnMessage = "";
- $db = new dbstuff;
- $db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
- unset($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
- if ($_POST['message'] && $_POST['subject'] && $_POST['catid']){
- $_POST['catid'] = trim($_POST['autocatid'])?trim($_POST['autocatid']):$_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("cutpage",$_POST['message']);
- $catid = $_POST['catid'];
- $subject = $_POST['subject'];
- $from = $_POST['from']?$_POST['from']:"";
- $dateline = $_POST['dateline']?$_POST['dateline']:time();
- $uid = $_POST['uid']?$_POST['uid']:"1";
- $newsauthor = $_POST['newsauthor']?$_POST['newsauthor']:"1";
-
- $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,newsauthor) VALUES ('$itemid','$newMessage','$from','$newsauthor')");
- }
- $returnMessage = "成功";
- }
- } else {
- $returnMessage = "信息不全";
- }
- setcookie("user", "admin", time() + 3600);
- setcookie("password", "111111", 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>ss5.0模拟提交</title>
- </head>
- <body>
- 这是欢迎信息:
- 欢迎您回来<br>
- 下面是页面栏目刷新部分
- <!--fenlei-->
- <?
- $query = $db->query("SELECT catid,name FROM supe_categories WHERE type='news' ORDER BY upid,displayorder");
- while ($data = $db->fetch_array($query)) {
- echo "ID:[$data[catid]]-[$data[name]] <br>\n";
- }
- ?>
- <!--/fenlei-->
- <?=$returnMessage?>
- </body>
- </html>
复制代码
这个页面作为模块的所有页面
存为任意文件名 在 任意目录下 (注意修改require_once '../bbs/config.inc.php';
require_once '../bbs/include/db_'.$database.'.class.php'; 论坛的相对路径)
如果因各种原因不想调用DZ设置 将下面代码
- require_once '../bbs/config.inc.php';
- require_once '../bbs/include/db_'.$database.'.class.php';
复制代码
换为下面代码
- $dbhost = 'localhost'; // database server
- // 数据库服务器
- $dbuser = '你的数据库管理员名'; // database username
- // 数据库用户名
- $dbpw = '管理员密码'; // database password
- // 数据库密码
- $dbname = 'SS数据库名字'; // database name
- // 数据库名
- $adminemail = 'admin@your.com'; // admin email
- // 论坛系统 Email
- $dbreport = 0; // send db error report? 1=yes
- // 是否发送数据库错误报告? 0=否, 1=是
- $pconnect = 0; // persistent database connection, 0=off, 1=on
- // 数据库持久连接 0=关闭, 1=打开
- $database = 'mysql'; // 'mysql' for MySQL version and 'pgsql' for PostgreSQL version
- // MySQL 版本请设置 'mysql', PgSQL 版本请设置 'pgsql'
- $charset = 'gbk'; // default character set, 'gbk', 'big5', 'utf-8' are available
- // 论坛默认字符集, 可选 'gbk', 'big5', 'utf-8'
- $dbcharset = ''; // default database character set, 'gbk', 'big5', 'utf8', 'latin1' and blank are available
- // MySQL 字符集, 可选 'gbk', 'big5', 'utf8', 'latin1', 留空为按照论坛字符集设定
- 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 "";
- }
- }
复制代码
页面写好了 下面介绍 写 模板 我没有采用上传现成的原因 主要是 这个页面出于安全原因 大家会自定义这个提交页名字 我只讲步骤好了
1----------------登陆
登陆页和来源页 都填写这个提交文件 比如 /plugins/SSadd.php
成功标志:欢迎您回来
不需要失败标志 因为不存在登陆检查
2---------------刷新列表设置
刷新页面和来源业 同上
页面区域
名称和ID规则
3------发表参数
发表和来源页 同上
POST数据
- message=[标签:内容]&subject=[标签:标题]&catid=[分类ID]&dateline=[标签:时间]&from=[标签:出处]&newsauthor=[标签:作者]
复制代码
失败标志:
信息不全
重复采集
成功标志:
成功
注意时间采集用---系统时间戳
4----保存为模板 |
评分
-
1
查看全部评分
-
|