0

我有一个脚本(insertvalues.php),所有 MySQL 编码都在其中发生(例如使用 PHP 在数据库中查询和插入值)。

我也想用 PHP 上传文件。

我想知道的是:将文件上传的PHP代码存储在与insertvalues.php相同的页面中,表单导航到使用A​​JAX,还是更好地放置文件上传代码在单独的 PHP 页面中?

下面是我在insertvalues.php中的脚本:

<?php

session_start();

$username="xxx";
$password="xxx";
$database="xxx";

mysql_connect('localhost',$username,$password);

mysql_select_db($database) or die( "Unable to select database");


$insertquestion = array();

    $imagequery = "SELECT ImageId FROM Image WHERE (ImageFile = '". mysql_real_escape_string($_POST['imageFile[]'])."')";
    $imagers = mysql_query($imagequery);
    $imagerecord = mysql_fetch_array($imagers);
    $imageid = $imagerecord['ImageId']; 

        $insertquestion[] = "'".
                    mysql_real_escape_string( $imageid ) ."'";

 $questionsql = "INSERT INTO Question (ImageId) 
    VALUES (" . implode('), (', $insertquestion) . ")";

    mysql_query($questionsql);

mysql_close()

?>

下面是我拥有的 AJAX,它成功地将帖子发布到insertvalues.php

     function submitform()
{
    var fieldvalue = $("#QandA").val();
    $.post("insertvalues.php", $("#QandA").serialize() ,function(data){
        var QandAO = document.getElementById("QandA");
        QandAO.submit();
    });  
    alert("Your Details for this Session has been submitted"); 
}
4

2 回答 2

0

当我经验不足时,我会将所有内容捆绑在一起,因为我认为跟踪属于该页面上的操作的代码位会更容易。从那以后,我了解到,尽管它确实可以将所有东西放在一起,但随着页面内容的增长(它总是如此),它很快就会变得不可读。

此外,我经常发现一遍又一遍地管理可能相同方法的多个副本是一团糟,这意味着有时代码被放置在单独的 php 文件中并被重用,而其他代码则没有。随着时间的推移,很明显,正在出现的模式是将所有东西模块化。现在我倾向于有一个确定布局的文件。单个组件包含在文件夹 include 中的其他 php 文件中。如果这些子组件需要模块化,我会在包含文件夹中创建一个文件夹,其中包含该组件的名称。就这样继续下去。这看起来很麻烦,但它确实是一个救生员。

然后重用代码变得像移动文件夹一样简单。

于 2012-04-06T14:16:38.997 回答
0

Ohlala ...我认为两者都不是。两种方式似乎都很糟糕,尽管第二种(分离)可能不那么糟糕。我强烈建议您研究应用程序结构和设计,即 MVC 模式。

于 2012-04-06T13:53:56.050 回答