小编Phi*_*oss的帖子

Chrome - Colspan没有按预期工作

我有这个代码:

<tr>
    <td width="40%" align="left" class="form_cell">
    <span class="sub_header">Update or Delete</span><br />
    Please select whether you would like us to update this contacts details, or delete them from the system.
    </td>

    <td width="60%" align="left" class="form_cell">
    [class=form__parser func=updateDetails__updel(150.$update_or_delete$.true)]
    </td>
</tr>
<tr>
    <td width="100%" align="left" colspan="2" id="ammend_contact_details" style="display: none;">
        <table border="0" cellspacing="0" cellpadding="0" width="100%" align="left">
            <tr>
                <td width="40%" align="left" class="form_cell">
                <span class="sub_header">New Title</span><br />
                            Please enter the contacts new title, IE Mr, Mrs, Dr, Miss, Ms
                </td>

                <td width="60%" align="left" class="form_cell">
                <input type="text" …
Run Code Online (Sandbox Code Playgroud)

html internet-explorer google-chrome html-table

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

Docker php-fpm 作为 www-data 运行

我最近一直在学习使用 Docker 构建图像和容器。使用 Mac 时我对它相当有信心,但最近切换到 Ubuntu,我对这方面的开发还很陌生。

我使用一个标准的新 Laravel 项目作为我的“代码”,目前我只使用一个 php 容器和 nginx 容器。

我正在使用一个docker-compose.yml文件来创建我的容器:

version: "3.1"

services:
    nginx:
        image: nginx:latest
        volumes:
            - ./code:/var/www
            - ./nginx_conf.conf:/etc/nginx/conf.d/default.conf
        ports:
            - "80:80"
    php:
        image: php:7.3-fpm
        ports:
            - 9000
        volumes:
            - ./code:/var/www
Run Code Online (Sandbox Code Playgroud)

上面的代码可能有也可能没有错误,因为我只是输入了它而不是复制和粘贴 - 但它在我的机器上工作。

问题是:

  • php-fpm 配置了--with-fpm-user=www-dataand --with-fpm-group=www-data,并在php:7.3-fpmDockerfile (see here) 中设置

  • 我主机上的文件以我的用户名和组作为所有者/组保存。

  • 当我进入容器时,文件归 1000 和组 1000 所有(我假设映射到我的用户帐户和主机上的组?)

但是,当我通过浏览器访问应用程序时,我在启动时收到权限被拒绝错误(当 Laravel 尝试在存储中创建错误日志文件时)。我认为这是因为php-fpm作为 www-data 运行,但存储目录具有drwxr-xr-x所有者/组 phil:phil - 我的主机所有者和组的权限。

经过数小时的谷歌搜索和试验,我尝试了以下方法:

  • 递归地将宿主机上代码目录的所有者和组更改为www-data:www-data. 这允许 Laravel 应用程序工作,但我现在无法使用 …

php docker docker-compose

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

Laravel 5.1 - 组织工厂

这看起来应该是一个相当简单的问题,但是对于Laravels(5.1)模型工厂,我应该将每个模型定义放在一个ModelFactory.php文件中吗?

例如,如果我有200个不同的模型,我可以看到这个文件(Database\Factories\ModelFactory.php)变得非常庞大和杂乱.

我的问题是:

有没有更好的方法来组织模型工厂,还是我真的应该在那个文件中定义它们?什么是最佳做法?

php laravel laravel-5.1

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

Laravel授权()混淆

我目前正在将一个项目从CodeIgniter迁移到Laravel5.

我在Laracasts中看到,您可以Request::authorize()在调用控制器之前使用该方法来授权访问,并返回true或false.

这将(我认为)是理想的解决方案,因为我可以在请求中包含权限检查,而不是通过权限检查和重定向/响应污染控制器.

唯一的问题是,当我falseauthorize()它返回时,它只是加载一个带有forbidden书面的空白页,我在laravel.com上找不到关于如何模板的任何文档(要么没有文档,要么我忽略它)

我知道我可以编辑404页面errors/404.blade.php,但我无法弄清楚如何自定义403页面,我试图添加一个自定义403.blade.php页面,但不会显示.(https://mattstauffer.co/blog/laravel-5.0-custom-error-pages)

将这些权限检查放在请求中是个好主意吗?或者我错过了什么?

更新 我运行了一个回溯authorize(),看起来它抛出了一个UnauthorizedException延伸RuntimeException.我试过在routes.php文件中捕获这两个,这也不起作用.

我也试图创建中间件,并从一个方法调用中间件,这也不起作用,因为中间件甚至根本没有被调用.

更新2 好的,所以我发现我只能$this->middleware()从构造函数调用,而不是单个方法,这是进步,我猜.

php laravel laravel-5

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

Laravel 5获得命令响应

我想我理解Laravel中命令的概念,因为它是放置可重用代码的好地方,可以从控制器等调用,但我有一个查询:

我可以从命令返回一个值回调用方法吗?例如,我有一个控制器方法,它在Active Directory中创建一个用户,为此有一个命令来执行此操作.如果AD服务器无法访问,我想将响应返回给调用控制器方法.这可能吗?

它只在文档中显示如何使用命令dispatch(),但没有关于它是否可以返回任何内容.

如果你不能返回一个值,有人可以解释为什么你不想返回一个值的原因吗?我知道排队的命令可能需要一段时间而不适合等待响应,但对于应立即执行的命令,我不明白为什么你不想返回一个值.

任何帮助或建议表示赞赏.

php laravel laravel-5

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

Vuejs表单未在“输入”上提交

TL; DR问题

为什么我不能在表单中使用2个相同的输入字段,并且回车按钮提交表单

更详细的问题

开门见山。我正在尝试使用enter按钮在输入元素聚焦时提交表单,然后应该发出一个事件。

  • 我在这里编写了一个Codepen,它复制了“怪异”的行为:https ://codepen.io/anon/pen/gqGMmW

如您所见,如果我有1个以上相同类型的输入(例如2个input="text"输入,当我enter专注于某个输入时按下按钮时,它将无法发出该submit事件。

在紧接其下的第二个应用示例中,我具有完全相同的形式,具有完全相同的vuejs实例化,但是只有一个输入字段,并且当您按Enter键关注该元素时,它将正确地发出Submit 事件。

我试图用谷歌搜索这里可能发生的事情,但是除了“防止在回车时提交表单”外,还很难找到其他用途。

我尝试将ID属性,name属性等添加到元素,但仍无法按预期工作。

我不是vuejs的初学者,也不是高级JS用户,因此,“简单”的答案将不胜感激:D


如果需要更多信息,请告知我们,我们将尽力提供

javascript vue.js

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

PHPExcel背景色彩逻辑

我对PHPExcel有一个非常混乱的问题.我有800名学生.我已经生成了一个电子表格,其中列出了学生所拥有的多少赞誉(当天每月).

例如,它可能如下所示:

+---------------+-----+-----+-----+-----+
| Student Name  | 1st | 2nd | 3rd | 4th | ...
+---------------+-----+-----+-----+-----+
| Test Student  | 2   | 0   | 3   | 7   |
+---------------+-----+-----+-----+-----+
Run Code Online (Sandbox Code Playgroud)

我想要更改大于(或等于)5的单元格的背景颜色.我使用循环来循环学生和几天.这是我的代码:

for($d=1; $d<=$daysInCMonth; $d++)
{
    $phpExcel
        ->getSheetByName('Monthly Leaderboard')
        ->setCellValue($alphabetArray[($d+7)] . ($recordCount+5), $record['monthlyReport'][$MonthlyReportKeys[($d-1)]]);

    if($record['monthlyReport'][$MonthlyReportKeys[($d-1)]]>=5)
    {
        $cellId = $alphabetArray[($d+7)] . ($recordCount+5);
        $phpExcel
            ->getSheetByName('Monthly Leaderboard')
            ->getStyle($cellId)
            ->applyFromArray(
                array('fill' => array('type' => PHPExcel_Style_Fill::FILL_SOLID,'color' => array('rgb' => '000000'))
         ));
    }

}
Run Code Online (Sandbox Code Playgroud)

为了帮助理解代码,初始for循环从1 开始循环到当前月份的天数(6月的IE 30).然后,它将单元格值设置为每个给定日期的点数.

一切都很完美.现在,if条件将捕获值大于(或等于)5的单元格.

代码$alphabetArray[($d+7)] . ($recordCount+5)在迭代中获取当前单元ID.我知道这也很好,因为如果我将它回显到屏幕,第一个输出是T5 …

php phpexcel

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

Laravel Ajax 验证

我了解如何通过在控制器方法中类型提示类名来验证请求。然而,对于 Ajax 请求,根据文档,我应该验证控制器中的数据,因为使用验证器类将重定向而不是发送响应。

我正在看的主要部分是:

如果传入请求是 AJAX 请求,则不会生成重定向。相反,带有 422 状态代码的 HTTP 响应将返回到浏览器,其中包含验证错误的 JSON 表示形式。

然而,我的控制器如下:

public function update(App\Permission $permission, Request $request)
{
    $this->validate($request, [
        'permission_description' => 'required|string'
    ]);

    ...
}
Run Code Online (Sandbox Code Playgroud)

而且我一辈子都无法让它用 JSON 进行响应。文档指出,如果失败,它会抛出Illuminate\Contracts\Validation\ValidationException异常,但我无法捕获它。

每当失败时,它总是重定向回编辑页面。显然我不想要这个,我想要 json 响应。

我刚刚尝试过“手动写出来”,整个方法确实有效,但是如果它不起作用,那么$v = Validator::make($request->all(), ...);使用这种方法有什么意义呢?$this->validate()

$this->validate()方法是否不适用于 AJAX,而我每次都必须编写很长的代码?难道我做错了什么?!

以下是我尝试过的:

public function update(App\Permission $permission, UpdatePermissionRequest $request)
{
   /** Redirects rather than returns JSON if the validation fails **/
}

----------------------------------

public function update(App\Permission $permission, Request $request)
{
    $this->validate($request, [ …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5

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

Javascript Array意外'

我正在尝试导出服务器生成的一些数据,并将其导入Googles Column Chart.

我已经阅读了有关使用JSON从服务器导入的文档,但是,我没有使用饼图,他们没有提供有关它们如何生成JSON的大量信息,以及它们之间的格式差别很大和柱形图.

我的服务器当前正在返回以下代码:

[['Week', 'Present', 'Absent', 'Other'], 
 ['Week 1', 2, 0, 0],
 ['Week 2', 0, 0, 0],
 ['Week 3', 0, 0, 0],
 ['Week 4', 0, 0, 0],
 ['Week 5', 0, 0, 0]
]
Run Code Online (Sandbox Code Playgroud)

现在,如果我将其直接导入图表:

google.visualization.arrayToDataTable(response);
Run Code Online (Sandbox Code Playgroud)

然后我收到错误消息'Not a array'.我猜这是真的,实际上是一个字符串.

然而,在谷歌搜索之后,似乎使用$.parseJSON会起作用.我已经在另一个Line graph google图表上使用了这个功能,但是无论什么时候我使用$.parseJSON(response),我得到的都是

Uncaught SyntaxError: Unexpected token '
Run Code Online (Sandbox Code Playgroud)

我不能为我的生活看到撇号的位置.我想要做的就是将我的服务器生成的代码导入图表.

任何帮助总是受到赞赏.

javascript jquery charts google-visualization

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