<!--{php $data = subcat($module, $catid);}-->{loop $data $n $r}<!--遍历数组$data--><? $j++; ?>{/loop} <!---光给$j叠加???有必要遍历一次数组吗?--> {loop $data $n $r}<!--遍历数组$data--><?$i++;//if ($i==6 or $i==12)//这里是设定你要输出换行符号的位置改成6和12了,是6或者12输出<br>否则|{$zhi="<br>";}else{$zhi=" | ";}?>{if $r[ismenu]}<!--若$r[ismenu]有值---><a href="{$str_replace("index.html","",$r[url])}" target="_blank" id="menu_{$r[catid]}" class="{$r[style]}">{$r[catname]}</a>{$zhi}{/if}{/loop}
this.PHP里面“这个”的代码,如果相同方法里面,用$this->引用。
你本意是要在js中读取php输出的值对吗?你可以先把php输出的值放到一个div里面,在再js获取div的值就可以 了建议用jquery <html><head><title></title><script src="jquery-1.7.2.min.js" type="text/javascript"></script><script>$(function(){ var tit = $("#tt").attr("title"); var txt = $("#tt").text(); alert(tit+"-=---"+txt);})</script></head><body><div id="tt" name="tt" title="<?php echo "cccccssfa"; ?>"><?php echo "fsadfsd"; ?></div></body></html>
关键是要放的位置是js生成出来的
这有什么关系吗,你不是就是要php的值,上面的方法已经可以实现了呀,先把值放到一个隐藏的div里面,然后再在js里获取,至于获取以后,你要把它放到哪不是都可以吗
回答你第一个问题:其实文件名称不要改成html还是php但是,这浏览器中确实可以输入html来执行php文件有一个方法就是对服务器进行设置,也就是常说的伪静态比如:RewriteRule (\d+).html$ /index.php?id=$1这样,所有名称为数字的html请求,都会执行index.php文件,并提供参数id,值就是那个htm的文件名换句话说,这浏览器中访问 123.html 其实访问的url是 index.php?id=123 至于优点缺点,其实也没什么,只是伪装成html,一个是网址更好记,一个是对于搜索引擎来说,有益于优化至于模板的问题,不做评论,自己体会!
大侠原来如此啊!那我有一些产品,我想为自己做一个电子商务网站,虽然还是菜鸟,但是鼓捣鼓捣还是能写出来,你觉得我使用smarty模板写好呢?还是自己写好呢?其实我觉得写代码就是一种艺术,想自己写,而且还要学SMARTY模板很麻烦啊,而且我有可能看不懂
这个不妄加评论!只是说说个人看法,仅仅代表个人,不是定理,仅作参考啊!现在网上流传的一些无论是国内还是国外的框架,都还是很成熟的,毕竟人家是经过长时间的测试运行并加以改进来着!但,如果是我,我会自己写,不会用他们的!理由就是:别人写好的框架,由于是开源的,提供给大众使用的,那么这些框架就需要适合大众化的要求,自然功能强大,那么代码也就强大!但,同时他的构造以及代码都很臃肿,打个比方说,有一件工具,既能造飞机大炮,又能做饭,但我只需要做饭,那是不是那些飞机大炮的功能都是多余呢?所以,我会自己写一个框架,只是适合我自己情况的,无需太多的考虑和无相关的元素。简洁而耐用!况且,自己写代码、写框架,不也是有利于自己的开发能力和水平嘛!自己动手做自己的饭,也许有一天能成为厨神一直吃别人做好的饭,除了能成为吃货以外,自己对做饭还是一无所成个人看法啊!
html跟PHP分离的话,就涉及MVC架构,你说的html后缀是伪静态,目前不少PHP框架能做到你说的,比如说TP框架追问
不是,我想问的不是怎么分离,是我写了一个既有php代码,又有html标签的文件,这个文件被放到apache上后,我去访问时,是不是apache把里面的php代码提出来了,然后重新生成一个新的html给我看?追答
不是,是同一个文件,先执行php程序,然后再执行html,你看到的是两个执行后的结果,还是在当前文件。本回答被提问者和网友采纳
这是php语法问题php在一个文件中多个<?php ?>等同于1个也就是说在一个文件中<?php 代码1 ?> <?php 代码2 ?>等同于 <?php 代码1 代码2 ?>因此可以写成<?php foreach( 。。。) { ?> <?php }?>注意上面的"{}"必需是一对,否则就报错同样,在纯粹的php代码里,你也要保证{}是一对
<?phpheader("content-type:text/html;charset=utf-8");//设置编码集include_once("system/system.inc.php");//引用配置文件$sql="select * from tb_links";//sql语句$linkarr=$admindb->ExecSQL($sql,$conn);//执行SQL$smarty->assign('linkarr',$linkarr);//实例化对象$smarty->assign('title','查看连接');$smarty->display('showlinks.tpl');//在showlinks.tpl模版文件里面可以用{$linkarr}接收数据库值?>
$linkarr=$admindb->ExecSQL($sql,$conn);这句能再解释详细一点么~
$linkarr=$admindb->ExecSQL($sql,$conn);//执行$admindb对象的ExecSQL函数,传入SQL语句和数据库连接两个参数,把返回的数据结果赋值给$linkarr
$string='echo mt_rand()."<br>";echo var_dump(0===0.0);phpinfo();echo "操作系统:".PHP_OS."<br>";';用单引号括起来,"<br>"那行你得用html来解决
首先吧,代码中没有引入jquery库....
其次吧,因为是input:submit,点击的时候不能直接用这个$("#confirm").click,可以用bind绑定事件,如
$('#confirm').bind('click', function() {
alert('sss');
});
再次吧,submit提交表单的时候会有一个刷新页面的动作,click事件是在页面刷新之前(也就是表单提交之前)执行的,所以根本没有$_POST['name'];这个东西,$("#new").after()里面还是个空的
所以你这个可以改一下,
$(document).ready(function(){ $("#new").after("<?php echo $_POST['name'];?>"); //放在这里可以在提交之后看到内容 $('#confirm').bind('click', function() { //$("#new").after("<?php echo $_POST['name'];?>"); //这里是提交之前执行的 }); });