小编And*_*son的帖子

请批评我在PHP中首次尝试使用MVC

好吧,我不是一个庞大的框架人,但我一直都喜欢我听说过整个MVC运动,所以我想我会尝试用我选择的语言创建一个简单的应用程序(PHP)

所以我想问题是:我哪里出错了?我知道关于控制器/模型应该多么胖的问题存在很多争论,所以希望我们可以避免这种情况,但是我对你如何适应数据的想法特别好奇.

我还买了一个域来做一些测试,所以如果你想看到它的实际运行,你可以去www.omgmvc.com

首先,这是我的数据库模式:

CREATE TABLE `movies` (
  `id` int(11) NOT NULL auto_increment,
  `movie_name` varchar(255) NOT NULL,
  `release_date` date NOT NULL,
  `directors_name` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
);

INSERT INTO `movies` VALUES (1,'Star Wars', '1977-05-25', 'George Lucas');
INSERT INTO `movies` VALUES (2,'The Godfather', '1972-03-24', 'Francis Ford Coppola');
INSERT INTO `movies` VALUES (3,'The Dark Knight', '2008-07-18', 'Christopher Nolan');
Run Code Online (Sandbox Code Playgroud)

这是文件:

index.php (控制器)

<?php

include('datatier.php');
include('models/m_movie.php');

if (isset($_GET['movie']) && is_numeric($_GET['movie']))
{
    $movie = new Movie($_GET['movie']);

    if ($movie->id > 0)
    {
        include('views/v_movie.php'); …
Run Code Online (Sandbox Code Playgroud)

php model-view-controller

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

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

想要重定向除我之外的所有访问者

基本上我即将开始在网站上工作,我想要一些我可以添加到我的.htaccess文件(或其他地方)的东西,它将像这个伪代码一样工作:(我的ip将取代127.0.0.1 )

if (visitors_ip <> 127.0.0.1)
    redirectmatch ^(.*)$ http://www.example.com/under-construction.html
Run Code Online (Sandbox Code Playgroud)

希望这是有道理的......

.htaccess http-status-code-302

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

SQL Server是否具有任何类型的魔法撤消功能?

长话短说,我试图使用Management studio快速更新SQL Server中的单行,只是键入UPDATE table SET column='value'并忘记了该WHERE other_column='other_value'部分.去吃午饭,回来了,还有15封未读的电子邮件等着我.发生在大约一个小时前,等待数据库人回来查看上次备份的时间.虽然有没有神奇的UNDO功能?

sql-server

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

有没有办法只用PHP在Google地图中获取给定地址的长/纬度?

我知道这在Javascript中是可行的但我只需要使用PHP来做,我该怎么办?

php google-maps

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

最终确定工作时W3C XHTML/CSS验证有多重要?

尽管这些天我总是努力进行全面验证,但我常常想知道这是否浪费时间.如果代码运行并且它在所有浏览器中看起来都一样(我使用browsershots.org来验证)那么我是否需要进一步采取它或者我只是过度肛门?

在为其创建代码时,您将代码保持在什么级别:

a)你自己b)你的客户

PS杰夫和公司,为什么不堆栈溢出验证?:)

编辑:一些很好的见解,我认为,因为我已经如此有效地痴迷了这么长时间,我计划知道什么会导致问题,什么不会,所以我比那些先创建网站的人更好"回去修复验证问题"

我想我可能会发布关于堆栈溢出的另一个问题; "你去的时候验证还是你完成然后回去验证?" 因为这似乎是这个问题的所在

css validation xhtml w3c cross-browser

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

如何在我的网站上添加集成的Google搜索?

基本上我有一个网站.我有一个正确设置的站点地图,因此我假设Google知道我的所有页面.我在某些网站上看到,搜索表单会显示一个包含原始网站外壳的页面,但结果显然是由Google提供的.与codinghorror.com的搜索类似,但他的搜索结果并未显示在他的网站布局中.

知道我在说什么或如何实现这个目标?

search google-custom-search

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

有没有办法让MS Access获取当前的Active Directory用户?

我正在为我的公司制定一个软件规范,作为审计系统的一部分,我认为如果有一种方法可以抓住当前的Active Directory用户,那将是很好的.

希望像:

Dim strUser as String
strUser = ActiveDirectory.User()
MsgBox "Welcome back, " & strUser
Run Code Online (Sandbox Code Playgroud)

ms-access active-directory

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

在标记视频系统上寻找有关"相关视频"查询的建议

我运行了一个小型视频网站,在实际的视频页面上有一条类似于大多数视频方面的"相关视频"(例如YouTube),目前我所做的就是随机选择其中一个标签并查找其他视频相同的标签.毫不奇怪,这不是一个很好的方法,因为一些标签非常模糊,有些视频被误标记.

当前查询的示例:

SELECT video_name FROM videos INNER JOIN videotags ON videos.id=videotags.video_id INNER JOIN tags ON tags.id=videotags.tag_id WHERE tag_name='x' AND videos.id<>'y' LIMIT 5
Run Code Online (Sandbox Code Playgroud)

其中x是当前视频中的任何一个标记,y是当前视频的ID.(PS我使用参数化查询不用担心)

我只是好奇你们将如何处理这个问题,或许最好加入类似的视频节目?

以下是我的数据库表的设置方式:

VIDEOS TABLE
------------
video_id [PK,auto_increment] int(11)
video_name varchar(255)

TAGS TABLE
----------
tag_id [PK,auto_increment] int(11)
tag_name varchar(255)

VIDEOTAGS TABLE
---------------
tag_id [PK,FK] int(11)
video_id [PK,FK] int(11)
Run Code Online (Sandbox Code Playgroud)

视频表中显然有更多列,但这只是说明了双方自动递增主键的简单多对多关系

该网站建立在带有MySQL数据库的PHP上,但这无关紧要:)

编辑:有一些关于走有机路线的谈话,所以我想我会发布与视频观看和视频评级有关的其他两个半相关的表格.现在请注意,由于隐私问题,我无意将更多列专门添加到视频视图表中(是的,我知道我将IP存储在评级表中)

VIDEOVIEWS TABLE
----------------
video_id [FK] int(11)
view_time datetime

VIDEORATINGS TABLE
------------------
video_id [PK,FK] int(11)
ip_address [PK] varchar(15)
rating int(1)
rate_time datetime
Run Code Online (Sandbox Code Playgroud)

php mysql

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

如果在pageload之后添加到DOM,则忽略click()代码的JQuery元素

所以我有一些代码,我在pageload之后向DOM添加了一个元素(下面的例子中的第二个链接)但是这个新添加的元素忽略了为它定义的所有函数.因此,对于下面的示例,我希望div中的所有链接都与测试类一起显示警报.适用于硬编码的链接,但之后添加的链接忽略它.

<html>
    <head>
        <title>SO Test</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    </head>
    <body>
        <div class="test">
            <a href="#" title="Test">Test Link</a>
        </div>
        <script type="text/javascript">
        <!--    
            $(document).ready(function() {

                $("div.test a").click(function() {
                    alert("click");
                    return false;
                });

                $(document.createElement("a")).attr("href","#").text("Test Link 2").appendTo("div.test");

            });
        -->
        </script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

编辑:是唯一的解决方案,用jQuery插件抽象它?

jquery dom

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