存档

‘PHP’ 分类的存档

如果可以用代码示爱……

2010年8月4日 邹清水 6 条评论

如果可以用代码求爱:
1、
do{
echo "i love you!";
}while( $my_live_end !== true);

2、
love_you:
$life = true;
if ($life == true){
echo "i love you!";
}else{
echo "i love you!";
}
goto love_you;

3、
for(;;){
echo "i love you!";
}

4、
while( $my_live_end !== true){
echo "i love you!";
}

5、
switch($me){
case 1;
case 2;
case 3;
case 4;
case 5;
case 6;
case 7;
case 8;
case 9;
case 10;
default: echo "i love you!";break;
}

(PHP常见的几种死循环)

  • Share/Bookmark
分类: PHP, 情感社区 标签:

[zen cart] 用户无法登录提示There was a security error when trying to login

2010年6月12日 邹清水 4 条评论

这几天修改zen cart测试了很多东西,结果发现我的网站坏了,具体情况是这样的:

当我想注册一个新用户的时候,发现表单提交之后重新回到注册页面,而当我想登录的时候,表单提交之后则提示There was a security error when trying to login.

网上查了,这个主要原因是一个叫做securekey 的较验码较验失败,但是我装的都是最新版的zen cart。不可能做有这个问题(经过测试,确实不是这个原因)。

后来发现是我设置的重写出了问题,

我写的重写是这样的:

RewriteRule ^index.php$ / [R=301, L]

去掉就可以了

  • Share/Bookmark
分类: zen-cart 标签:

php_admin_value 与 php_value 的区别

2010年4月30日 邹清水 3 条评论

问:php_admin_value(php_admin_flag)和php_value(php_flag)有何区别?

在“技巧与提示”中有一条是关于“为不同的虚拟主机配置不同的php选项”的,那么php_admin_value和php_value究竟有哪些异同呢?

相同的地方是:这两个命令都是用来在Apache服务器中针对不同的虚拟主机、目录设置不同的php选项的。

不同的地方是:php_admin_value(php_admin_flag)命令只能用在apache的httpd.conf文件中,而php_value(php_flag)则是用在.htaccess文件中的。

  • Share/Bookmark
分类: PHP 标签:

详细解释PHP所有常用的环境变量

2010年4月30日 邹清水 1 条评论

在PHP网站开发中,为了满足网站的需要,时常需要对PHP环境变量进行设置和应用,在虚拟主机环境下,有时我们更需要通过PHP环境变量操作函数来对PHP环境变量值进行设置。为此我们有必要对PHP环境变量先有所熟悉。今天和大家分享PHP环境变量$_SERVER和PHP系统常量的部分详细说明。

PHP环境变量主要有$GLOBALS[]、$_SERVER[]、$_GET[]、$_POST[]、$_COOKIE[]、$_FILES[]、$_ENV[]、$_REQUEST[]、$_SESSION[]。$_GET 和$_POST主要针对FORM表单提交的数据,$_COOKIE和$_SESSION主要针对客户端游览器和服务器端会话数据。$_FILES主要针对文件上传时提交的数据,$_REQUEST主要针对提交表单中所有请求数组,包括$_GET、$_POST、$_COOKIE中的所有内容,你可以通过print_r函数分别输出$_REQUEST或者$_COOKIE等进行比较。PHP环境如何搭建?

PHP环境变量$_SERVER

是一个包含服务器端相关信息的PHP全局环境变量,在PHP4.1.0之前的版本使用$HTTP_SERVER_VARS。更多信息可以参考这里。

$_SERVER['PHP_SELF'] 当前正在执行脚本的文件名,与 document root相关。在FORM表单中,如执行文件是本身,你可以在ACTION中使用$_SERVER['PHP_SELF'],好处是当执行文件名有变动时可以不去频繁替换ACTION中的文件名。

$_SERVER['SERVER_NAME'] 当前运行的PHP程序所在服务器主机的名称。

$_SERVER['REQUEST_METHOD'] 访问页面时的请求方法,即GET、HEAD、POST、PUT。

$_SERVER['DOCUMENT_ROOT'] 当前运行的PHP程序所在的文档根目录。也就是PHP.INI文件中的定义。

$_SERVER['HTTP_REFERER'] 链接到当前页面的前一页面的URL地址。在页面跳转功能中非常有用。

$_SERVER['REMOTE_ADDR'] 正在浏览当前页面访问者的IP地址。

$_SERVER['REMOTE_HOST'] 正在浏览当前页面用户的主机名。

$_SERVER['REMOTE_PORT'] 正在游览的用户连接到服务器时所使用的端口。

$_SERVER['SCRIPT_FILENAME'] 当前执行脚本的绝对路径名。

$_SERVER['SERVER_PORT'] 服务器所使用的端口

$_SERVER['SCRIPT_NAME'] 包含当前脚本的路径。这在页面需要指向自己时非常有用。

$_SERVER['REQUEST_URI'] 访问此页面所需的URI。如“/index.html”。

$_SERVER['PHP_AUTH_USER'] 应用在HTTP用户登录认证功能中,这个变量是用户输入的用户名。

$_SERVER['PHP_AUTH_PW'] 应用在HTTP用户登录认证功能中,这个变量便是用户输入的密码。

$_SERVER['AUTH_TYPE'] 应用在HTTP用户登录认证功能中,这个变量便是认证的类型。

注:上述提到的这些PHP全局环境变量,在php.ini中的 register_globals设置为on时,这些变量在所有PHP程序脚本中都可用,也就是$_SERVER数组被分离了。当然为了安全考虑,还是不要将register_globals打开为好。

PHP系统常量

__FILE__ 当前PHP程序脚本的绝对路径及文件名称

__LINE__ 存储该常量所在的行号

__FUNCTION__ 存储该常量所在的函数名称

__CLASS__ 存储该常量所在的类的名称

PHP_VERSION 存储当前PHP的版本号,也可以通过PHPVERSION()函数获取。

PHP_OS 存储当前服务器的操作系统

  • Share/Bookmark
分类: PHP 标签:

安装 news and archive manager可能导致首页无法显示

2010年4月29日 邹清水 没有评论

清水最新观察显示,安装 news and archive manager可能导致首页无法显示。

请广大zen cart使用者朋友们注意啦,安装news and archive manager这个插件时,一定要特别注意备份原网站。

如果你想减少麻烦,请备份includes\templates\template_default\templates\tpl_index_default.php 以待观察

  • Share/Bookmark
分类: zen-cart 标签:

[zen cart]Lightinthebox后台不能显示部分目录的产品,新建的目录正常

2010年4月11日 邹清水 39 条评论

问题1:zen cart安装后台权限管理模块(admin_auth)模块后,通过easypopulate导入的产品为什么不能在后台显示?

问题2:Lightinthebox,通过easypopulate导入的产品为什么不能在后台显示?

这两个问题的解决方法其实是一样的:
抱歉,只有对本文发表过评论才能阅读隐藏内容

  • Share/Bookmark
分类: zen-cart 标签: ,

robots.txt for zen cart

2010年4月8日 邹清水 没有评论

User-agent: *
Disallow: /cache/
Disallow: /contrib/
Disallow: /docs/
Disallow: /extras/
Disallow: /htmlarea/
Disallow: /stats/
Disallow: /sitemap/
Disallow: /graphics/
Disallow: /login.html
Disallow: /privacy.html
Disallow: /conditions.html
Disallow: /contact_us.html
Disallow: /gv_faq.html
Disallow: /discount_coupon.html
Disallow: /unsubscribe.html
Disallow: /shopping_cart.html
Disallow: /ask_a_question.html
Disallow: /popup_image_additional.html
Disallow: /product_reviews_write.html
Disallow: /tell_a_friend.html
Disallow: /pages-popup_image.html?
Disallow: /popup_image_additional.html?
Disallow: /login.html

User-agent: Googlebot-Image
Disallow: /

  • Share/Bookmark
分类: zen-cart 标签:

关于 news_articles_management_v2_110 新闻管理模块的首页调用

2010年4月3日 邹清水 没有评论

来这个论坛也有些日子了,一直在吸收,挺过意不去的…… ID也是刚注册的 ;) 最近看到很多人朋友在问如何调用 news_articles_management_v2_110 的新闻,今天就把我的经验分享给大家~~
下载includes附件解压到相应目录(your_templates表示你的模板目录)
找到 includes/templates/your_templates/css/stylesheet_your_templates.css 文件,加入如下代码(调用列表的CSS可根据自己需要调整):

代码:
/* news list */
.newslist {width:791px;margin:auto;margin-top:10px;border:solid 1px #D3D3D3;color:#000000;}
.newslist .newsheader {line-height:30px;height:30px;text-align:left;margin-left:15px;margin-right:15px;border-bottom:solid 1px #D3D3D3;}
.newslist .box5 {width:293px;margin-left:8px;padding-left:5px;padding-top:4px;padding-bottom:4px;float:left;background:url(../images/icon_itf.gif) left center no-repeat;}
.newslist .box5 a {color:#000000;}
/* call news list */
.callnewslist {width:990px;margin:auto;margin-top:10px;border:solid 1px #D3D3D3;color:#000000;}
.callnewslist .callnewsheader {line-height:30px;height:30px;text-align:left;margin-left:15px;margin-right:15px;border-bottom:solid 1px #D3D3D3;}
.callnewslist .callbox5 {width:293px;margin-left:8px;padding-left:5px;padding-top:4px;padding-bottom:4px;float:left;background:url(../images/icon_itf.gif) left center no-repeat;}
.callnewslist .callbox5 a {color:#000000;}

然 后找到includes/templates/your_templates/common/tpl_main_page.php 找到如下代码:

代码:
<?php
/**
* prepares and displays footer output
*
*/
if (CUSTOMERS_APPROVAL_AUTHORIZATION == 1 && CUSTOMERS_AUTHORIZATION_FOOTER_OFF == 'true' and ($_SESSION['customers_authorization'] != 0 or $_SESSION['customer_id'] == '')) {
$flag_disable_footer = true;
}
require($template->get_template_dir('tpl_footer.php',DIR_WS_TEMPLATE, $current_page_base,'common'). '/tpl_footer.php');
?>

在 这些段上面加入此段代码(这段是调用新闻列表的位置,自己根据需要调整):

代码:
<?php
/**
* prepares and displays news
*/
require($template->get_template_dir('tpl_modules_news_list.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_news_list.php');
?>

最 后找到/includes/modules/meta_tags.php 文件加入如下代码(此段是定义文章title代码):

代码: 全选
//// Dynamic titles for news pages
// BOF
case 'news':
if (isset($_GET['date']) && zen_not_null($_GET['date'])) {
define('META_TAG_TITLE', (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . SECONDARY_SECTION : '') . zen_date_long($date) . PRIMARY_SECTION . TITLE . TAGLINE);
} else {
define('META_TAG_TITLE', (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . PRIMARY_SECTION : '') . TITLE . TAGLINE);
}

define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . NAVBAR_TITLE . SECONDARY_SECTION . KEYWORDS);
define('META_TAG_KEYWORDS', KEYWORDS . ' ' . NAVBAR_TITLE);
break;

case 'news_article':
define('META_TAG_TITLE', $article->fields['news_article_name'] .  PRIMARY_SECTION . TITLE . TAGLINE);
define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . NAVBAR_TITLE . SECONDARY_SECTION . KEYWORDS);
define('META_TAG_KEYWORDS', KEYWORDS . ' ' . NAVBAR_TITLE);
break;

case 'news_comments':
define('META_TAG_TITLE', (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . SECONDARY_SECTION : '') . $article->fields['news_article_name'] . SECONDARY_SECTION . NAVBAR_TITLE_COMMENTS . PRIMARY_SECTION . TITLE . TAGLINE);
define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . NAVBAR_TITLE . SECONDARY_SECTION . KEYWORDS);
define('META_TAG_KEYWORDS', KEYWORDS . ' ' . NAVBAR_TITLE);
break;

case 'news_archive':
define('META_TAG_TITLE', (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . SECONDARY_SECTION : '') . news_date_archive($archive_date) . PRIMARY_SECTION . TITLE . TAGLINE);
define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . NAVBAR_TITLE . SECONDARY_SECTION . KEYWORDS);
define('META_TAG_KEYWORDS', KEYWORDS . ' ' . NAVBAR_TITLE);
break;
// EOF
//// Dynamic titles for news pages

本文摘自zen cart 中文官方论坛 ,作为学习笔记之用。
  • Share/Bookmark

【zen cart】在后台添加可以修改TITLE的补丁

2010年3月29日 邹清水 12 条评论

发布一个zen cart补丁,无风的飘逸自己做的:

zen cart easykeyword

欢迎朋友们来下载使用,有什么意见或建议,请回复评论,我会跟踪的。
另补上使用方法:

解压密码是:www.zouqingshui.net

使用方法:在后台tools->install sql pacthes 数据库导入工具里导入该脚本即可。
本补丁没有任何辅助文件支持。

导入补丁后,在configuration->my store 里即可以看到针对title,keywords等的设置

  • Share/Bookmark

zen cart的image handle2插件的弊端

2010年3月19日 邹清水 3 条评论

众所周知,zen cart有一个很好用的插件叫image handle2,它的作用就是增加图片显示对客户的友好程度。
但是这个插件也有一个缺点:因为重新生成了图片缓存,导致图片的路径被随机字符串代替了,这样图片路径里所加的关键字被替换了,要知道这样无形中降低了网 站关键字的密度,对SEO来讲是致命的。
以前SEOER一般会选择不使用image handle2这个插件,牺牲一点客户的体验度来换取排名,毕竟没有排名的话,客户根本就看不到自己的网站,那么要体验度何用呢?

但是今天,无风找到了一个解决这个冲突的办法,迫不急待地要告诉大家:

欢迎大家浏览下文《

zen cart解决image handle2插件对SEO的影响的一个方法

  • Share/Bookmark
分类: zen-cart 标签: , ,