小编Ran*_*Guy的帖子

如何获取当前的PHP页面名称

可能重复:
获取当前脚本文件名

我有一个文件demo.php,我在URL中没有任何GET变量,所以如果我想隐藏一个按钮,如果我在这个页面上,我不能使用这样的东西:

if($_GET['name'] == 'value') {
  //Hide
} else {
  //show
}
Run Code Online (Sandbox Code Playgroud)

所以我想要类似的东西

$filename = //get file name
if($filename == 'file_name.php') {
  //Hide
} else {
  //show
}
Run Code Online (Sandbox Code Playgroud)

我不想仅仅因为这样做而声明不必要的GET变量......

php

105
推荐指数
3
解决办法
29万
查看次数

用户代理字符串中的"Mozilla/5.0"表示什么?

$_SERVER['HTTP_USER_AGENT']在登录我的网站后用来记录用户的浏览器和操作系统,当我向echo他展示这些时

火狐

Mozilla/5.0 (Windows NT 6.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Run Code Online (Sandbox Code Playgroud)

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/535.19
Run Code Online (Sandbox Code Playgroud)

苹果浏览器

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50
Run Code Online (Sandbox Code Playgroud)

歌剧

Opera/9.80 (Windows NT 6.1; U; en) Presto/2.9.168 Version/11.50
Run Code Online (Sandbox Code Playgroud)

IE

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Run Code Online (Sandbox Code Playgroud)

我很想知道为什么Mozilla/5.0echo在IE浏览器,Safari和Chrome中都有前缀?

browser user-agent mozilla http

21
推荐指数
0
解决办法
1万
查看次数

隐藏表JavaScript中的列

这个脚本在我在表中添加表时停止工作,那么如何使它工作?我不需要任何jQuery解决方案,我想要纯JavaScript.这是我在互联网上找到的脚本:

<script>

  function show_hide_column(col_no, do_show) {

    var stl;
    if (do_show) stl = 'block'
    else         stl = 'none';

    var tbl  = document.getElementById('id_of_table');
    var rows = tbl.getElementsByTagName('tr');

    for (var row=1; row<rows.length;row++) {
      var cels = rows[row].getElementsByTagName('td')
      cels[col_no].style.display=stl;
    }
  }

</script>
Run Code Online (Sandbox Code Playgroud)

这是我的HTML:

<table id='id_of_table' border=1>
  <tr><td colspan="4"><table><tr><td></td></tr></table></td></tr>
  <tr><td>  2</td><td>   two</td><td>   deux</td><td>     zwei</td></tr>
  <tr><td>  3</td><td> three</td><td>  trois</td><td>     drei</td></tr>
  <tr><td>  4</td><td>  four</td><td>quattre</td><td>     vier</td></tr>
  <tr><td>  5</td><td>  five</td><td>   cinq</td><td>f&uuml;nf</td></tr>
  <tr><td>  6</td><td>   six</td><td>    six</td><td>    sechs</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

这是我的表格:

<form>
  Enter column no: <input …
Run Code Online (Sandbox Code Playgroud)

html javascript

14
推荐指数
2
解决办法
6万
查看次数

.htaccess不重定向到404.php而是显示页面名称

我试图为我的网站制作一个自定义的404页面,并且我.htaccess在使用此规则的根目录中有文件

ErrorDocument 404 404.php //I want to redirect to 404

因此,当我更改有效的文件名时home.php,home1.php它不会重定向我,而是404.php在该页面上回显

侧注:404.php仅在根目录中

php .htaccess http-status-code-404

12
推荐指数
2
解决办法
2万
查看次数

重写URL www.domain.com在我的页面上导致404

好的,所以我在我的网站上重写了URL,现在出于某种原因,如果我输入www.domain.com就会抛出404错误,如果我输入domian.com,一切正常.

DirectoryIndex home.php

IndexIgnore *
#RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
#RewriteRule ^(.*)$ http://%1/directory/$1 [L,R=301]

RewriteRule ^home/?$   home.php  [NC]
RewriteRule ^about/?$   about.php  [NC]

RewriteRule ^404/?$   404.php  [NC]

ErrorDocument 404 http://domain.com/directory/404
Run Code Online (Sandbox Code Playgroud)

注意:我已经评论了前2个重写规则,即使我更改它们,它在上传.htaccess到服务器后也没有效果,感觉就像它被缓存了一样.

附加信息,我正在使用<base>标签embeds.php

if($_SERVER['REMOTE_ADDR'] == '::1') {
    echo '<base href="http://localhost/projects/directory/" />';
} else {
    echo '<base href="http://domain.com/directory/" />';
}
Run Code Online (Sandbox Code Playgroud)

目录结构

Root -
  home.php
  about.php
     -stylesheets
      default.css
     -includes
      embeds.php
  404.php
  .htaccess
Run Code Online (Sandbox Code Playgroud)

embeds.php包括home.php,about.php等,样式,脚本等,inshort头部沿 <base>标记在embeds.php

php .htaccess url-rewriting

6
推荐指数
1
解决办法
232
查看次数

我真的需要规范化我的数据库吗?

好的我最近问了一个问题,用户回答的是我应该规范化我的数据库,但我认为我不应该这样做.

逻辑是这样的

我在数据库中存储脚本,这些脚本是根据用户动态执行的.

例如,有一个脚本表

script_id | script_name
+----------------------+
12345       demo1
54462       demo2
90874       demo3
43058       demo4
Run Code Online (Sandbox Code Playgroud)

现在是用户表

allowed_script_ids
+-----------------+
21345|90874
Run Code Online (Sandbox Code Playgroud)

所以这里很简单,但是如果我删除了,那么会发生什么script_id 90874,但它不会从用户表中删除记录,因此他们建议我对数据库进行规范化,但是如果用户可以访问1000个脚本呢?我需要1000条记录吗?或者我应该继续前进的方式?即使我为每次访问插入每个记录条目,我也需要在每次撤销该用户的访问权限时删除它们.

php mysql

5
推荐指数
1
解决办法
193
查看次数

使用jQuery保留切换状态

可能重复:
使用Cookie切换jQuery

我有一个简单的切换,但切换总是在页面刷新时重置,所以我想通过设置一个cookie保持其状态,但我没有太多的想法我应该怎么做...

任何想法如何保持切换状态?

http://jsfiddle.net/Qyufx/

<div class="question_trigger">
   <p>Hi</p>
</div>
<div class="toggle_container">
   <div class="block">Hello</div>
</div>


jQuery(document).ready(function(){
        jQuery(".toggle_container").hide();
        jQuery("div.question_trigger").click(function(){
        jQuery(this).toggleClass("active").next().toggle("slow");
    });
});?
Run Code Online (Sandbox Code Playgroud)

jquery toggle

3
推荐指数
1
解决办法
5460
查看次数

在PHP中重命名数组索引

我想爆炸一个日期,但想分别将默认索引0,1,2重命名为年,月,日,我试过,但我无法弄明白.这就是现在正在做的事情.

$explode_date = explode("-", "2012-09-28");
echo $explode_date[0]; //Output is 2012
echo $explode_date[1]; //Output is 09
echo $explode_date[2]; //Output is 28
Run Code Online (Sandbox Code Playgroud)

我想要的是

echo $explode_date['year']; //Output is 2012
echo $explode_date['month']; //Output is 09
echo $explode_date['day']; //Output is 28
Run Code Online (Sandbox Code Playgroud)

谢谢..

php arrays

1
推荐指数
2
解决办法
2329
查看次数