小编toe*_*lab的帖子

没有数据库的PHP Symfony2自定义身份验证(SOAP)

我有一个肥皂来验证用户

<?php
$client = new SoapClient('http://mysite/code/soap.wsdl');
$user   = $client->login('username','password');

if( isset($user['IdAccount']) && ($user['IdAccount'] > 0) )
   echo 'Logon OK';
else
   echo 'Logon Fail!';
Run Code Online (Sandbox Code Playgroud)

我想在没有数据库的Symfony2中使用,只在内存中...

我尝试实现自定义UserProvider,但我没有使其工作所需的所有数据...

class WebserviceUserProvider implements UserProviderInterface
{
    public function loadUserByUsername($username)
    {
        $client = new SoapClient('http://mysite/code/soap.wsdl');

        $user   = $client->login($username, PASSWORD???? );

        if ( isset($user['IdAccount']) && ($user['IdAccount'] > 0) ) 
            return new WebserviceUser($username, PASSWORD????, SALT???, ROLES????);

        throw new UsernameNotFoundException(sprintf('Username "%s" does not exist.', $username)
    );
}
Run Code Online (Sandbox Code Playgroud)

我不能改变肥皂

对不起,我的英语不好!:(

php symfony

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

如何从用户的markdown输入中删除脚本标签?

在我的php应用程序中,我有这个textarea框,从用户接收markdown(如stackoverflow),然后它显示在网站上.我正在使用Laravel Framework并使用parsedown-laravel包.
我可以:

{!! Markdown::parse('__Hello__ Markdown!'); !!}
Run Code Online (Sandbox Code Playgroud)

有用.

{!! Markdown::parse('<h1>Hello</h1> Markdown!'); !!}
Run Code Online (Sandbox Code Playgroud)

它仍然有效.我对此很满意.

如果我这样做:

{!! Markdown::parse('<script>alert("XSS Attack!!!")</script> Markdown!'); !!}
Run Code Online (Sandbox Code Playgroud)

它仍然有效!

如何使用Laravel和此软件包阻止我的应用程序中的脚本标记?

php xss markdown laravel

4
推荐指数
2
解决办法
1369
查看次数

数组匹配值过滤 PHP

我尝试在数组中搜索,但根本没有得到任何结果。

假设我有一个包含一些值的数组。

所以当我想搜索它们时,它总是返回 null!

不知道为什么!

假设这是我的数组——

$data = Array
    (
    [0] => Array
    (
        [id] => 122
        [name] => Fast and furious 5
        [category] => Game
    )

    [1] => Array
    (
        [id] => 232
        [name] => Battlefield and more 
        [category] => Game
    )

    [2] => Array
    (
        [id] => 324
        [name] => Titanic the legend
        [category] => movie
    )

    [3] => Array
    ....
Run Code Online (Sandbox Code Playgroud)

所以我尝试过这样的——

   $search = 'and'; // what I want to search
   $nameSearch = array_search($search, $data);
   print_r($nameSearch);
Run Code Online (Sandbox Code Playgroud)

输出——空

   $search='and'; …
Run Code Online (Sandbox Code Playgroud)

php arrays

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

将日期更改为Datetimepicker插件一天

我一直试图将我的输入日期增加/减少一天,但现在到了哪里.

看我的代码:

功能

function backDay() {
    var date = $('input#datetimepicker').val();

    var NewDate = moment().subtract(1, 'day');
    $('input#datetimepicker').val(NewDate);
}
Run Code Online (Sandbox Code Playgroud)

HTML

<input class="form-control" style="text-align:center" type="text" id="datetimepicker" name="CurrentDay" value="{{ date('d/m/Y') }}">
Run Code Online (Sandbox Code Playgroud)

添加按钮返回1天

<button onclick="backDay()">Go back 1 Day</button>
Run Code Online (Sandbox Code Playgroud)

javascript jquery datetimepicker

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

如果URL包含ID,则触发jQuery

我在网站上有几个页面使用隐藏的div,这些隐藏的div在单击部分链接(使用id=sectionname)时显示。但是,如果有人直接进入mysite.com/#sectionname,则除非该人单击链接,否则该部分将保持隐藏。

有没有一种方法可以使用jQuery检查div ID是否通过网址传递,并触发点击?与[非实际代码]类似:

if ('# is in url') {
     $('#-characters-until-?').trigger("click");
}
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

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

错误404 php但该文件位于public_html文件夹中

我使用000webhost免费服务上传我的简单网站.我检查并将index.php链接到我网站的每个页面.

<ul>
    <li class="selected">
        <a href="public_html/index.php">home</a>
    </li>
    <li>
        <a href="public_html/about.php">about</a>
    </li>
    <li>
        <a href="public_html/gallery.php">gallery</a>
    </li>
    <li>
        <a href="public_html/history.php">history</a>
    </li>
    <li>
        <a href="public_html/contact.php">contact</a>
    </li>
</ul>    
Run Code Online (Sandbox Code Playgroud)

但是当我在我的网站上访问它时,它显示错误404.

谢谢你.

php

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

Laravel 仅在不存在相关模型时才删除模型

假设我有一个名为“制造商”的模型,这个模型与另一个模型“车辆”有一对多的关系。现在,如果有任何与此型号相关的车辆,我不想让用户删除制造商。

//In Manufacturer model

public function vehicles()
{
    return $this->hasMany('Vehicle');
}
Run Code Online (Sandbox Code Playgroud)

在存储库/控制器中,我有另一种方法来检查它。

public function checkAssociatedVehicles($id)
{
    return Manufacturer::with('vehicles')->find($id)->toJson();
}
Run Code Online (Sandbox Code Playgroud)

这确实输出了所有相关车辆的制造商数据。但这效率不高,所以我只想检查一下是否有一辆汽车,然后不要删除制造商。

php laravel eloquent laravel-5

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

类公共变量调用在PHP 7.0和PHP 5.6中兼容

在PHP 5.6中:

当我在一个类中时,我们通常会声明并调用这样的公共类变量:

class MyClass
{
    /**
     * @var int
     */
    public $myVar = 0;

    // call it in a public function:
   public function myFunction()
   {
       return $this->myVar;
   }

}
Run Code Online (Sandbox Code Playgroud)

我把这个函数称为:

MyClass::myFunction();
Run Code Online (Sandbox Code Playgroud)

在PHP 7.0中,该代码抛出致命错误:

不在对象上下文中时使用$ this

将我的PHP版本再次更改回5.6后,错误消失了.

问题:

我必须承认,在阅读手册并从5.6更改为7.0后,我不明白.

  1. 我们如何在PHP 7.0中声明和调用公共类变量?
  2. 我们如何编写此代码以在5.6和7.0之间兼容?

评论后编辑:

那么为什么静态调用非静态方法的工作原理是5.6?

php class public php-7

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