将javascript变量传递到PHP脚本中的方法~

 更新时间:2016年11月25日 16:08  点击:1347


先用document.cookie方法把js变量写入cookie中,再用PHP取出。

<scrīpt>  

   1. var name="myqq",value="10000";  
   2. document.cookie=name+"="+value+";"  

</scrīpt> 

<?php  

echo $_COOKIE["myqq"]."<br/>";  

$my="我的QQ是".$_COOKIE["myqq"];  

echo $my;  

?> 




不包括抓图片

<?
 $buffer = file("address"); //$address 网页地址
 for($i = 0;i < sizeof($buffer);$i++)
 {
  //去yahoo广告
  $buffer[$i] = str_replace(''<!----- ad start ----->'',''<noscrīpt>''  $buffer[$i]);
  $buffer[$i] = str_replace(''<!----- ad end ----->'',''</noscrīpt>''  $buffer[$i]);
 
  //最后显示
  echo($buffer);
 }
 
?>

str_replace 3个参数 ,第一个是原文件的内容,第二个是替换成的内容.最后一个是写入的地方.

$buffer能取得整个html页面的文本档,成为一个数组,每行一个元素,简单的说就是逐行寻找替换.

替换后输出.

同样的可以把烂掉的无法显示的页面 例如成为 http://localhost/images/a.jpg 这样的替换成对应网址.

替换前查看下原HTML档对比下就行.

PHPHOME
集成: php,Apache,MySQL,phpadmin
轻松搭建Apache的PHP环境

Appserv:
出的时间比较晚,功能很完善,单独控制服务是否启动
下载地址:http://www.appservnetwork.com

WAMP:
通过名字就知道是APACHE+MYSQL+PHP的集成软件。德国人开发的,不错!
http://sourceforge.net/project/showfiles.php?group_id=116092


XAMPP:
下载地址:http://www.apachefriends.org/en
这个软件支持多个平台,WinLinuxSolarisMac OS X,目前也有不少人使用。



<

 

 


模板其实就是php和html的分离,有人也说mvc啥的。
php处理程序,把动态内容保存到变量里面,然后通过模板输出这些变量的内容,这就是模板
你可以
$rows = $db->getAll($sql);
require "tpl.html";
来输出。
你也可以
$tpl->setVar("rows",$rows);
$tpl->display("tpl.html");
来输出,总之他是输出变量里面的内容。

我感觉模板应该有下面的特征
1,就是html页面
2,即见即得
3,书写简化,容易扩展。(这一点非常重要,其实就是换个简单的书写形式)
smarty自定义函数还有什么的,还有其他模板也有类似功能。比如{article.addtime:date:Y-m-d} {article.content:nl2br:}
如果能做到上面的三点,我感觉就是一个很好的模板。
很多人说直接用php来做html模板,我比较反对这种形式
1,php代码看不到。
2,书写太繁,太麻烦。
如果看起来麻烦,书写也麻烦,我拿模板来干什么,做花瓶?

discuz的模板就是一个不错的模板,可惜2,3两点他做得不太好,我自己也做个模板。到现在也一直用,差什么就加什么,对我来说他就是一个好的模板。
1,就是html页面
2,即见即得,你看到的什么样子,输出就是什么样子。不像很多人去搞个href="$cssPath/css.css"这样去搞个,div+css的页面这种模板美工改起来肯定没少吃苦。
3,书写简化   其实就是函数的简写。就如上面的,比如发布时间需要格式化可以任意改,比如内容要吧回车变成换行,比如要把内容弄到一个编辑器。{content:htmleditor:},比如。。。。,他就是一个简写,这样做起来什么事情都事倍功半。还记得那个页面的调用吧?比如最新产品显示8个,最新。。。显示10个。(很多所谓的cms采用标签)
其实说白了就是一个foreach,传入参数返回一个二维数组。
于是就有了
<!--{loop NewProduct:sortid=1;limit=8 $product}-->
{product.productname:cut:20} ....
<!---{/loop}-->
有一天客户要求变了,要调用精华产品,于是
<!--{loop NewProduct:sortid=1;limit=8 $product}-->
变成了
<!--{loop NewProduct:sortid=1;digest=1;limit=8 $product}-->
我感觉这就是简化,美工只要明白,这里应该是循环就行了,到现在和我合作的美工还没有一个不会改我的模板的,虽然他不懂程序。
4,模板吧,你要追求速度,缓存吧。
缓存真的有用吗?俺为啥要缓存?
很多人说设置下缓存时间,html缓存就行了,这个能叫缓存么?如果是动态网页,上面写的
欢迎你,{username},你还能把他缓存了?你说不缓存吧,下面的调用又太多,咋办捏?
这时候就要用到局部缓存,什么叫局部缓存,就是缓存页面的也部分。
其实说白了也就是那些调用。
<!--{loop NewProduct:sortid=1;limit=8 $product}-->
这种地方的调用,如果首页显示20个分类的最新5篇文章,那打开页面,光这些文章调用就要20次查询。局部缓存吧
<!--{#loop NewProduct:sortid=1;limit=8 $product}-->
loop我加一个#就让他缓存了。
我加20个#,首页的调用就没数据库查询了,好像有的地方必须每次都调用最新的,咋办呢,把#去掉吧。

模板就是模板,虽然只负责显示,不一定就不重要,如果让模板变得简单倒是我们应该考虑的问题。

 



有个美国客户要改个小网站,要我帮忙。只能拣起荒废多日的PHP,重新看看.

第一关就是配置. 配置这个破东西与JAVA环境一样难伺候..为什么标榜自由的东西,总是那么难搞呢???

是个矛盾. 下面部分东西是抄袭了别人的东西,不要怪我。 打字太累.


mysql-4.1.22-win32

apache_2.0.55-win32-x86-no_ssl

php-5.2.0-Win32

phpMyAdmin-2.6.2-rc1

Zend (客户要求2.6,今天太晚,我没装呢。 明天补上)

以上软件可以到各大下载网站下载.或者直接登陆官方网站下载.而且配置教程也是一大堆,我就不做详细的技术文献了..

php的官方网站 http://www.php.net/?有中文语言服务,你甚至可以找到最新的中文php手册
php的下载页面 http://www.php.net/downloads.php

apache的官方网站 http://www.apache.org/
apache的下载页面 http://archive.apache.org/dist/httpd/


MySQL作为一款数据库软件最大的特点就是免费,当然他也非常高效,有和php相似的特性
MySQL官方网站 http://www.mysql.com/

 

安装好所有程序后.开始着手配置了.:

首先配置apache2
打开Apache2conf文件夹下面的httpd.conf配置文件
到最后 加入
LoadFile c:/php/php5ts.dll    //加载php5ts.dll,这无论是apache还是IIS都必须以来的链接库
LoadModule php5_module c:/php/php5apache2.dll     //加载php5的apache模块
AddType application/x-httpd-php .php
''www.111cn.net
查找DocumentRoot,后面是"C:/Apache2/htdocs"可能因安装路径不同而不同,
是web网页的目录所在地,可改成自己需要的地方,注意,是斜杠"/"不是反斜杠"",毕竟这是linux下面移植过来的
查找DirectoryIndex,后面应该是index.html index.html.var
这是默认的首页名称,要再添加index.php index.htm

然后是配置php
把C:php文件夹下的php.ini-recommended改名,改名为php.ini
PHP.ini:出于安全和效率的考虑,建议使用php.ini-recommended作为php.ini的蓝本,而不要使用php.ini-dist。同时PHP.ini的查找路径也不再限于PHP4时代的%SystemRoot%下了,PHP5按照以下路径查找PHP.ini:

     * PHPIniDir (Apache 2 module only)
     * 注册表键值:HKEY_LOCAL_MACHINESOFTWAREPHPIniFilePath
     * 环境变量:%PHPRC%
     * PHP5的目录 (for CLI), 或者web服务器目录(for
       SAPI modules)
     * Windows目录(C:windows or C:winnt)
这五个方案中,配合Apache2时最好使用PHPIniDir,其次是使用%PHPRC%环境变量,另外,NTFS上记得给服务器开PHP.ini的读权限。
打开php.ini,查找extension_dir后面的改为"C:/php/ext",看看那个文件夹就知道是什么东西了
查找Windows Extensions,那下面有一排的;extension=php_***.dll
开始去分号了,去掉就是支持组件
起码把
         extension=php_gd2.dll
         extension=php_mbstring.dll
         extension=php_mysql.dll
前面的分号去掉
php5开始默认不支持mysql了,所以我们要为他添加支持,除了extension=php_mysql.dll去分号之外
在php目录里有个libmysql.dll文件,把它复制到系统的system32文件夹下,复制php.ini到windows目录下

重启动机器 .OK .写了个地球人都知道的. hello word

 



<?php
    
echo ''Hello World!''
?>

看到没? 看到了就OK,看不到。那没办法,重新CHECK每个步骤.

..没办法,懒啊..



[!--infotagslink--]

相关文章

  • 使用PHP+JavaScript将HTML页面转换为图片的实例分享

    这篇文章主要介绍了使用PHP+JavaScript将HTML元素转换为图片的实例分享,文后结果的截图只能体现出替换的字体,也不能说将静态页面转为图片可以加快加载,只是这种做法比较interesting XD需要的朋友可以参考下...2016-04-19
  • PHP成员变量获取对比(类成员变量)

    下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
  • 关于JavaScript中name的意义冲突示例介绍

    在昨天的《Javascript权威指南》学习笔记之十:ECMAScript 5 增强的对象模型一文中,对于一段代码的调试出现了一个奇怪现象,现将源代码贴在下面: 复制代码 代码如下: <script type="text/javascript"> function Person(){}...2014-05-31
  • C#和JavaScript实现交互的方法

    最近做一个小项目不可避免的需要前端脚本与后台进行交互。由于是在asp.net中实现,故问题演化成asp.net中jiavascript与后台c#如何进行交互。...2020-06-25
  • C#变量命名规则小结

    本文主要介绍了C#变量命名规则小结,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-09
  • javascript自定义的addClass()方法

    复制代码 代码如下: //element:需要添加新样式的元素,value:新的样式 function addClass(element, value ){ if (!element.className){ element.className = value; }else { newClassName = element.className; newClas...2014-05-31
  • R语言 如何删除指定变量或对象

    这篇文章主要介绍了R语言删除指定变量或对象的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • JavaScript中的this关键字使用方法总结

    在javascritp中,不一定只有对象方法的上下文中才有this, 全局函数调用和其他的几种不同的上下文中也有this指代。 它可以是全局对象、当前对象或者任意对象,这完全取决于函数的调用方式。JavaScript 中函数的调用有以下...2015-03-15
  • 详解javascript数组去重问题

    首先,我想到的是另建一个结果数组,用来存储原始数组中不重复的数据。遍历原始数组依次跟结果数组中的元素进行比较,检测是否重复。于是乎,我写出了如下代码A: Array.prototype.clearRepetitionA = function(){ var resul...2015-11-08
  • JavaScript中逗号运算符介绍及使用示例

    有一道js面试题,题目是这样的:下列代码的执行结果是什么,为什么? 复制代码 代码如下: var i, j, k; for (i=0, j=0; i<10, j<6; i++, j++) { k = i+j; } document.write(k); 答案是显示10,这道题主要考察JavaScript的逗...2015-03-15
  • javascript的事件触发器介绍的实现

    事件触发器从字面意思上可以很好的理解,就是用来触发事件的,但是有些没有用过的朋友可能就会迷惑了,事件不是通常都由用户在页面上的实际操作来触发的吗?这个观点不完全正确,因为有些事件必须由程序来实现,如自定义事件,jQue...2014-06-07
  • ActiveX控件与Javascript之间的交互示例

    1、ActiveX向Javascript传参 复制代码 代码如下: <script language="javascript" for="objectname" event="fun1(arg)"> fun2(arg); </script> objectname为ActiveX控件名,通过<object>标签里的id属性设定,如下; 复制...2014-06-07
  • Javascript类型转换的规则实例解析

    这篇文章主要介绍了Javascript类型转换的规则实例解析,涉及到javascript类型转换相关知识,对本文感兴趣的朋友一起学习吧...2016-02-27
  • 详解JavaScript操作HTML DOM的基本方式

    通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。 HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。 HTML DOM 模型被构造为对象的树: 通过可编程的对象模型,Java...2015-10-23
  • JavaScript获取浏览器信息的方法

    Window有navigator对象让我们得知浏览器的全部信息.我们可以利用一系列的API函数得知浏览器的信息.JavaScript代码如下:function message(){ txt = "<p>浏览器代码名: " + navigator.appCodeName + "</p>";txt+= "<p>...2015-11-24
  • 跟我学习javascript的最新标准ES6

    虽然ES6都还没真正发布,但已经有用ES6重写的程序了,各种关于ES789的提议已经开始了,这你敢信。潮流不是我等大众所能追赶的。潮流虽然太快,但我们不停下学习的步伐,就不会被潮流丢下的,下面来领略下ES6中新特性,一堵新生代JS...2015-11-24
  • javascript设计模式之解释器模式详解

    神马是“解释器模式”?先翻开《GOF》看看Definition:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。在开篇之前还是要科普几个概念: 抽象语法树: 解释器模式并未解释如...2014-06-07
  • 学习JavaScript设计模式之装饰者模式

    这篇文章主要为大家介绍了JavaScript设计模式中的装饰者模式,对JavaScript设计模式感兴趣的小伙伴们可以参考一下...2016-01-21
  • JavaScript预解析,对象详解

    这篇文章主要介绍了JavaScript预解析,对象的的相关资料,小编觉得这篇文章写的还不错,需要的朋友可以参考下,希望能够给你带来帮助...2021-11-10
  • 解决vue的router组件component在import时不能使用变量问题

    这篇文章主要介绍了解决vue的router组件component在import时不能使用变量问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-27