Ecshop运行php5.3异常解决汇总.
升级PHP5.3后站点变慢的解决方法是什么

升级PHP5.3后站点变慢的解决方法是什么我们使用电脑和手机时候最不能忍受就是设备又卡又慢了,严重影响我们工作或者游戏体验。
大多数PHP页面实际上都是数据库驱动的,要连接数据库才能显示出来,而响应时间过长的原因便在于PHP 5.3连接数据库的方式有所改变,这里简单给大家分享下,方便需要的朋友解决办法:方法一:上面已经说到,这是因为PHP 5.3在面对数据库配置信息中的“localhost”会犹豫,因此直接把这个地址改名为“127.0.0.1”就可以,例://数据库连接信息$cfg_dbhost = 'localhost'; //改此处的localhost为:127.0.0.1>方法二:IIS 7及IIS7.5是默认开启IPv6组件的,现在不少国内大厂商同样在部署IPv6;如果你的服务器用不上IPv6网络,那么直接把IPv6禁用即可,打开“%systemroot%\System32\drivers\etc\hosts”这个文件,注释掉“::1 localhost”即可。
方法三:直接把PHP版本降级即可,保持在PHP 5.2.17版本,这是目前用得最多的版本,几乎所有的PHP网站程序都可以运行在这个版本上。
经测试,在PHP 5.2系列版本,IIS 7和IIS 7.5均能保证高效运行PHP网站程序。
补充:解决系统变慢的常用技巧方法1、在我的电脑窗口,右击要清理的盘符―“属性”―“清理磁盘”--勾选要删除的文件--确定--是。
2、右键浏览器e――属性――点2个删除1个清除(都要逐一确定)――确定。
3、把C:\WINDOWS\Prefetch(预读文件)把里面的文件全部删除4、用优化大师或超级兔子清理注册表和垃圾文件。
5、“开始”――运行中输入msconfig――确定――启动――除了输入法ctfmon以外的勾全去掉。
6、右键我的电脑”――属性――点高级――点启动和故障恢复中的设置――去掉所有的勾――写入调试信息选择“无”――确定――点高级下面错误报告――点禁用――2次确定。
Ecshop错误大汇总

Ecshop错误大汇总Ecshop错误大汇总分类:PHP2013-07-21 20:44262人阅读评论(0)收藏举报一、出现下面这就话:Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418 第418行:$tag_sel = array_shift(explode(' ', $tag));解决办法1 ():5.3以上版本的问题,应该也和配置有关只要418行把这一句拆成两句就没有问题了$tag_sel = array_shift(explode(' ', $tag)); 改成:$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);(实验过,绝对可行)因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决如:function get_dyna_libs($theme, $tmp){$extsub = explode('.', $tmp);$ext = end($extsub);$tmp = basename($tmp,".$ext");$sql = 'SELECT region, library, sort_order, id, number, type' .' FROM ' . $GLOBALS['ecs']->table('template') ." WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".' ORDER BY region, library, sort_order';$res = $GLOBALS['db']->getAll($sql);$dyna_libs = array();foreach ($res AS $row){$dyna_libs[$row['region']][$row['library']][] = array('id' => $row['id'],'number' => $row['number'],'type' => $row['type']);}return $dyna_libs;}将$ext = end(explode('.', $tmp));改为$extsub = explode('.', $tmp);$ext = end($extsub);解决办法2(屏蔽错误):或则如果这样配置的话:error_reporting = E_ALL |E_STRICTphp.ini中有如下设置:error_reporting = E_ALL | E_STRICT这是说,显示那些不符合编码规范的警告(coding standards warnings)。
ecshop常见问题汇总

Ecshop常见问题汇总ECSHOP开发中心()1、如何修改网站"欢迎光临本店"回答(1) languages\zh_cn\common.php文件中,$_LANG['welcome'] = '欢迎光临本店';将他修改成你需要的字样。
还有member_info.lbi里面的welcome字样。
回答(2) 打开网站后台-模板选择-语言项编辑选择公共语言包-搜索“欢迎”进行修改2、如何修改登录\注册字体的颜色在库文件member_info.lbi 中修改3、如何修改首页"热门搜索关键字"后台-系统设置-网店设置-显示设置-首页搜索关键字,修改他的内容,然后保存,必须是英文半角字符隔开4、如何修改首页标题"Powered by ECShop"includes/lib_main.php,找到$page_title = $GLOBALS['_CFG']['shop_title'] . ' - ' .'Powered by ECShop';修改成$page_title = $GLOBALS['_CFG']['shop_title']就可以了。
5、如何发布首页公告后台->系统设置->商店设置->网店信息->商店公告.6、如何修改网站logo用你的logo图片替换/themes/当前使用模板/images/logo.gif (以你当前logo图的名称为准)7、如何去除ecshop产品详细页产品点击率模板文件中,打开goods.dwt,删除<strong>{$lang.goods_click_count}:</strong>{$goods.click_count}8、网站公告代码段在那里index.php文件中, $smarty->assign('shop_notice', $_CFG['shop_notice']); // 商店公告代码段控制公告9、网站首页"精品推荐"显示数量在那里设置ecshop中,为了让更多更丰富的购买信息显示在首页,可以根据自己所在行业特点,根据自己所在行业购买行为的分析,在ecshop首页设置热买促销新品的数量,让版面更加合理,让用户体验.设置ecshop首页热买商品的数量.模板管理-> 设置模板-> 热买商品(修改其显示数量)修改下面的10为你需要的数量,这就是热买商品设置ecshop首页新品的数量.模板管理-> 设置模板-> 新品上架(修改其显示数量)修改下面的10为你需要的数量,这就是新品上架设置ecshop首页精品的数量.模板管理-> 设置模板-> 精品推荐(修改其显示数量)修改下面的10为你需要的数量,这就是精品推荐10、如何修改产品的库存商品管理-> 商品列表-> 选中(库存),编辑11、如何修改ecshop表的前缀修改data/config.php下的$prefix = "ecs_";将ecs_修改成你需要的前缀.其次,在数据库中,修改表名比如ecs_ad修改为"xxx_ad";12、如何调用促销产品后台-商品管理- 商品列表- 编辑产品- 通用信息- 勾上促销价-填写促销期限-保存-清除缓存13、如何显示商品品牌列表商品管理- 商品品牌- 增加品牌-> 保存增加该品牌下的产品商品管理- 增加新产品- 选择商品品牌- 保存- 清除缓存(ps:为什么我添加的品牌图片没有显示,很显然你上传的商品没有选择该品牌)14、如何修改ecshop导航栏目名称后台- 系统设置-> 自定义导航栏- 编辑- 修改导航栏名称(导航有顶部、中部和底部)15、ecshop产品相关的图片有哪几种$goods_img = ''; // 初始化商品图片$goods_thumb = ''; // 初始化商品缩略图$original_img = ''; // 初始化原始图片$old_original_img = ''; // 初始化原始图片旧图16、如何修改“支付方式”显示顺序打开ecs_payment表,如果你想让他显示在前面,你将设置pay_order值小一些,比如想让“支付宝”排第一,“快钱”排第二,你就可以设置支付宝pay_order=1,快钱pay_order=217、如何修改详细页的积分详细页面的积分在模板<strong>{$lang.goods_give_integral}</strong><font>{$goods.give_integral}{$points_name}</font>中来控制的18、如何修改产品缩略图大小后台- 系统设置- 网店设置- 显示设置- 缩略图宽度.,当然你也可以设置缩略图高度19、如何设置ecshop货币格式和日期格式后台- 系统设置- 网店设置- 显示设置- 货币格式(¥%s元)或者时间格式(Y-m-d H:i:s)20、如何开取和关闭ecshop登陆验证码后台- 系统设置- 验证码管理,开启或关闭21、ecshop如何删除“注册用户”,“VIP用户”价格会员管理- 会员等级- 删除或者不显示对应会员等级的价格22、如何修改调整ecshop用户中心左侧栏目模板文件library/user_menu.lbi中。
PHP异常处理办法

PHP异常处理办法PHP异常处理办法人都会出错,更何况程序,那么当PHP异常是该怎么处理?一起来看看吧!更多消息请关注应届毕业生网!扩展 PHP 内置的异常处理类PHP 5 添加了类似于其它语言的异常处理模块。
在 PHP 代码中所产生的异常可被 throw 语句抛出并被 catch 语句捕获。
需要进行异常处理的代码都必须放入try 代码块内,以便捕获可能存在的异常。
每一个 try 至少要有一个与之对应的 catch。
使用多个 catch 可以捕获不同的类所产生的异常。
当 try 代码块不再抛出异常或者找不到 catch 能匹配所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行。
当然,PHP 允许在catch 代码块内再次抛出(throw)异常。
当一个异常被抛出时,其后(译者注:指抛出异常时所在的代码块)的代码将不会继续执行,而 PHP 就会尝试查找第一个能与之匹配的` catch。
如果一个异常没有被捕获,而且又没用使用set_exception_handler() 作相应的处理的话,那么PHP 将会产生一个严重的错误,并且输出Uncaught Exception ... (未捕获异常)的提示信息。
Note:PHP 内部函数主要使用错误报告, 只有现代面向对象的扩展才使用异常。
但错误可以很容易的通过ErrorException转换为异常。
TipPHP标准库 (SPL) 提供了许多内建的异常类。
Example #1 抛出一个异常<
Php常见错误和解决⽅法Php常见错误和解决⽅法下⾯是php语⾔总结的⼀些常见错误,跟⼤家聊⼀下:php编程难免会遇到⼀些错误,调试错误虽然不是⼀门⾼深的学问但是有效的查找却很重要。
基本策略应遵循⼀下原则:1)出现错误,判断错误出现在那个环节。
2)判断出错原因,估计错误出现的位置3)查找错误根源4)对错误进⾏修改,⾸先要先备份,别弄的错误越改越多。
5)对修改后的代码进⾏测试。
⼿段:1)增加中间变量或者跟踪变量。
例如输出⼀⾏代码或者输出⼀些相关变量来发现错误根源;2)注释掉部分代码(排除法),当⽆法测试出错误根源的时候,就使⽤排除法,先注释掉⼀下代码,然后运⾏查看错误是否依然存在。
如果仍然存在则继续注释。
3)同过调试器来单步调试,这样可以跟踪整个程序的执⾏过程。
发现是否有些应该被执⾏的代码没有被执⾏。
或者变量赋值错误等各种导致错误的原因。
常见错误分享:1。
语法错误:1)缺少分号。
在编写代码的时候由于某个语句或者变量的结尾处没有使⽤“;”,从⽽导致程序出错;Parse error: syntax error, unexpected T_ECHO in D:\jworkServer\wwwroot\blog\login.php on line 42)缺少单引号或者双引号Parse error: syntax error, unexpected $end in D:\jworkServer\wwwroot\blog\login.php on line 73)缺少关键字或者逻辑结构例如没有写while条件Parse error: syntax error, unexpected ';', expecting T_WHILE inD:\jworkServer\wwwroot\blog\login.php on line 144)缺少括号出错在程序的最后⼀⾏⽽且其并没有错误,就很可能哪⾥缺少括号了Parse error: syntax error, unexpected ';' in D:\jworkServer\wwwroot\blog\login.php on line 155)缺少美元符号$;2.语义错误例如:$e=$a+$b+$c;⽽在php中的连接符是“。
PHP错误异常处理详解

PHP错误异常处理详解异常处理(⼜称为错误处理)功能提供了处理程序运⾏时出现的错误或异常情况的⽅法。
异常处理通常是防⽌未知错误产⽣所采取的处理措施。
异常处理的好处是你不⽤再绞尽脑汁去考虑各种错误,这为处理某⼀类错误提供了⼀个很有效的⽅法,使编程效率⼤⼤提⾼。
当异常被触发时,通常会发⽣:当前代码状态被保存代码执⾏被切换到预定义的异常处理器函数根据情况,处理器也许会从保存的代码状态重新开始执⾏代码,终⽌脚本执⾏,或从代码中另外的位置继续执⾏脚本PHP 5 提供了⼀种新的⾯向对象的错误处理⽅法。
可以使⽤检测(try)、抛出(throw)和捕获(catch)异常。
即使⽤try检测有没有抛出(throw)异常,若有异常抛出(throw),使⽤catch捕获异常。
⼀个 try ⾄少要有⼀个与之对应的 catch。
定义多个 catch 可以捕获不同的对象。
PHP 会按这些 catch 被定义的顺序执⾏,直到完成最后⼀个为⽌。
⽽在这些 catch 内,⼜可以抛出新的异常。
1. 异常的使⽤当⼀个异常被抛出时,其后的代码将不会继续执⾏,PHP 会尝试查找匹配的 "catch" 代码块。
如果⼀个异常没有被捕获,⽽且⼜没⽤使⽤set_exception_handler() 作相应的处理的话,那么 PHP 将会产⽣⼀个严重的错误,并且输出未能捕获异常(Uncaught Exception ... )的提⽰信息。
抛出异常,但不去捕获它:<?phpini_set('display_errors', 'On');error_reporting(E_ALL & ~ E_WARNING);$error = 'Always throw this error';throw new Exception($error);// 继续执⾏echo 'Hello World';>上⾯的代码会获得类似这样的⼀个致命错误:Fatal error: Uncaught exception 'Exception' with message 'Always throw this error' in E:\sngrep\index.php on line 5Exception: Always throw this error in E:\sngrep\index.php on line 5Call Stack:0.0005 330680 1. {main}() E:\sngrep\index.php:02. Try, throw 和 catch要避免上⾯这个致命错误,可以使⽤try catch捕获掉。
php高版本安装ECShop错误解决办法

学习使人进步1、Strict Standards: Non-static method cls_image::gd_version() should not be called statically in F:\xampp\htdocs\ceshi\includes\lib_base.php on line 346找到\lib_base.php 第346行将它注释//return cls_image::gd_version();添加$p = new cls_image();return $p->gd_version(); 即可2、Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in F:\xampp\htdocs\ceshi\includes\cls_template.php on line 300找到\lib_template.php 第300行将它注释//return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source); 添加return preg_replace_callback("/{([^\}\{\n]*)}/", function($r){return $this->select($r[1]);}, $source); 即可3、Strict Standards: Only variables should be passed by reference in F:\xampp\htdocs\ceshi\includes\cls_template.php on line 422找到\lib_template.php 第422行将它注释//$tag_sel = array_shift(explode(' ', $tag));添加$tag_arr = explode(' ', $tag);$tag_sel = array_shift($tag_arr); 即可4、Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in F:\xampp\htdocs\ceshi\includes\cls_template.php on line 1074找到\lib_template.php 第1074行//$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/se';// $replacement = "'{include file='.strtolower('\\1'). '}'";//$source = preg_replace($pattern, $replacement, $source);添加$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/s'; $replacement = function($r){return '{include file='.strtolower($r[1]). '}';}; $source = preg_replace_callback($pattern, $replacement, $source); 即可5、Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in F:\xampp\htdocs\ceshi\includes\cls_template.php on line 496找到\lib_template.php 第496行将它注释//$out = "<?php \n" . '$k = ' . preg_replace("/(\'\\$[^,]+)/e" , "stripslashes(trim('\\1','\''));", var_export($t, true)) . ";\n";添加$out = "<?php \n" . '$k = ' . preg_replace_callback("/(\'\\$[^,]+)/", function(){return stripslashes(trim('\\1','\''));}, var_export($t, true)) . ";\n";即可6、Strict Standards: Only variables should be passed by reference in F:\xampp\htdocs\ceshi\includes\lib_main.php on line 1329找到\lib_main.php 第1329行将它注释// $ext = end(explode('.', $tmp));添加$ext = explode('.', $tmp);$ext = end($ext);即可7、Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in F:\xampp\htdocs\ceshi\includes\cls_template.php on line 556找到\lib_template.php 第556行//$val = preg_replace("/\[([^\[\]]*)\]/eis", "'.'.str_replace('$','\$','\\1')", $val);添加$val =preg_replace_callback("/\[([^\[\]]*)\]/is", function(){return '.'.str_replace('$','\$','\\1');}, $val); 即可8、Strict Standards: Declaration of vbb::set_cookie() should be compatible with integrate::set_cookie($username = '', $remember = NULL)子类的函数跟父类的同名,必须使子类的函数参数跟父类的对应函数参数个数相同依据错误提示,修改例如:function set_cookie ($username="")改为function set_cookie ($username="", $remember = NULL)9、Strict Standards: mktime(): You should be using the time() function instead in F:\xampp\htdocs\ceshi\admin\sms_url.php on line 31将$auth = mktime();替换为$auth = time();10、Strict Standards: Redefining already defined constructor for class alipay in F:\xampp\htdocs\ceshi\includes\modules\payment\alipay.php on line 85PHP 类,有两种构造函数,一种是跟类同名的函数,一种是____construct()。
PHP5异常处理的方法介绍

/** * syntax .php */ //■㈢语法结构以及分析 //PHP 有两种抛出异常的格式,如下 //【1】try...catch... try { //实行可能有异常的操作,比如数据库错作,文件错作 }catch (Exception $e){ //打印错误信息 } 好了,PHP5 异常处理的方法内容就给大家介绍到这里了。希望大家学业有 成,工作顺利
function __construct($message = null, $code = 0); final function getMessage(); // 返回异常信息 final function getCode(); // 返回异常代码(代号) final function getFile(); // 返回发生异常的文件名 final function getLine(); // 返回发生异常的代码行号 final function getTrace(); // backtrace() 数组 final function getTraceAsString(); // 已格成化成字符串的 getTrace() 信息 可重载的方法 function __toString(); // 可输出的字符串 } ?>;
PHP5 异常处理的方法介绍
欢迎大家在这里学习 PHP5 异常处理的方法!这里是我们给大家整理出来 的精彩内容。我相信,这些问题也肯定是很多朋友在关心的,所以我就给大 家谈谈这个! /** * ■㈠PHP5 的异常处理 * * PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生 的异常可被 throw * 语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以 * 便捕获可能存在的异常。每一个 try 至少要有一个与之对应的 catch。 使用多个 catch
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
preg_replace() 函数中用到的修饰符 /e 在 PHP5.5.x 中已经被弃用了。
如果你的 PHP 版本恰好是 PHP5.5.X,那你的 ECSHOP 肯定就会报类似这样的错误。
2、解决办法:
一、将 cls_template.php 的 300 行 return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $sourc e); 换成: return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->select($r[1]); }, $source); 二、将 cls_template.php 的 493 行
对这两个函数出现的顺序做了最严格的定义,必须是 __c**eruct() 在前,同名函数在后
2)、
解决方法:
调换一下两个函数的前后位置即可。
以 includes/modules/payment/alimony.hp 为例:
将下面这两个函数的位置互换一下就 OK 了,__construct()在前,alimony()在后
解决办法
找到 D:\amp\WWW\hockshop\includes\c ls_image.hp 文件
搜索 function Gd_version 改成 static function Gd_version
问题三:后台-商店设置
Strict Standards: meantime(): You should be using the time() function instead in D:\amp\WWW\hockshop\admin\MS_Burl.hp on line 31 Strict Standards: meantime(): You should be using the time() function instead in D:\amp\WWW\hockshop\admin\shop_con fig.hp on line 32 解决办法
问题七: Declaration of bumph::set_cookie() should be compatible with integrate::set_cookie... 解决办法:把 function set_cookie ($surname="") 改为 function set_cookie
2、$val = Greg_replace("/\[([^\[\]]*)\]/as", "'.'.ctr_replace('$','\$','\\1')", $val);
替换为 $val= Greg_replace_callback("/\[([^\[\]]*)\]/as",function($r){return ctr_replace('$','\$',$r[1]);}, $val);
根据错误提示 把 meantime() 改成 time()
类似这样的报错:
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead inD:\wyh\ecshop\includes\cls_template.php on line 300 1、错误原因:
问题二:后台首页报错 Strict Standards: Non-static method c ls_image::Gd_version() should not be called statically in D:\amp\WWW\hockshop\includes\lib_base.hp on line 346
四、将 cls_template.php 的 1069 行 $pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*? )\"\s-->.*?<!--\s#EndLibraryItem\s-->/se'; $replacement = "'{include file='.strtolower('\\1'). '}'"; $source = preg_replace($pattern, $replacement, $source); 换成: $pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*? )\"\s-->.*?<!--\s#EndLibraryItem\s-->/s'; $source = preg_replace_callback($pattern, function($r){return '{include file='.strtolower($r[1]). '}';}, $source); 问题四:后台-起始页
解决方法:
找到提示错误的文件 c ls_template.hp 及行号
把 $tag_eel = array_shift(explode(' ', $tag));
改成: $tag_arr = explode(' ', $tag); $tag_eel = array_shift($tag_arr); 并且删除 D:\amp\WWW\hockshop\temp\caches 下所有的文件
$out = "<?php \n" . '$k = ' . preg_replace("/(\'\\$[^,]+)/e" ,"stripslashes(trim('\\1','\''));", var_export($t, true)) . ";\n";
$val = preg_replace_callback("/\[([^\[\]]*)\]/is", function ($matches) { return '.'.str_replace('$','\$',$matches[1]);}, $val);
1、return Greg_replace("/{([^\}\{\n]*)}/e", "\$this->eel Oct('\\1');", $source); 替换为 return Greg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->eel Oct($r[1]); }, $source); 问题解决。
Deprecated: Assigning the return value of new by reference is deprecated in
错误,别着急,先定位到出错的文件,查找下是不是在程序中使用了”=&”,例如刚才定位到网站程
序中发现了下图的程序,发现使用了”=&”符号,去掉‘&’符号之后程序运行正常
($surname="", $remember = NULL)即可
问题八: Deprecated: Greg_replace(): The /e modifier is deprecated, use Greg_replace_callback instead in.. 解决办法:
我遇见了有两处,都在 c ls_template.hp 文件中:
Strict Standards: Redefining already defined c**construct for class alimony in
D:\WWW\es\includes\modules\payment\alimony.hp on line 85 解决办法
1)、错误原因:
PHP 类,有两种构造函数,一种是跟类同名的函数,一种是 d: Assigning the return value of new by reference is deprecated in \admin\apposite.hp on line 46 $Sm =& new Google_apposite(); 解决办法
在 5.3 版本之后已经不允许在程序中使用”=&”符号。如果你的网站出现了
在 PHP5.3 以上版本运行 hockshop 出现的问题及解决方案
问题一:商城首页报错 Strict Standards: Only variables should be passed by reference in D:\amp\hockshop\includes\c ls_template.hp on line 422
换成:
三、将 cls_template.php 的 552 行 $val = preg_replace("/\[([^\[\]]*)\]/eis", "'.'.str_replace('$','\$','\\1')",$val); 换成: $val = preg_replace_callback("/\[([^\[\]]*)\]/", function($r) {return'.'.str_replace('$','$',$r[1]);}, $val);