Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/02/2012, 13:06
carolina3
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 12 años, 9 meses
Puntos: 1
error de script

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
  1. <form action="logo.php" method="post" enctype="multipart/form-data" name="form2" id="form2">
  2.     <table align="center">
  3.       <tr valign="baseline">
  4.         <td nowrap="nowrap" align="right">Tienda:</td>
  5.         <td><input type="text" name="tienda" value="<?php echo $_SESSION['MM_Username']; ?>" size="32" /></td>
  6.         </tr>
  7.       <tr valign="baseline">
  8.         <td nowrap="nowrap" align="right">Logo:</td>
  9.         <td><input type="file" name="logo" id="logo" /></td>
  10.         </tr>
  11.       <tr valign="baseline">
  12.         <td nowrap="nowrap" align="right">&nbsp;</td>
  13.         <td><input type="submit" value="Insertar imagen" /></td>
  14.         </tr>
  15.     </table>
  16.     <input type="hidden" name="MM_insert" value="form2" />
  17.   </form>

y aquí el script:

Código PHP:
Ver original
  1. <?php
  2.  
  3.     // Pon esto en un include para no escribir la conexión en cada script p.e: include ('conexion.php');
  4.        $link = mysql_connect("localhost","root","");
  5.     mysql_select_db("blueberryswebtiendas",$link);
  6.     ////////////////////////////////////////////////
  7.    
  8.     // Comprobamos los datos:
  9.     if(isset($_POST['logo']) and !empty($_POST['logo']) and
  10.     isset($_POST['tienda']) and !empty($_POST['tienda']) and isset ($_FILES['logo']['name']))
  11.     {
  12.         //Pon seguridad en tus variables post para evitar inyecciones, usa expresiones regulares y mysql_real_escape_string()
  13.         $fondo  = $_POST['logo'];  
  14.         $tienda = $_POST['tienda'];
  15.    
  16.         //Cuando subas el script a tu web elimina los mysql_error para evitar dar información de tu BD
  17.         //Eliminé los $links de la conexión que no hacen falta en la consulta. Ya la tienes abierta.
  18.         if($sql = mysql_query("select count(*) as total from diseny where tienda =". $tienda)
  19.         or die("Ha habido un error al insertar los valores. Error: ".mysql_error() ) )
  20.         {
  21.            
  22.             $flag = false; // boolean para comprobar que entro en el update o el insert
  23.             $row = mysql_fetch_array($sql);
  24.  
  25.             if ($row['total'] > 0) // el usuario ya existe
  26.             {            
  27.                 // SENTENCIA DE ACTUALIZACIÓN para actualizar los campos
  28.                 if (mysql_query ("UPDATE diseny SET logo='".$_POST['logo']."',tienda='".$_POST['tienda']."' WHERE tienda = ".$tienda) or die( mysql_error() ) )
  29.                 {
  30.                     $flag = !$flag;
  31.                 }
  32.             }
  33.             else // el usuario no existe
  34.             {
  35.                 // SENTENCIA DE INSERCIÓN si es un campo nuevo lo insertamos
  36.                 if (mysql_query("INSERT INTO diseny (logo,tienda) VALUES ('".$_POST['logo']."','".$_POST['tienda']."')") or die( mysql_error() ) )
  37.                 {
  38.                     $flag = !$flag;
  39.                 }
  40.             }
  41.            
  42.             //Si se actualizó o insertó procedemos a subir la imagen:
  43.             if($flag == true)
  44.             {
  45.                 echo 'entró';    
  46.                
  47.                 //guardar imagen en carpeta
  48.                 $nombre_archivo=$_FILES['logo']['name'];
  49.                 echo $nombre_archivo;
  50.                 $tamano = $_FILES['logo']['size'];
  51.                    
  52.                 if($tamano > 100000000)
  53.                 {
  54.                     echo " OCUPA DEMASIADO.";    
  55.                 }
  56.                 else
  57.                 {
  58.                     if(move_uploaded_file($_FILES['logo']['tmp_name'],"imglogo/" . $nombre_archivo))
  59.                         echo " HA SIDO SUBIDO.";
  60.                     else
  61.                         echo " NO HA SIDO SUBIDO.";
  62.                 }                    
  63.             }
  64.             else
  65.             {
  66.                 echo 'No se ha podido proceder';    
  67.             }
  68.      
  69.         }
  70.         else //Comprobamos tbn que entró en la consulta y si no, lo mostramos en pantalla.
  71.         {
  72.             echo 'No se encuentra ese elemento en la BD';
  73.         }
  74.     }
  75.     else
  76.     {
  77.         echo 'datos del $_POST incorrectos';    
  78.     }
  79.  
  80. ?>

bueno gracias por su tiempo