奉献一回,设置商铺咨询不允许游客发布咨询

2016-07-07 16:48 来源:www.chinab4c.com 作者:ecshop专家

修改程序和模板实现,红色部分为新加或修改过的(游客发布,垃圾广告太多了)
文件:themes/store/default/qa.html 最后一段
<div class="fill_in">
<form method="post" id="message" action="index.php?app=goods&act=qa&id={$smarty.get.id}">
<p><textarea name="content" <!--{if !$smarty.session.user_info}-->disabled<!--{/if}--> ><!--{if !$smarty.session.user_info}-->游客不能提交信息,请登陆之后再发言咨询,谢谢合作!<!--{/if}--></textarea><span class="field_message"><span class="field_notice"></span></span></p>
<p>
<span>Email: </span>
<span><input type="text" class="text" name="email" value="{$email}" <!--{if !$smarty.session.user_info}-->disabled<!--{/if}--> /></span>
<!--{if $captcha && $smarty.session.user_info }-->
<span>{$lang.captcha}: </span>
<span><input type="text" class="text" name="captcha" /></span>
<span><a href="javascript:change_captcha($('#captcha'));"><img id="captcha" class="captcha" src="index.php?app=captcha&{$random_number}" /></a></span>
<!--{/if}-->
<!--{if $smarty.session.user_info}-->
<span><label><input type="checkbox" name="hide_name" value="hide" /> {$lang.hide_name}</label></span>
<!--{/if}-->
<input type="submit" value="{$lang.submit_message}" <!--{if !$smarty.session.user_info}-->disabled<!--{/if}--> />
<input type="hidden" value="{$smarty.get.id}" name="goods_id" />
<input type="hidden" value="ask" name="type" />
</p>
</form>
</div>
文件:app/goods.app.php 红色部分为增加的,只有一处,一个判断
}
else
{
if (!$_SESSION['user_info']['user_id'])
{
$this->show_warning('Hacking Attempt');
return;
}

$content = (isset($_POST['content']) && $_POST['content'] != '') ? $_POST['content'] : '';
$type = (isset($_POST['type']) && $_POST['type'] !='') ? $_POST['type'] : '';
$email = (isset($_POST['email']) && $_POST['email'] != '') ? $_POST['email'] : '';
$hide_name = (isset($_POST['hide_name']) && $_POST['hide_name'] != '') ? $_POST['hide_name'] : '';
//对验证码和邮件进行判断
if ($type == 'ask')
{



买一送一,另附增加商品咨询发布人IP记录功能 (为屏蔽IP提供依据)
文件:app/goods.app.php 红色部分为修改过的,只有一处
if ($type == 'ask')
{
$data = array(
'question_content' => '(IP:'.real_ip().')'.$content,
'goods_id' => $id,
'store_id' => $store_id,
'email' => $email,
'user_id' => $user_id,
'time_post' => gmtime(),
);
if ($goods_qa->add($data))
{
$this->show_message('question_successful');
return;
}
}

关于留言内容支持html问题,下面的方法屏蔽掉:(2009.9.14提供)
文件:themes/store/default/qa.html 添加或修改下面对应的红色部分
<div class="message">
<!--{foreach from=$qa_info item=qainfo}-->
<div class="{cycle values=message_text2,message_text2 bg1}">
<dl class="leave_word">
<dt>{$lang.question_content}: </dt>
<dd>{$qainfo.question_content|strip_tags:false|nl2br}</dd>
<p>
<span class="name"><!-- {if $qainfo.user_name} -->{$qainfo.user_name|strip_tags}<!--{else}-->{$lang.guest}<!-- {/if} --> {$qainfo.time_post|date:complete}</span>
</p>
</dl>


回答:
很强大 。。
这样 影响速度么?
程序 ?
加了判断?
本来 ECMALL就是不是很快 。

不错 我用了

:lol


原帖由 yxyz1986 于 2009-9-12 18:30 发表
很强大 。。
这样 影响速度么?
程序 ?
加了判断?
本来 ECMALL就是不是很快 。


运算就要用脑子,但是可以忽略不计

如果你的跟我一样每天满满的垃圾广告,你就更不会介意了

强人真多

留个记号慢慢研究,谢谢啦

顶楼有更新,关于留言内容支持html问题,屏蔽掉的方法

顶楼上,这个很苦恼

支持下

不错,支持下~~~~~~~~~~~~~~

支持楼主无私的分享!

运算 判断 等
都是程序常用的

正确的写发及判断步骤,不会影响程序的运行的,除非你写错了
如:判断溢出,死循环,等。。。才会影响程序的运行。

好东西,谢谢了,支持你