急急急------php问题,

alice8023 2014-11-04 05:27:29


点击图片上箭头指示的按钮付与する 时 ,如何让红色的错误信息只显示相应在相关pt的下面,而不是点击付与する,所有pt下面提示信息都会显示错误信息,现状如图
...全文
891 86 打赏 收藏 转发到动态 举报
写回复
用AI写文章
86 条回复
切换为时间正序
请发表友善的回复…
发表回复
alice8023 2014-11-11
  • 打赏
  • 举报
回复
上次虽然那个功能实现了,。但是师傅说不可以那样做, 不可以把这个整体$selList[loop].member_id 都写入进去了 应该要是这样的<{assign var="memberid" value=$selList[loop].member_id|cat:"_point"}>代码形式 要重新注册一个变量 详见我发的另外一个帖子: gogo----数组里面的信息显示问题 3Q
引用 84 楼 jonlysyawn 的回复:
alice8023 2014-11-10
  • 打赏
  • 举报
回复
还有一个版本也有这样的问题。但是还是有的出入,报错信息也不一样,我先自己看看,修改不行的话,再请教你。。我经理在开发那个版本,不知道我这边修改会影响他的工作吧
引用 78 楼 jonlysyawn 的回复:
乔丽斯 2014-11-10
  • 打赏
  • 举报
回复
引用 83 楼 alice8023 的回复:
$memberid=$form["$memberid"]; $smarty->assign("memberid", $memberid);这两句代码注释掉了,没用的。 是下面这句代码我直接复制的。然后报错了。直接自己重新手打一下,就可以正常运行了, {if $selList[loop].member_id == $need_valid_member_id && $error_msg_point.point neq ""} <div class="err_warn"><{$error_msg_point.point}></div> {/if}
解决就好,不过像这中验证,如果是简单的验证,就直接用js验证就好了,如果需要借助php验证,最好用ajax去验证,你这样子点击一个按钮,提交整个list,把其他不需要提交的也一并提交,别且还刷新了页面,这样体验很不好。ajax是最好的方法。
alice8023 2014-11-10
  • 打赏
  • 举报
回复
$memberid=$form["$memberid"]; $smarty->assign("memberid", $memberid);这两句代码注释掉了,没用的。 是下面这句代码我直接复制的。然后报错了。直接自己重新手打一下,就可以正常运行了, {if $selList[loop].member_id == $need_valid_member_id && $error_msg_point.point neq ""} <div class="err_warn"><{$error_msg_point.point}></div> {/if}
引用 82 楼 jonlysyawn 的回复:
乔丽斯 2014-11-10
  • 打赏
  • 举报
回复
[quote=引用 81 楼 alice8023 的回复:] 你是我的女神乔丽斯,,爱你,么么哒,。终于好了。我都要哭了,效果实现的那一刻, 一开始直接复制你的代码,调用的模板内容都不出来了。成图片那样的了。 我觉得要实现这个功能你给的代码按道理说是正确的。后来我在原本的tpl代码上加了$selList[loop].member_id == $need_valid_member_id 就可以了。估计是你的代码里面有的中文输入。不过都没事,判断思路是正确的, $smarty->assign("need_valid_member_id",$_POST['member_id']); 这句代码意思是提交的member_id'也就是需要验证的是吗? $smarty->assign("need_valid_member_id",$member_id);我试了这样写是不可以的是吗 我看你之前的assign member id的时候 是这样写的 $memberid=$form["$memberid"]; $smarty->assign("memberid", $memberid); 首先$form["$memberid"]的$memberid是哪来的?都不明确,我猜你这句肯定写错了。 也许应该这样: $memberid=$form["member_id"]; $smarty->assign("memberid", $memberid); $_POST['member_id']是你提交过来需要验证的那个唯一id,这个传到tpl里很重要,如果有错也传递过去,那么再tpl里就可以根据唯一member id来判断, 循环list,如果member id == 你要验证的那个member id 并且错误!= '',就输出,这样就不会每个member下边都出错了。
JPF1024 2014-11-07
  • 打赏
  • 举报
回复
引用 56 楼 alice8023 的回复:
不是验证的问题。验证输入的是不是整型。已经验证好了,你看一下52楼。问题是点击按钮后错误信息会全部显示,要实现的功能是只在相应点击后,相应的数据下面显示。 点击图片里面箭头标记的给予按钮时,只在那个椭圆里面显示错误信息(给点数数错误。)。现在是只要点击按钮了所有错误信息都会显示的。如图片上的
引用 55 楼 dcxy0 的回复:
我们之前用的是js验证,给这些元素都添加相同的class,然后添加点击验证,只是不知道你这个是不是只验证数字,还是有别的验证
我下午写个实例发你..
alice8023 2014-11-07
  • 打赏
  • 举报
回复
不是验证的问题。验证输入的是不是整型。已经验证好了,你看一下52楼。问题是点击按钮后错误信息会全部显示,要实现的功能是只在相应点击后,相应的数据下面显示。
点击图片里面箭头标记的给予按钮时,只在那个椭圆里面显示错误信息(给点数数错误。)。现在是只要点击按钮了所有错误信息都会显示的。如图片上的

引用 55 楼 dcxy0 的回复:
我们之前用的是js验证,给这些元素都添加相同的class,然后添加点击验证,只是不知道你这个是不是只验证数字,还是有别的验证
JPF1024 2014-11-07
  • 打赏
  • 举报
回复
我们之前用的是js验证,给这些元素都添加相同的class,然后添加点击验证,只是不知道你这个是不是只验证数字,还是有别的验证
alice8023 2014-11-07
  • 打赏
  • 举报
回复
你是我的女神乔丽斯,,爱你,么么哒,。终于好了。我都要哭了,效果实现的那一刻,
一开始直接复制你的代码,调用的模板内容都不出来了。成图片那样的了。
我觉得要实现这个功能你给的代码按道理说是正确的。后来我在原本的tpl代码上加了$selList[loop].member_id == $need_valid_member_id 就可以了。估计是你的代码里面有的中文输入。不过都没事,判断思路是正确的,
$smarty->assign("need_valid_member_id",$_POST['member_id']); 这句代码意思是提交的member_id'也就是需要验证的是吗?
$smarty->assign("need_valid_member_id",$member_id);我试了这样写是不可以的是吗

引用 78 楼 jonlysyawn 的回复:
看了你的提交内容,显然是你点击一个按钮把整个list input 都提交过去了,其实这个是不合理的。根据你现在的情况,你可以这样处理:
里面有个member_id = 1000257015, 这个可能是你点击要提交验证的member id
在php里:
你可以$smarty->assign('need_valid_member_id',$_POST['member_id']);
然后把错误也assign过去:$smarty->assign('error_msg_point',$error_msg);
在tpl里:在循环selList的时候 判断

{if $selList[loop].member_id == $need_valid_member_id && $error_msg_point.point neq ""}
<div class="err_warn"><{$error_msg_point.point}></div>
{/if}


引用 78 楼 jonlysyawn 的回复:
[quote=引用 77 楼 alice8023 的回复:]

Array ( [mode] => SETPOINT [snstabId] => 49 [webctrl_page_token] => dd4be4ef0d797d21eeee32267ccfe87d [sel_c_id] => [topscrollleft] => 0 [p] => 1 [searchFlag] => page [member_id] => 1000257015 [pageSize] => 20 [orderby] => member_id [orderbyType] => desc [point] => fdfds [searchMembernickname] => [searchMemberId] => [topictimes1] => [topictimes2] => [pictimes1] => [pictimes2] => [setPointM] => [members] => Array ( [0] => 1000257015 [1] => 1000257014 [2] => 1000256473 [3] => 1000255958 [4] => 1000255957 [5] => 1000255755 [6] => 1000255751 [7] => 1000255750 [8] => 1000255748 [9] => 1000255747 [10] => 1000199511 [11] => 1000031784 [12] => 1000031760 [13] => 1000031716 [14] => 1000031715 [15] => 1000031714 ) [1000257015_point] => fdfds [1000257014_point] => [1000256473_point] => [1000255958_point] => [1000255957_point] => [1000255755_point] => [1000255751_point] => [1000255750_point] => [1000255748_point] => [1000255747_point] => [1000199511_point] => [1000031784_point] => [1000031760_point] => [1000031716_point] => [1000031715_point] => [1000031714_point] => )

这是print_r($_POST);出来的结果
print_r($error_msg);出来的Array ( [point] => 付与ポイント数が正しくありません。 )

看了你的提交内容,显然是你点击一个按钮把整个list input 都提交过去了,其实这个是不合理的。根据你现在的情况,你可以这样处理:
里面有个member_id = 1000257015, 这个可能是你点击要提交验证的member id
在php里:
你可以$smarty->assign('need_valid_member_id',$_POST['member_id']);
然后把错误也assign过去:$smarty->assign('error_msg_point',$error_msg);
在tpl里:在循环selList的时候 判断

{if $selList[loop].member_id == $need_valid_member_id && $error_msg_point.point neq ""}
<div class="err_warn"><{$error_msg_point.point}></div>
{/if}[/quote]
xuzuning 2014-11-07
  • 打赏
  • 举报
回复
谁让你改啦?我要你告诉我那个数组的内容
alice8023 2014-11-07
  • 打赏
  • 举报
回复
还是不行呢。。那样改了错误信息没了
引用 76 楼 xuzuning 的回复:
$smarty->assign('selList',$数组);
乔丽斯 2014-11-07
  • 打赏
  • 举报
回复
引用 77 楼 alice8023 的回复:

Array ( [mode] => SETPOINT [snstabId] => 49 [webctrl_page_token] => dd4be4ef0d797d21eeee32267ccfe87d [sel_c_id] => [topscrollleft] => 0 [p] => 1 [searchFlag] => page [member_id] => 1000257015 [pageSize] => 20 [orderby] => member_id [orderbyType] => desc [point] => fdfds [searchMembernickname] => [searchMemberId] => [topictimes1] => [topictimes2] => [pictimes1] => [pictimes2] => [setPointM] => [members] => Array ( [0] => 1000257015 [1] => 1000257014 [2] => 1000256473 [3] => 1000255958 [4] => 1000255957 [5] => 1000255755 [6] => 1000255751 [7] => 1000255750 [8] => 1000255748 [9] => 1000255747 [10] => 1000199511 [11] => 1000031784 [12] => 1000031760 [13] => 1000031716 [14] => 1000031715 [15] => 1000031714 ) [1000257015_point] => fdfds [1000257014_point] => [1000256473_point] => [1000255958_point] => [1000255957_point] => [1000255755_point] => [1000255751_point] => [1000255750_point] => [1000255748_point] => [1000255747_point] => [1000199511_point] => [1000031784_point] => [1000031760_point] => [1000031716_point] => [1000031715_point] => [1000031714_point] => ) 
这是print_r($_POST);出来的结果 print_r($error_msg);出来的Array ( [point] => 付与ポイント数が正しくありません。 )
看了你的提交内容,显然是你点击一个按钮把整个list input 都提交过去了,其实这个是不合理的。根据你现在的情况,你可以这样处理: 里面有个member_id = 1000257015, 这个可能是你点击要提交验证的member id 在php里: 你可以$smarty->assign('need_valid_member_id',$_POST['member_id']); 然后把错误也assign过去:$smarty->assign('error_msg_point',$error_msg); 在tpl里:在循环selList的时候 判断 {if $selList[loop].member_id == $need_valid_member_id && $error_msg_point.point neq ""} <div class="err_warn"><{$error_msg_point.point}></div> {/if}
alice8023 2014-11-07
  • 打赏
  • 举报
回复

Array ( [mode] => SETPOINT [snstabId] => 49 [webctrl_page_token] => dd4be4ef0d797d21eeee32267ccfe87d [sel_c_id] => [topscrollleft] => 0 [p] => 1 [searchFlag] => page [member_id] => 1000257015 [pageSize] => 20 [orderby] => member_id [orderbyType] => desc [point] => fdfds [searchMembernickname] => [searchMemberId] => [topictimes1] => [topictimes2] => [pictimes1] => [pictimes2] => [setPointM] => [members] => Array ( [0] => 1000257015 [1] => 1000257014 [2] => 1000256473 [3] => 1000255958 [4] => 1000255957 [5] => 1000255755 [6] => 1000255751 [7] => 1000255750 [8] => 1000255748 [9] => 1000255747 [10] => 1000199511 [11] => 1000031784 [12] => 1000031760 [13] => 1000031716 [14] => 1000031715 [15] => 1000031714 ) [1000257015_point] => fdfds [1000257014_point] => [1000256473_point] => [1000255958_point] => [1000255957_point] => [1000255755_point] => [1000255751_point] => [1000255750_point] => [1000255748_point] => [1000255747_point] => [1000199511_point] => [1000031784_point] => [1000031760_point] => [1000031716_point] => [1000031715_point] => [1000031714_point] => ) 
这是print_r($_POST);出来的结果 print_r($error_msg);出来的Array ( [point] => 付与ポイント数が正しくありません。 )
引用 72 楼 jonlysyawn 的回复:
你把你post过去的内容输入出来我看看,就是print_r($_POST); 打印出来看看,然后把报错信息也输出出来。 我现在不确定你的提交 是正个list所有的input 都一起提交,还是只提交你点击那个input框的按钮,这个要弄清楚。 如果报错,仅仅是个字符串,就把这个错传递给tpl,看看你提交过去的唯一id是什么,然后也传给tpl,在tpl里你就可以写 if($post_id == ..loop.id && $error_meg){ echo 错误}; $post_id 就是你提交过去的唯一id
xuzuning 2014-11-07
  • 打赏
  • 举报
回复
$smarty->assign('selList',$数组);
xuzuning 2014-11-07
  • 打赏
  • 举报
回复
你这句是错的!所有的问题都由此而起!
alice8023 2014-11-07
  • 打赏
  • 举报
回复
php里面有这句的 $smarty->assign("error_msg_point", $error_msg);
引用 71 楼 xuzuning 的回复:
你不是有 $smarty->assign(‘loop’, 数组); 吗? 提示信息要放到这个数组里
alice8023 2014-11-07
  • 打赏
  • 举报
回复
$smarty->assign("error_msg_point", $error_msg);
引用 71 楼 xuzuning 的回复:
你不是有 $smarty->assign(‘loop’, 数组); 吗? 提示信息要放到这个数组里
乔丽斯 2014-11-07
  • 打赏
  • 举报
回复
引用 62 楼 alice8023 的回复:
只要在php里面的 function SETPOINT($dbh, &$smarty, &$request )这个函数里面加个相应的判断,把对应值传过去,然后返回到tpl的错误信息里。。这个函数是关键。。。我也是醉了。。 <input type="text" style="ime-mode:disabled;margin-left:10px;margin-right:10px;width:80px" value="" maxlength="5" id="1000257015_point" name="1000257015_point">这句是源代码里面的。然后格式都是1000257015_point 所以在tpl里面加了这句<{assign var="memberid" value=$selList[loop].member_id|cat:"_point"}> 要对1000257015_point这样的值进行判断。
你把你post过去的内容输入出来我看看,就是print_r($_POST); 打印出来看看,然后把报错信息也输出出来。 我现在不确定你的提交 是正个list所有的input 都一起提交,还是只提交你点击那个input框的按钮,这个要弄清楚。 如果报错,仅仅是个字符串,就把这个错传递给tpl,看看你提交过去的唯一id是什么,然后也传给tpl,在tpl里你就可以写 if($post_id == ..loop.id && $error_meg){ echo 错误}; $post_id 就是你提交过去的唯一id
xuzuning 2014-11-07
  • 打赏
  • 举报
回复
你不是有 $smarty->assign(‘loop’, 数组); 吗? 提示信息要放到这个数组里
alice8023 2014-11-07
  • 打赏
  • 举报
回复
这个代码不是吗
引用 68 楼 xuzuning 的回复:
你的 loop 是什么样的数组?好象你一直没说吧
引用 64 楼 alice8023 的回复:

<{section name=loop loop=$selList }>
		<tr align="center">
			<td style="word-break: break-all; word-wrap:break-word;"><input type="checkbox" name="member_sel[]" value="<{$selList[loop].member_id}>"><input type="hidden" name="members[]" value="<{$selList[loop].member_id}>"></td>
			<td style="word-break: break-all; word-wrap:break-word;"><{$selList[loop].member_id}></td>
			<td style="word-break: break-all; word-wrap:break-word;"><{$selList[loop].nickname}></td>
			<td style="word-break: break-all; word-wrap:break-word;">
			<span style="clear:both; margin:0 auto; width:auto; display:inline-block;  text-align: left;">
			<{$selList[loop].community}>
			</span>
			</td>
			<td  style="word-break: break-all; word-wrap:break-word;"align="center"><{$selList[loop].jointimes_topic|number_format:0}></td>
			<td style="word-break: break-all; word-wrap:break-word;"align="center"><{$selList[loop].jointimes_pic|number_format:0}></td>
			<td style="word-break: break-all; word-wrap:break-word;"><input type="text" name="<{$selList[loop].member_id}>_point" id="<{$selList[loop].member_id}>_point"maxlength="5" value="" style="ime-mode:disabled;margin-left:10px;margin-right:10px;width:80px"><b><{t}>pt<{/t}></b>
			<input type="button" name="btn_<{$selList[loop].member_id}>_point" id="btn_<{$selList[loop].member_id}>_point" value="<{t}>付与する<{/t}>" style="margin-left:10px;margin-right:10px" class="buttons" onclick="javascript:setpoint(this.id)" onfocus="delWran">
	    	 <!--<{assign var="memberid" value=$selList[loop].member_id|cat:"_point"}>
	        <{$memberid}>  -->
			<{if $error_msg_point.point neq "" }><div class="err_warn"><{$error_msg_point.point}></div><{/if}> 
			<!--<{if $error_msg_point.$memberid neq "" }><div class="err_warn"><{$error_msg_point.$memberid}></div><{/if}>    -->
			</td>
			<td style="word-break: break-all; word-wrap:break-word;" align="center"><{$selList[loop].point|number_format:0}></td>
			<td style="word-break: break-all; word-wrap:break-word;"><{$selList[loop].sex}></td>
			<td style="word-break: break-all; word-wrap:break-word;"><{$selList[loop].age}></td>
		</tr>
	<{/section}>
加载更多回复(66)

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧