小编Dak*_*h B的帖子

将产品属性表与产品表连接以显示产品

我有三个表用于列出具有产品属性的产品

产品表与虚拟数据

在此输入图像描述

在此输入图像描述

Product_Attributes包含虚拟数据

在此输入图像描述

在此输入图像描述

具有虚拟数据的属性

在此输入图像描述

在此输入图像描述

Kespersky antivirus(productid = 1)没有属性,但iPhone(productid = 2)有两个适用于它的属性,内存和解析都在属性表中,其值存储在Product_Attribute 表中.

如何连接这些表以显示/显示具有相应属性的产品?

编辑

我需要将这些产品显示为

在此输入图像描述

mysql sql database join left-join

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

为什么简单的PHP包含文件容易受到攻击

我有一个header.php和一个footer.php,我将其包含在所有其他页面中,如家,联系,关于我们等.

我包含页眉和页脚文件的方式是

<?php include 'inc/header.php';
some code
some code
include 'inc/header.php'; ?>
Run Code Online (Sandbox Code Playgroud)

一切都很简单,工作正常.

我决定检查我的项目是否存在漏洞并下载了RIPS扫描程序.扫描后,结果

Userinput reaches sensitive sink.

5: include include 'inc/header.php';  // header.php
requires:
     5: if(!in_array($_GET['file'], $files)) else
Run Code Online (Sandbox Code Playgroud)

这基本上说,页眉和页脚都是易受攻击的,我应该使用

if(!in_array($_GET['file'], $files)) else
Run Code Online (Sandbox Code Playgroud)

为什么简单的包含页眉和页脚文件容易受到攻击?如果是易受攻击的,我该如何实现if(!in_array($ _ GET ['file'],$ files))else ??

header.php文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="icon" href="images/common/lbfavicon.ico" />
    <meta name="author" content="example.com" />
    <link rel="stylesheet" type="text/css" href="template/css/reset.css" media="screen" />
    <link rel="stylesheet" type="text/css" href="template/css/layout.css" media="screen"/>
</head>

<body> …
Run Code Online (Sandbox Code Playgroud)

php security whitelist include

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

在 php 中设置安全会话 cookie

设置会话 cookie 的语法

session_set_cookie_params($lifetime, $path, $domain, $secure, true);
Run Code Online (Sandbox Code Playgroud)

Q1. 像下面这样设置会话 cookie 是否安全还是还有更多工作要做?

session_set_cookie_params('3600', 'www.example.com', isset($_SERVER["HTTPS"]), true);
Run Code Online (Sandbox Code Playgroud)

Q2。设置会话(从安全角度来看)cookie 的理想生命周期应该是多长?

Q3。如果我决定将我的网络管理文件夹转移到子域,那么上面的代码是否需要更改?

php security cookies session session-cookies

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

保存MySQL中不存在的记录

比方说,我有一个预先定义的表格cities,几乎所有的城市都在我的国家.

当用户注册自己(用户表)时,表中的列存储cities_id表中user的城市ID cities(外键,参考表城市),类似于

CREATE TABLE `cities` (
    `id` int,
    `city_name` varchar(100)
)

CREATE TABLE `user` (
    `id` int,
    `name` varchar(60)
    `****`
    `cities_id` FK
)
Run Code Online (Sandbox Code Playgroud)

用户表存储城市ID.

但是,如果我错过了几个城市...用户如何将他的城市名称保存在不接受任何城市名称但只接受ID的用户表中.

我能有一个更加列city_name在表中的cities_id之后user

CREATE TABLE `user` (
    `id` int,
    `name` varchar(60)
    `****`
    `cities_id` FK
    `citiy name` varchar(100)
)
Run Code Online (Sandbox Code Playgroud)

记录用户在注册时输入的数据?可以这样做吗?

mysql sql database database-design

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

使用注册表模式获取路由器参数

我在我的应用程序的核心有这个 Router.php。

路由器.php

<?php

final class Router
{
    protected $routes = [];
    protected $params = [];

    public function add($route, $params = [])
    {
        $route = preg_replace('/\//', '\\/', $route);
        $route = preg_replace('/\{([a-z]+)\}/', '(?P<\1>[a-z-]+)', $route);
        $route = preg_replace('/\{([a-z]+):([^\}]+)\}/', '(?P<\1>\2)', $route);
        $route = '/^' . $route . '$/i';

        $this->routes[$route] = $params;
    }

    public function getRoutes()
    {
        return $this->routes;
    }

    public function match($url)
    {
        foreach ($this->routes as $route => $params) {
            if (preg_match($route, $url, $matches)) {
                foreach ($matches as $key => $match) {
                    if …
Run Code Online (Sandbox Code Playgroud)

php registry model-view-controller router

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

如果存在子记录,则防止删除父记录

我有一个类别表

CREATE TABLE `tbl_categories` (
  `id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL DEFAULT '0',
  `parent_id` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)

这就是它在运行后显示带有子类别的类别的方式

在此处输入图片说明

如果父记录有一个或几个子记录,我需要防止删除父记录。我该怎么做?。

php mysql sql database

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

动态添加和删除HTML元素不起作用

我需要动态添加和删除HTML元素到我的产品表单(属性添加目的),并搜索堆栈溢出.

我发现这个解决方案非常接近(除了它没有删除选项加上我真诚地不知道如何检索每个文本框的数据,但后来所有这些).

https://jsfiddle.net/nzYAW/

小提琴中的代码很好.但是当我在我的本地机器上尝试它时,它无法产生任何结果.

这就是我做的

的index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>

    <style type="text/css">
        .extraPersonTemplate {display:none;}
    </style>

    <script type="text/javascript">
        $(document).ready(function () {
             $('<div/>', {
                 'class': 'extraPerson',
                 html: GetHtml()
             }).appendTo('#container');
             $('#addRow').click(function () {
                 $('<div/>', {
                     'class': 'extraPerson',
                     html: GetHtml()
                 }).hide().appendTo('#container').slideDown('slow');

             });
         })

         function GetHtml() {
             var len = $('.extraPerson').length;
             var $html = $('.extraPersonTemplate').clone();
             $html.find('[name=firstname]')[0].name = "firstname" + len;
             $html.find('[name=lastname]')[0].name = "lastname" + len;
             $html.find('[name=gender]')[0].name = "gender" + len;
             return …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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