Hola a todos:
quisiera exponerles el siguiente problema que me esta dando la actualuizacion de un registro en MySQL.
Les comentos, tengo un formulario donde quiero subir varias imagenes. y lo que quiero es recoger el nombre del fichero, renombrarlo y guardar el nombre renombrado en la base de datos en los campos correspondientes.
Este formulario le paso una variable (ID) que la recoge perfectamente, incluso le he puesto que me diga a quien corrsponde dentro de la BD y lo hace todo perfecto, pero me da error al enviar el formulario.
el codigo es el siguiente:
$directori_foto = "archivos";
$nombre1 = strtr($_FILES['foto1']['name'], "ñ'ÁÉÍÓÚÀÈÌÒÙáéíóúäëïöüàèìòù ", "n-AEIOUAEIOUaeiouaeiouaeiou_");
$tamanio1 = $_FILES['foto1']['size'];
$tipo1 = $_FILES['foto1']['type'];
$nombre2 = strtr($_FILES['foto2']['name'], "ñ'ÁÉÍÓÚÀÈÌÒÙáéíóúäëïöüàèìòù ", "n-AEIOUAEIOUaeiouaeiouaeiou_");
$tamanio2 = $_FILES['foto2']['size'];
$tipo2 = $_FILES['foto2']['type'];
$nombre3 = strtr($_FILES['foto3']['name'], "ñ'ÁÉÍÓÚÀÈÌÒÙáéíóúäëïöüàèìòù ", "n-AEIOUAEIOUaeiouaeiouaeiou_");
$tamanio3 = $_FILES['foto3']['size'];
$tipo3 = $_FILES['foto3']['type'];
global $HTTP_POST_VARS;
$nuevoNombre1 = time().$HTTP_POST_FILES['foto1']['name'];
$nuevoNombre2 = time().$HTTP_POST_FILES['foto2']['name'];
$nuevoNombre3 = time().$HTTP_POST_FILES['foto3']['name'];
$ar1 = "".$nuevoNombre1;
$ar2 = "".$nuevoNombre2;
$ar3 = "".$nuevoNombre3;
copy($_FILES['foto1']['tmp_name'],$nuevoNombre1);
copy($_FILES['foto2']['tmp_name'],$nuevoNombre2);
copy($_FILES['foto3']['tmp_name'],$nuevoNombre3);
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
$colname_Recordset1 = "-1";
if (isset($_GET['id'])) {
$colname_Recordset1 = $_GET['id'];
}
mysql_select_db($database_miconexion, $miconexion);
$query_Recordset1 = sprintf("SELECT * FROM promo WHERE id = %s", GetSQLValueString($colname_Recordset1, "int"));
$Recordset1 = mysql_query($query_Recordset1, $miconexion) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "formulario")) {
$updateSQL = sprintf("UPDATE promo SET foto1=%s, foto2=%s, foto3=%s WHERE id=%s",
GetSQLValueString($_POST['foto1'], "text"),
GetSQLValueString($_POST['foto2'], "text"),
GetSQLValueString($_POST['foto3'], "text"),
GetSQLValueString($_POST['id'], "int"));
mysql_select_db($database_miconexion, $miconexion);
$Result1 = mysql_query($updateSQL, $miconexion) or die(mysql_error());
$updateGoTo = "actualizado.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
el codigo del formulario es:
<form action="<?php echo $editFormAction; ?>" method='POST' enctype="multipart/form-data" name='formulario' id='formulario'>
<table width="604" border="0">
<tr class="Estilo2">
<td width="195">Insertar Imágenes</td>
<td width="399" class="Estilo2"> </td>
</tr>
<tr class="Estilo2">
<td> </td>
<td><input name="foto1" type="file" id="foto1" value="<?php echo $row_Recordset1['foto1']; ?>" /></td>
</tr>
<tr class="Estilo2">
<td> </td>
<td><input name="foto2" type="file" id="foto2" value="<?php echo $row_Recordset1['foto2']; ?>" /></td>
</tr>
<tr class="Estilo2">
<td> </td>
<td><input name="foto3" type="file" id="foto3" value="<?php echo $row_Recordset1['foto3']; ?>" /></td>
</tr>
<tr class="Estilo2">
<td> </td>
<td> </td>
</tr>
<tr>
<td><span class="Estilo2">
<input type='submit' value='Actualizar datos' />
</span></td>
<td> </td>
</tr>
</table>
<input name="id" type="hidden" id="id" value="<?php echo $row_Recordset1['id']; ?>" />
<input type="hidden" name="MM_update" value="formulario" />
</form>
Le estaria muy agradecida a todo el que me ayude.
Saludos
PCMAC