我有一个脚本( insertvalues.php ),其中发生了所有MySQL编码(例如使用PHP在数据库中查询和插入值)。
我也想用PHP上传文件。
我想知道的是:对于将文件上传存储在与 insertvalues.php 相同的页面中的PHP代码更好,其中表单导航到使用AJAX ,或者将文件上传代码放在单独的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");
}
答案 0 :(得分:0)
Ohlala ......在我看来也不是。虽然第二种(分离)可能不那么糟糕,但两种方式看起来都很糟糕。我强烈建议您研究应用程序结构和设计,即MVC模式。
答案 1 :(得分:0)
当我缺乏经验时,我会将所有内容捆绑在一起,因为我认为遵循属于该页面上的操作的代码更容易。我已经了解到,虽然它确实将事物保持在一起,但随着页面内容的增长(它总是如此),它很快变得不可读。
此外,我经常发现,一遍又一遍地管理可能相同方法的多个副本是一团糟,这意味着有时代码被放置在单独的php文件中并重用,而其他代码则没有。随着时间的推移,很快就会发现,正在出现的模式是模块化一切。现在我倾向于有一个确定布局的文件。 invidual组件包含在文件夹include中的其他php文件中。如果这些子组件需要模块化,我在include文件夹中创建一个文件夹,其中包含该组件的名称。它一直在继续。这看起来很麻烦,但它真的是一个救生员。
然后重新使用代码就像移动文件夹一样简单。