上传文件代码和mysql代码应该存储在一个页面还是单独的页面中?

时间:2012-04-06 13:49:47

标签: php ajax

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

我也想用PHP上传文件。

我想知道的是:对于将文件上传存储在与 insertvalues.php 相同的页面中的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"); 
}

2 个答案:

答案 0 :(得分:0)

Ohlala ......在我看来也不是。虽然第二种(分离)可能不那么糟糕,但两种方式看起来都很糟糕。我强烈建议您研究应用程序结构和设计,即MVC模式。

答案 1 :(得分:0)

当我缺乏经验时,我会将所有内容捆绑在一起,因为我认为遵循属于该页面上的操作的代码更容易。我已经了解到,虽然它确实将事物保持在一起,但随着页面内容的增长(它总是如此),它很快变得不可读。

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

然后重新使用代码就像移动文件夹一样简单。