小编sha*_*arf的帖子

究竟如何在PHP中使用blowfish?

可能重复:
使用PHP加密和解密密码的最佳方式?

我最近用PHP做了很多事情,想要建立我的第一个登录/注册系统.因此,我一直在网上做很多阅读,以找出实现这一目标的最佳方法.我遇到了几个指南,我对几个实例感到困惑,在开始这条路之前我想确定一下.

我的问题是我究竟如何使用河豚?我已经读过如果提供适当的盐,crypt()将自动选择河豚.如果是这样的话,是什么让盐河豚适合?

现在,我有一个脚本,它从日期和时间中取出一个盐,一个随机数,然后哈希为盐.那是否可以与河豚一起使用?

php passwords hash crypt blowfish

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

绝对顶部:0底部:0在IE11中的表格单元格内不起作用

建立我以前的问题,我有这个小提琴

它在小视图中的一列顶部有两列,在其他视图中一行有3列.这按预期工作.但是,对于设计方面,我想要内容块之间的空间.为了解决这个问题,我在单元格内部制作了一个绝对定位的元素,其大小相应地填充空间,但留下间隙.这在Chrome中表现非常出色,但IE11,桌面,Windows 8应用程序和Windows手机都无法按预期工作.

在IE11中,块只会扩展以适应内容(即使绝对块不包含任何内容......)我认为这是因为IE考虑了浏览器添加的自然单元格填充以使单元格具有相同的高度.踢球者是:如果你给了一个设定的高度,并使用bottom:0该块将直接粘在单元格的底部.

这是小提琴HTML:

<div class="table">
    <div class="cell"><div class="back"></div>One Line</div>
    <div class="cell"><div class="back"></div>Two<br/>Lines</div>
    <div class="cell"><div class="back"></div>More<br/>Than two<br/>Lines</div>
</div>
Run Code Online (Sandbox Code Playgroud)

和CSS:

.table {
    display: table;
    table-layout: fixed;
    border-collapse: collapse;
    width: 100%;
}
.cell {
    display: table-cell;
    border: 1px solid red;
    position:relative;
    padding:0px 10px;
}
.back {
    position:absolute;
    top:0;
    bottom:0;
    left:10px;
    right:10px;
    background:#777;
    z-index:-10;
}
.cell:first-child .back {
    right:5px;
}
.cell:nth-child(2) .back {
    left:5px;
}
@media (max-width: 768px) {
    .cell:last-child {
        display: table-caption;
        caption-side: bottom;
    }
}

@media (min-width:769px){ …
Run Code Online (Sandbox Code Playgroud)

html css internet-explorer internet-explorer-11

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

在Laravel 5中进行动态导航的正确方法

我正在使用5.1构建我的第一个Laravel应用程序,它是一个电子商务网站.

我开始创建"静态"页面.我引用是因为页面不是从产品列表等动态生成的,但仍然从数据库中检索html.

我创建了PagesController一个Page模型,一个pages/index.blade.phppages/show.blade.php视图,以及一个MasterTemplate.blade.php模板文件.

routes.php看起来像:

$router->get('/', [
    'uses' => 'PagesController@index',
    'as' => 'pages.index'
]);

$router->get('/{page}', [
    'uses' => 'PagesController@show',
    'as' => 'pages.show'
]);
Run Code Online (Sandbox Code Playgroud)

这很好用,我可以查看数据库中的索引和单个页面.

我去添加导航时出现问题.由于我打算使用两个不同的导航栏(一个用于用户,一个用于管理员),我选择创建一个_navDefault.php文件以包含在MasterTemplate.

剥离多余的html看起来像:

@foreach ($pages as $page)
    <li>{!! link_to_route('pages.show', $page->title, [$page->slug]) !!}</li>
@endforeach
Run Code Online (Sandbox Code Playgroud)

这可以很好地生成链接并且可以正常工作.但是因为我PagesController:

...
public function index()
{
    $pages = $this->page->get();
    return view('pages.index', compact('pages'));
}
...
Run Code Online (Sandbox Code Playgroud)

$pages只存在于index视图上,因此导航到show视图会给我一个$pages未定义的错误,这非常有意义.

我可以定义$pagesshow方法,但是我也会有其他的控制器,如 …

php laravel-5

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

使用javascript过滤大型列表

我有一个非常大的元素列表(14000+),我希望有一个搜索字段,当您在其中键入文本时,它会过滤结果并隐藏不相关的元素.

目前我正在使用这个:

$.expr[':'].containsIgnoreCase = function (n, i, m) {
    return jQuery(n).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
};
$("#search").on("keyup", function () {
    var filter = $("#search").val();
    $(".list-group-item").not(":containsIgnoreCase('" + filter + "')").addClass("hidden");
    $(".list-group-item:containsIgnoreCase('" + filter + "')").removeClass("hidden");
});
Run Code Online (Sandbox Code Playgroud)

哪个在小型列表上运行得非常好.此列表太大,无法使用该代码进行管理.

我不知道是否有任何其他代码可以处理这么多元素客户端.如果没有,将列表留空是否更好,并在匹配时执行ajax请求填充列表?

javascript jquery

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

如何比较 Yii2 ActiveDataProvider 中连接表的值

我正在尝试创建一个搜索类来支持 gridview 小部件。问题是我需要比较主表和连接表中的值。

我在搜索类中这样做:

$query = User::find();
$query->joinWith(['rank']);
Run Code Online (Sandbox Code Playgroud)

然后在我的过滤器中,我想要类似的东西:

$query->andFilterWhere(['>=', 'user.rank_points', 'rank.promotion_points']);
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为第三个参数rank.promotion_points被转义为字符串,并且不被视为 mysql 字段。

我曾尝试使用关系输出如下值:

 $query->andFilterWhere(['>=', 'user.rank_points', $this->rank->promotion_points]);
Run Code Online (Sandbox Code Playgroud)

但这给出了一个$this没有rank属性的错误。

完成此操作的正确方法是什么?

根据要求编辑,这是上述代码生成的原始查询:

SELECT `user`.*
FROM `user`
LEFT JOIN `rank`
ON `user`.`rank_id` = `rank`.`id`
WHERE (`rank_id` NOT IN (1, 2, 3, 4, 5, 6))
AND (`user`.`rank_points` >= 'rank.promotion_points')
Run Code Online (Sandbox Code Playgroud)

但我需要的是这个:

SELECT `user`.*
FROM `user`
LEFT JOIN `rank`
ON `user`.`rank_id` = `rank`.`id`
WHERE (`rank_id` NOT IN (1, 2, 3, 4, 5, 6))
AND (`user`.`rank_points` >= `rank`.`promotion_points`)
Run Code Online (Sandbox Code Playgroud)

整个方法如下所示: …

php yii2

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

JSON对象被Javascript重新排序

我有一个通过PHP生成的相当大的JSON对象。它从数据库中创建一个PHP对象,其键为整数,即1-100。这些键不是按顺序排列的,而是按随机顺序排列的,例如55、72、5、8、14、32、64等。然后,我使用json_encode将对象输出为JSON。然后,我使用AJAX调用来获取该JSON并将其存储在变量中。但是,该变量的JSON对象的顺序为1-100,而不是上面的排序顺序。

有什么想法为什么要这样做以及如何解决它?

javascript php ajax json

4
推荐指数
1
解决办法
708
查看次数

Google Maps API 未显示地点

我一直在使用谷歌地图 API v3 (Javascript) 制作地图,一切都很好。

最近我们获得了一个 Google API for Work 帐户。所以,我们已经在我们的地图调用中加入了我们的客户 ID:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?client=gme-clientid&v=3.18"></script>

从那时起,餐馆、银行、商店等就不再出现在地图上。只有大的地方,如大学、州立公园、机场等。

client从 src 中删除参数会恢复预期的功能。

谁能解释为什么会发生这种情况,或者如何恢复所需的功能?

javascript google-maps google-maps-api-3

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

更高效的正则表达式

我是一个有正则表达式的业余爱好者,但我需要在javascript中提取一段字符串.

我目前的(工作)代码是:

var txt='Icon/something/0.gif';

var re1='.*?';
var re2='(?:[a-z][a-z]+)';
var re3='.*?';
var re4='((?:[a-z][a-z]+))';

var p = new RegExp(re1+re2+re3+re4,["i"]);
var m = p.exec(txt);
var word = m[1]; //something
Run Code Online (Sandbox Code Playgroud)

但是我无法想象我们这是最有效的方式.

我需要做的是从字符串中提取"something",如下所示:

Icon/something/0.gif
Run Code Online (Sandbox Code Playgroud)

或"somethingelse"来自:

Icon/somethingelse/10.gif
Run Code Online (Sandbox Code Playgroud)

我可以使用更紧凑的正则表达式吗?

javascript regex

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

Phonegap 暂停事件行为不正确

我有一个使用 jQuery Mobile 构建的 phonegap 应用程序。

我已将事件侦听器绑定到pauseresume喜欢这样:

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    document.addEventListener("pause", onPause, false);
    document.addEventListener("resume", onResume, false); 
}
Run Code Online (Sandbox Code Playgroud)

现在,我已经alerts输入了onPauseonResume函数。这些警报确实会触发,但是我尝试从这些警报中调用的任何功能都不起作用。我的一个函数initialize(基本上是重新启动应用程序)在我的代码中的任何地方调用时都可以工作,但是从onPause. 我尝试过的另一个功能是clearInterval,它不起作用。

最重要的是,pause在应用程序实际恢复之前,事件似乎不会触发,因为在应用程序重新打开之前警报不会触发。

我试图强制应用程序在暂停/发送到后台并且不起作用时关闭/注销。

我有什么明显的错误,还是我遗漏了什么?

更新 我的函数没有触发的问题是由于可变范围(愚蠢的错误)但是,在应用程序恢复,暂停事件仍然会触发。

jquery cordova

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

img标签丢掉线高

好吧,这是一些css和html:

CSS:

div {
    height:24px;
    line-height:24px;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<div><img src="image.png"/>Text</div>
Run Code Online (Sandbox Code Playgroud)

现在应该(我认为)产生的是一个24像素高的div,文本应该在div之后垂直居中对齐,在图像之后.PS图像是24x24px.然而,它将线高度抛出大约12px(将线高减少到12px并不能解决它).将图像更改为12x12px虽然有效但将文本放在正确的位置.如果图像被完全删除,则文本位于正确的位置.我想我的问题是为什么它正在做它是什么,以及我是否/如何解决它.

谢谢,夏普.

html css image

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

链接功能没有回调

我有一个函数deviceUpdate(ID, Token),我可以调用它来更新用户的设备列表.此函数执行ajax调用,显示加载图像,直到完成,然后显示所有信息.

有一个特定的时间我想在更新完成后执行一个额外的(匿名)函数.如果不在deviceUpdate函数中嵌入匿名函数,我该怎么做?

javascript jquery

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

Phonegap iOS应用中的Google Maps API3缺少控件

我正在开发一个使用jQuery mobile和Phonegap构建的应用程序。它已经运行了一年多。一两个月前,这些控件(特别是地图类型,缩放和街景视图)在没有更新应用程序的情况下就丢失了,并且仅在iOS上存在。

我曾尝试通过手机的浏览器运行该应用程序,但效果很好。仅在通过phonegap(内部版本)对其进行编译之后,该问题才存在。我试图手动将UI设置强制设置为true,但是只有地图类型控件出现。我还尝试过修改CSS,以使控件具有疯狂的高Z索引,这也没有任何区别。

我无法在线找到任何相关信息。如何使控件再次出现?

google-maps-api-3 ios phonegap-build

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

忽略非致命错误是一种好习惯吗?

当我学习PHP时,我被教导使我的代码没有错误,但仍然隐藏生产代码中的错误以确保干净的用户体验.

我最近参与了一些项目,其中原作者采取了留下错误和警告的方法,甚至利用它们来实现某些东西,而不是在没有它的情况下编写代码.

例如,代码如下所示:

$numm = 0;
while($numm < 10){
    $var = "something,".$var;
    $numm++;
}
Run Code Online (Sandbox Code Playgroud)

此代码将Notice在第一次循环时抛出非致命错误,因为第一次连接不存在$ var.

还有很多其他的例子,他们要么忽略错误,要么利用它们(结束循环等),然后将它们隐藏起来.

对我来说,这似乎是不好的做法,但我可能只是强迫症.

php

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