Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] discuz插件 表单提交不成功,

[复制链接]
风清扬丶 发表于 2013-5-25 21:35:33 | 显示全部楼层 |阅读模式
在插件页面,提交表单页面,点击提交后,跳转回本页面,数据库也没有增加数据,请问是哪里错了,求教,谢谢

htm代码:
<form action="plugin.php?id=challenge:challenge" method="post" name="myform" align="center">
  <b>挑战者</b>:<input type="text" size="10" name="user" align="center"/><br>
  <b>战书名字</b>:<input type="text" name="title" align="center"/><br/>
  填写勾起对手战意的内容吧:<br><textarea name="content"  cols="60" rows="9" align="center"></textarea><br/>

  <input type="submit" name="submit" value="下战书" align="center"/>
</form>


inc.php代码
if($_POST['submit'])
{
   $query=DB::query("INSERT INTO ".DB::table('challenge')."(id,uid,usernazme,title,content,lasttime)
        VALUES ('','$_G[uid]','$_G[username]',".intval($_POST[title]).",".intval($_POST[content]).",now())");
        showmessage('发表成功',NULL);
}


插件地址:http://www.diqichengshi.com/plugin.php?id=challenge&mod=add_challenge


1314学习网 发表于 2013-5-25 22:00:07 | 显示全部楼层
你不觉得贴的代码太少了
其实我之前就想说的,你看下边:
  1. intval($_POST[title]).",".intval($_POST[content]).
复制代码
你好好的把标题和内容取整,这是很牛X的操作
回复

使用道具 举报

 楼主| 风清扬丶 发表于 2013-5-25 22:23:04 | 显示全部楼层
1314学习网 发表于 2013-5-25 22:00
你不觉得贴的代码太少了
其实我之前就想说的,你看下边:你好好的把标题和内容取整,这是很牛X的操作

  改过来了  这个操作确实很牛X ,
这个是 HTM代码:
{subtemplate common/header}

<link type="text/css" rel="stylesheet" href="source/plugin/down_love/template/extend_common.css" />

<div id="ct" class="wp cl"><!--定义页面导航       -->
  <div class="mn">
    <div class="bm">
      <ul class="tb cl">
        <li<!--{if empty($_GET[mod])}--> class="current"<!--{/if}-->><a href="plugin.php?id=challenge">查看战书</a></li>
        <li<!--{if $_GET[mod] == 'add_challenge'}--> class="current"<!--{/if}-->><a href="plugin.php?id=challenge&mod=add_challenge">下战书</a></li>
                <li<!--{if $_GET[mod] == 'ask_challenge'}--> class="current"<!--{/if}-->><a href="plugin.php?id=challenge&mod=first_challenge">勇士排行</a></li>
      </ul>

<!--{if empty($_GET[mod])}-->
<div class="content" style="background:url(source/plugin/challenge/template/images/zhanshu.jpg);height: 550px;width: 950px;">

  <!--{loop $row $challenge}-->
        <table width=600px height="550px" border="1" cellpadding="5" cellspacing="1" bgcolor="#add3ef">
                <tr bgcolor="#eff3ff">
                <td>战书:$challenge[title] 挑战者:$challenge[username]</td>
                </tr>
                <tr bgColor="#ffffff">
                <td>内容:$challenge[content]</td>
                </tr>
        </table>
  <!--{/loop}-->   
  <!--{if !empty($multipage)}-->
  <table>
                <tr>
                        <td>$multipage</td>
                </tr>

  <!--{else}-->
  <tr>
    <td colspan="5" align="center">{lang moodwall:moodwall_htm_44}</td>
  </tr>
  </table>
  <!--{/if}-->

  </div>

<!--{elseif $_GET[mod] == 'add_challenge'}-->

<SCRIPT language=javascript>
function CheckPost()
{
        if (myform.user.value=="")
        {
                alert("请填写用户名");
                myform.user.focus();
                return false;
        }
        if (myform.title.value.length<5)
        {
                alert("标题不能少于5个字符");
                myform.title.focus();
                return false;
        }
        if (myform.content.value=="")
       
                alert("必须要填写留言内容");
                myform.content.focus();
                return false;
        }
}
</SCRIPT>
<form action="plugin.php?id=challenge:challenge" method="post" name="myform" align="center">
  <b>挑战者</b>:<input type="text" size="10" name="user" align="center"/><br>
  <b>战书名字</b>:<input type="text" name="title" align="center"/><br/>
  填写勾起对手战意的内容吧:<br><textarea name="content"  cols="60" rows="9" align="center"></textarea><br/>

  <input type="submit" name="submit" value="下战书" align="center"/>
</form>

</div>
</div>
</div>
<!--{/if}-->

{subtemplate common/footer}


inc.php代码:

<?php

if(!defined('IN_DISCUZ')){
        exit('Access Denied');
}       

if(empty($_G['uid']))
{
        showmessage('抱歉,为了保障网站的良好运行 和会员的权益,请注册后再使用本功能,为您带来的不便深表歉意','member.php?mod=register');
}

if($_POST['submit'])
{
   $query=DB::query("INSERT INTO ".DB::table('challenge')."(id,uid,usernazme,title,content,lasttime)
        VALUES ('','$_G[uid]','$_G[username]','$_POST[title])','($_POST[content])',now())");
        showmessage('发表成功',NULL);
}

$query1=DB::query("SELECT * FROM ".DB::table('challenge')." order by id desc  ");
$row=DB::fetch($query1);//循环函数,根据返回的值生成数组,并在下面循环引用

/*function htmtocode($content)
{
        $content = str_replace("\n", "<br>", str_replace(" ", "&nbsp;", $content));
        return $content;
}
*/

$num = DB::result_first("SELECT COUNT(*) FROM ".DB::table('challenge')." WHERE uid='$_G[uid]'");//mysql_result为取得结果数据
$page = $_G['page'] > 10 ? 1 : $_G['page'];
$start_limit = ($page - 1) * 10;
$multipage = multi($num, 10, $page, "plugin.php?id=challenge&mod={$_GET[mod]}");



include template('challenge:challenge');

?>  




回复

使用道具 举报

1314学习网 发表于 2013-5-26 08:21:47 | 显示全部楼层
1.名为challenge的插件调用了down_love的css
<link type="text/css" rel="stylesheet" href="source/plugin/down_love/template/extend_common.css" />

1.甚至使用心情墙的语言包
<td colspan="5" align="center">{lang moodwall:moodwall_htm_44}</td>

3.你贴的PHP代码看不到任何对$_GET[mod]的处理,你是不是贴上来时删了很多代码
4.下边的代码仔细看看,哪里有循环
  1. $query1=DB::query("SELECT * FROM ".DB::table('challenge')." order by id desc  ");
  2. $row=DB::fetch($query1);//循环函数,根据返回的值生成数组,并在下面循环引用
复制代码
5.貌似你的分页代码实际是无效的
6.去了intval直接插入数据库,明显不安全
  1. $_POST[title])','($_POST[content])
复制代码
回复

使用道具 举报

 楼主| 风清扬丶 发表于 2013-5-26 16:58:23 | 显示全部楼层
1314学习网 发表于 2013-5-26 08:21
1.名为challenge的插件调用了down_love的css
1.甚至使用心情墙的语言包
3.你贴的PHP代码看不到任何对$_GE ...

oh    好吧  同志仍需努力呀!
回复

使用道具 举报

乖「 发表于 2013-5-28 12:26:20 | 显示全部楼层
1314学习网 发表于 2013-5-25 22:00
你不觉得贴的代码太少了
其实我之前就想说的,你看下边:你好好的把标题和内容取整,这是很牛X的操作

真牛X
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-9-22 19:30 , Processed in 0.098838 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表