小编Ant*_*ony的帖子

在头部添加noscript以包装重定向的有效方法

所以我想一个简单的方法来处理浏览器禁用的javascript将如下:

<head>
        <title>JavaScript Test</title>
        <noscript>
                <meta http-equiv="Refresh"
                        content="1;url=nojs.html" />
        </noscript>
</head>
Run Code Online (Sandbox Code Playgroud)

并且具有nojs.html有类似:

<p>Return to <a href="jstest.html">test</a> after enabling javascrpt.</p> 
Run Code Online (Sandbox Code Playgroud)

在崩溃页面.

这不是我首选的方法,但它很好很简单,直到可以为没有javascript的用户设计出更优雅的东西.

但是,<noscript>在该head部分中放置一个元素是无效的.当然,初步测试仍然有效,但是当我的代码有效时,我很迷信,而且我讨厌实际上无法进行现场测试.

那么有一种有效的方法吗?也许包装noscript在另一个元素中,就像对象标签一样?或者更简单的一些我没想到的方式?

html javascript xhtml noscript

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

MySQL通配符为"=" - 有一个

所以,

SELECT * FROM table WHERE col LIKE '%'
Run Code Online (Sandbox Code Playgroud)

将返回一切.是否有查询的通配符

SELECT * FROM table WHERE col = '*'
Run Code Online (Sandbox Code Playgroud)

显然*不起作用,我只是把它放在那里,以表明我想要一个通配符.我选择的列包含1到12之间的整数,我希望能够选择具有特定数字的所有记录,或者选择带有通配符的所有记录.

谢谢,

mysql wildcard

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

我为什么要在PHP中使用按位/位掩码?

我正在使用PHP的用户角色/权限系统来处理脚本.

下面是使用我在phpbuilder.com上找到的权限的位掩码方法的代码.

在那个部分下面是一个更简单的版本w3hich可以做基本相同的事情没有位部分.

许多人建议在PHP中使用位操作符等设置和其他东西,但我从来没有理解为什么.在下面的代码中,使用第一个代码而不是第二个代码有什么好处

<?php
/**
 * Correct the variables stored in array.
 * @param    integer    $mask Integer of the bit
 * @return    array
 */
function bitMask($mask = 0) {
    $return = array();
    while ($mask > 0) {
        for($i = 0, $n = 0; $i <= $mask; $i = 1 * pow(2, $n), $n++) {
            $end = $i;
        }
        $return[] = $end;
        $mask = $mask - $end;
    }
    sort($return);
    return $return;
}


define('PERMISSION_DENIED', 0);
define('PERMISSION_READ', 1);
define('PERMISSION_ADD',  2); …
Run Code Online (Sandbox Code Playgroud)

php bit-manipulation bitmask

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

从Exchange电子邮件地址获取自动发现URL

我从一个Exchange 2007服务器的地址开始:

user@domain.exchangeserver.org
Run Code Online (Sandbox Code Playgroud)

我尝试发送自动发现请求,如MSDN中所述.

我尝试使用TechNet白皮书中记录的通用自动发现地址.

因此,curl在PHP上使用,我发送了以下请求:

<Autodiscover 
 xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/requestschema/2006">
   <Request>
     <EMailAddress>user@domain.exchangeserver.org</EMailAddress>
     <AcceptableResponseSchema>
       http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a
    </AcceptableResponseSchema>
   </Request>
 </Autodiscover>
Run Code Online (Sandbox Code Playgroud)

到以下网址:

https://domain.exchangeserver.org/autodiscover/autodiscover.xml
Run Code Online (Sandbox Code Playgroud)

但没有得到回应,只是最终超时.

我也尝试过:

https://autodiscover.domain.exchangeserver.org/autodiscover/autodiscover.xml
Run Code Online (Sandbox Code Playgroud)

结果相同.

现在,由于我的更大目标是使用自动发现和Exchange Web服务,并且由于所有EWS URL通常使用与Outlook Web Access地址相同的子域,我想我会看到自动发现URL是否也是如此.由于OWA URL是:

OWA:  https://wmail.domain.exchangeserver.org
Run Code Online (Sandbox Code Playgroud)

我试过了:

https://wmail.domain.exchangeserver.org/autodiscover/autodiscover.xml
Run Code Online (Sandbox Code Playgroud)

果然,我收到了预期的回应.

但是,我只知道OWA子域,因为它是我可以访问的服务器,而且我用来测试所有内容.如果这是一个实时应用程序并且用户输入了他们自己的Exchange电子邮件,我肯定不会知道它或能够猜测它.

我知道在不知道OWA URL的情况下必须可以使用自动发现设置,因为我可以输入:

user@domain.exchangeserver.org
Run Code Online (Sandbox Code Playgroud)

进入Snow Leopard上的Apple Mail,它可以毫无困难地找到所有东西.

所以问题是......

  1. 应该https://domain.exchangeserver.org/autodiscover/autodiscover.xml有用,我只是错过了尝试连接它的一步?要么,

  2. 是否有一些技巧(可能涉及ping电子邮件地址?)Apple Mail和其他客户端在发送自动发现请求之前用于将地址解析为OWA子域?

感谢任何知道或可以猜测的人.

exchange-server autodiscovery exchangewebservices

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

Unix权限,读取与执行(PHP上下文)

我有一个PHP脚本,需要连接到数据库.数据库的凭据存储在另一个PHP脚本中.

如果我将凭证文件的权限设置为661,以便Public具有执行权限但不具有读取权限,这是否允许主脚本访问凭据并连接到数据库,同时防止在服务器上拥有用户帐户的人查看凭证文件的内容?

我想我对阅读和执行之间的区别感到困惑.php脚本(以www或类似的方式运行)是否需要读取权限才能包含另一个php脚本并使用其中的任何内容?还是只需要执行?读取权限是否隐含地赋予执行权限?

子问题:如果我将所有脚本设置为只具有执行权限而不读取,那么我应该期待任何陷阱吗?这假设我将保留任何我需要显式读取权限(数据文件)设置为读取的文件.

php unix permissions include

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

尝试/捕获jquery ajax请求

我正在尝试构建一个发出ajax请求的Google Chrome扩展程序.类似于GMail Checker扩展的东西.问题是当我使用jquery执行请求时,我输入了错误的用户名/密码,它会无声地失败,并忽略错误回调函数.

如果我将ajax调用移出background.html脚本(我在开发人员窗口中看不到请求),那么对于options.html脚本,我会得到一个对话框来重新进行身份验证.如果我点击取消,那么jquery错误回调将触发.

但是在原始模型扩展(再次,Gmail检查器)中,他们使用带有try/catch的普通(非jquery)ajax调用,如果我输入了错误的凭据,我会得到一个警告说同样多.

我尝试在try/catch中包装整个jquery调用,如下所示:

try {
    $.ajax({
        type: "POST",
        url: someurl,
        contentType : "text/xml",
        data: somedata,
        username: user,
        password: pass,
        success: function(data,status,xhr){
            alert("Hurrah!");
        },
        error: function(xhr, status, error){
            alert("Error!" + xhr.status);
        },
        dataType: "xml"
    });
} catch(e) {
    alert("You messed something up!");
}
Run Code Online (Sandbox Code Playgroud)

但仍然没有.

该错误是由于它是异步的,还是Chrome没有将请求作为错误返回,因为它想要重新提示凭据?或者我只是不知道如何使用try/catch?

更新

这是模型代码如何处理请求的非常简洁的版本:

var req = new XMLHttpRequest();
req.onreadystatechange = function() {
    try {
        if ( req.readyState == 4 ) {
            //Do some stuff with results
        }
    }
    catch (ex) {
        alert('Error parsing response.'); …
Run Code Online (Sandbox Code Playgroud)

ajax jquery exception-handling

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

基于MySQL中其他列的查询条件列

我很确定我已经在某个地方见过这个,但我找不到合适的术语,所以我遇到了麻烦......

假设我有一个包含用户信息的表(让我们假设它是由比我更多付费的人创建的,因此修改模式不是一种选择.)用户信息的各个列中有DOB和职称的列.我想要一个查询,根据这些列中的内容,将包含一个名为"Real_Title"的额外列,例如:

User_id    Job_Title    DOB
  joe_1      manager    01/01/1950
  jim_1    associate    01/01/1970
 jill_1    associate    01/01/1985
 jane_1      manager    01/01/1975
Run Code Online (Sandbox Code Playgroud)

查询:

SELECT User_id, Real_Title FROM users
IF (YEAR(DOB) < 1980 AND Job_Title = "manager")
   {Real_Title = "Old Fart"}
ELSE IF (YEAR(DOB) < 1980 AND Job_Title = "associate")
   {Real_Title = "Old Timer"}
ELSE IF (YEAR(DOB) > 1980 AND Job_Title = "manager")
   {Real_Title = "Eager Beaver"}
ELSE IF (YEAR(DOB) > 1980 AND Job_Title = "associate")
   {Real_Title = "Slacker"}
Run Code Online (Sandbox Code Playgroud)

我知道上面的内容不仅错误,而且编码效率也非常低,但我想把这个想法贯穿其中.

有没有一种方法,不使用连接,根据同一个表中一个或多个其他列中的信息填充列?

目前我在获取结果后在PHP脚本中使用了一些东西来将这些结果引导到我想要的组中,但如果可以在查询中完成,那么将查询移植到其他脚本和语言会更容易.

谢谢!

mysql database syntax conditional

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

在MySQL中使用INSERT ... SELECT添加额外的列值

我有两个表,我的目标是将第一个表中的特定数据移动到第二个表中以及移动数据的原因.例如:

raw_data_table

SELECT * FROM raw_data_table where id IS NULL;
Run Code Online (Sandbox Code Playgroud)

我想将它移动到第二个表中,除了额外的列之外,它与第一个表相同reason.我试过了:

INSERT INTO bad_data_table 
(SELECT * FROM raw_data_table WHERE id IS NULL), "The ID is NULL";
Run Code Online (Sandbox Code Playgroud)

但是这会返回语法错误.如何复制整行并添加原因值?

mysql

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

MySQL在哪里不是非常慢

下面是存储过程中的SQL语句(为简洁而截断):

SELECT * 
FROM item a 
WHERE a.orderId NOT IN (SELECT orderId FROM table_excluded_item);
Run Code Online (Sandbox Code Playgroud)

这个陈述需要30秒左右!但是,如果我删除内部SELECT查询,它将降至1秒.table_excluded_item并不是很大,但我怀疑内部查询的执行速度超过了它的需要.

有更有效的方法吗?

mysql sql query-optimization

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

Google日历API:选择/创建日历?

因此,当计划管理员发布/更新计划时,我希望我们的工作日历能够自动与每个员工的Google日历同步.用户最初会选择使用AuthSub令牌,但之后应该是自动的.为了避免与他们安排的其他事件发生冲突,我想创建一个名为"Work App"的新日历或其他相当独特的日历.然后,对于更新,它将在创建新事件之前简单地删除该范围内的任何事件.所以我有一些问题......

  1. 如何使用API​​选择我想要的特定日历?(顺便说一句,使用Zend Framework,这一切都在PHP中).我看到我可以在哪里查询日历列表,但文档没有显示如何添加到该特定日历.

  2. 我可以创建日历吗?我是否需要让选择创建此类日历的用户?如果是这样,是否有一个我可以生成的URL来创建一个像添加事件一样的URL?(任何使事情简单和一致的事情,对吧?)

  3. 显然,我不希望用户存储他们的凭据,但我也不想为每次更新请求访问权限.我是否需要OAuth令牌才能拥有持久访问权限?我知道URL令牌是一次性使用,但是我可以存储会话令牌并在一周后重用它吗?

  4. 除了查询每个事件以外,还有其他方法可以避免重复吗?我昨晚测试了这个,现在我有7个相同的50个事件的实例.我不希望在每次添加之前通过检查添加到服务器时间.

  5. 最后,有没有办法添加几个事件,甚至只是简单地将ics文件推送到日历.现在我让脚本执行SQL查询并在结果循环时添加每个事件.它似乎需要比预期更长的时间,因此只需构建ics文件或将所有事件添加到一个对象并一次添加它们就会更好.谢谢!

php mysql google-calendar-api

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