muy buenas estoy trabajando sobre este script que debería de subir una imagen a una carpeta y colocar el nombre de la imagen en una base de datos es problema que me lanza un error ( datos del $_POST incorrectos ) pero no lo logro solucionar no veo el porque.
aquí el formulario que hace la llamada al archivo php que contiene el script:
Código HTML:
Ver original<form action="logo.php" method="post" enctype="multipart/form-data" name="form2" id="form2"> <td nowrap="nowrap" align="right">Tienda:
</td> <td><input type="text" name="tienda" value="<?php echo $_SESSION['MM_Username']; ?>" size="32" />
</td> <td nowrap="nowrap" align="right">Logo:
</td> <td><input type="file" name="logo" id="logo" /></td> <td nowrap="nowrap" align="right"> </td> <td><input type="submit" value="Insertar imagen" /></td> <input type="hidden" name="MM_insert" value="form2" />
y aquí el script:
Código PHP:
Ver original<?php
// Pon esto en un include para no escribir la conexión en cada script p.e: include ('conexion.php');
////////////////////////////////////////////////
// Comprobamos los datos:
if(isset($_POST['logo']) and
!empty($_POST['logo']) and
isset($_POST['tienda']) and
!empty($_POST['tienda']) and
isset ($_FILES['logo']['name'])) {
//Pon seguridad en tus variables post para evitar inyecciones, usa expresiones regulares y mysql_real_escape_string()
$fondo = $_POST['logo'];
$tienda = $_POST['tienda'];
//Cuando subas el script a tu web elimina los mysql_error para evitar dar información de tu BD
//Eliminé los $links de la conexión que no hacen falta en la consulta. Ya la tienes abierta.
if($sql = mysql_query("select count(*) as total from diseny where tienda =". $tienda) or
die("Ha habido un error al insertar los valores. Error: ".mysql_error() ) ) {
$flag = false; // boolean para comprobar que entro en el update o el insert
if ($row['total'] > 0) // el usuario ya existe
{
// SENTENCIA DE ACTUALIZACIÓN para actualizar los campos
if (mysql_query ("UPDATE diseny SET logo='".$_POST['logo']."',tienda='".$_POST['tienda']."' WHERE tienda = ".$tienda) or
die( mysql_error() ) ) {
$flag = !$flag;
}
}
else // el usuario no existe
{
// SENTENCIA DE INSERCIÓN si es un campo nuevo lo insertamos
if (mysql_query("INSERT INTO diseny (logo,tienda) VALUES ('".$_POST['logo']."','".$_POST['tienda']."')") or
die( mysql_error() ) ) {
$flag = !$flag;
}
}
//Si se actualizó o insertó procedemos a subir la imagen:
if($flag == true)
{
echo 'entró';
//guardar imagen en carpeta
$nombre_archivo=$_FILES['logo']['name'];
echo $nombre_archivo;
$tamano = $_FILES['logo']['size'];
if($tamano > 100000000)
{
echo " OCUPA DEMASIADO.";
}
else
{
echo " HA SIDO SUBIDO.";
else
echo " NO HA SIDO SUBIDO.";
}
}
else
{
echo 'No se ha podido proceder';
}
}
else //Comprobamos tbn que entró en la consulta y si no, lo mostramos en pantalla.
{
echo 'No se encuentra ese elemento en la BD';
}
}
else
{
echo 'datos del $_POST incorrectos';
}
?>
bueno gracias por su tiempo