Fil upload og db entry
Hej folkens. Jeg er ved at lave et simpelt (ikke for mig :P) foto galleri, hvor jeg har en "image submit side" som uploader et fil til serveren samt sætter info ind i en sql db (filnavn, kategori og kommentar). Jeg bruger dreamweaver mx, men tænkte at det var her jeg skulle spørge da jeg bruger php til at uploade.Filen bliver uploadet korrekt, men der bliver ikke sat noget ind i db'en - og jeg får en "cannot find page" fejl når jeg submitter formen. Kan nogen se hvorfor?
<?php
// ---------------------------------------------
// Pure PHP Upload version 1.1
// -------------------------------------------
if (phpversion() > "4.0.6") {
$HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",500000);
define("DESTINATION_FOLDER", "images");
define("no_error", "");
define("yes_error", "");
$_accepted_extensions_ = "jpg, gif, png";
if(strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}
$_file_ = $HTTP_POST_FILES['filnavn'];
if(is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['filnavn']['error'] == 0){
$errStr = "";
$_name_ = $_file_['name'];
$_type_ = $_file_['type'];
$_tmp_name_ = $_file_['tmp_name'];
$_size_ = $_file_['size'];
if($_size_ > MAX_SIZE && MAX_SIZE > 0){
$errStr = "File troppo pesante";
}
$_ext_ = explode(".", $_name_);
$_ext_ = strtolower($_ext_[count($_ext_)-1]);
if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
$errStr = "Estensione non valida";
}
if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
$errStr = "Cartella di destinazione non valida";
}
if(empty($errStr)){
if(@copy($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
header("Location: " . no_error);
} else {
header("Location: " . yes_error);
}
} else {
header("Location: " . yes_error);
}
}
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
$editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
}
if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "uploadForm")) {
$insertSQL = sprintf("INSERT INTO billeder (navn, kategori, kommentar) VALUES (%s, %s, %s)",
GetSQLValueString($HTTP_POST_VARS['filnavn'], "text"),
GetSQLValueString($HTTP_POST_VARS['kategori'], "text"),
GetSQLValueString($HTTP_POST_VARS['kommentar'], "text"));
mysql_select_db($database_something, $something);
$Result1 = mysql_query($insertSQL, $something) or die(mysql_error());
$insertGoTo = "imgdone.htm";
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
... her kommer så resten af html'en
Ps, har brugt en extension til upload delen.
