Foros del Web » Programando para Internet » PHP »

No se envían datos e url de imagen a la BDD

Estas en el tema de No se envían datos e url de imagen a la BDD en el foro de PHP en Foros del Web. Hola que tal, buen día. Tengo un formulario donde ingreso algunos datos y aparte envió imágenes (varias, usando Fichero[] ) y no se si estoy ...
  #1 (permalink)  
Antiguo 19/02/2011, 12:52
 
Fecha de Ingreso: enero-2011
Ubicación: C,M
Mensajes: 44
Antigüedad: 13 años, 1 mes
Puntos: 2
No se envían datos e url de imagen a la BDD

Hola que tal, buen día. Tengo un formulario donde ingreso algunos datos y aparte envió imágenes (varias, usando Fichero[]) y no se si estoy mal en mi código, pero al submit no se envía nada, ni los datos del formulario, y solo 1 imagen, no se envían las otras seleccionadas en los input type file, utilizo dos tablas, una para imágenes y otra para los datos.

No se si tengo algún error, en el select, o en mis variables.

Este es mi codigo php


Código PHP:
        <?    
 
if(isset($_POST['submit'])) {
           

//Conectamos a la base de datos para almacenar los datos y la ruta del archivo, aunque ya tengamos archivo conexion

                 
mysql_connect('127.0.0.1','root','******')or die ('Ha fallado la conexión: '.mysql_error()); 
                 
mysql_select_db('obras')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); 


  
//Carga los campos a los que se enviaran los datos
  
                                      
$obra $_POST["nombre"];
                                      
$ncontrato $_POST["ncontrato"];
                                      
$lugar $_POST["lugar"];
                                      
$fecha $_POST["fecha"];
                                      
$supervisor $_POST["snombre"];
                                      
$categoria $_POST["categoria"];
                 
//Inserta el Value de los campos a la tabla obras

                                    
$query="INSERT INTO obras (nombre,ncontrato,fecha,lugar,supervisor,categoria) VALUES ('$_POST[nombre]','$_POST[ncontrato]','$_POST[fecha]','$_POST[lugar]','$_POST[listasupervisor]','$_POST[listacategoria]')";
    
       
mysql_query($query) or die(mysql_error()); 
       echo 
"El archivo $nombre_archivo ha sido registrado de manera satisfactoria.<br />"
                 
                      
        }  
 if(isset(
$_POST['Submit'])) {
     
$cantidad2 =count($_FILES["fichero"]); 
        for (
$j=0;$j<=$cantidad2;$j++){ 
     
//Leer el nombre del fichero
     
$image=$_FILES['fichero']['name'][$j];
     
//Si no esta vacio
     
if ($image
     {
     
//Obtener el nombre original del fichero
         
$filename stripslashes($_FILES['fichero']['name'][$j]);
     
//Obtener la extension del fichero
          
$extension getExtension($filename);
         
$extension strtolower($extension);
     
//Si se da una extension descoocidad, imprimira error  
 
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif") && ($extension != "bmp")) 
         {
        
//Imprimir mensaje de error
             
echo '<h1>Extension desconocida!</h1>';
             
$errors=1;
         }
         else
         {
//Obtenemos el tmaño de la imagen en bytes
 //$_FILES['image']['tmp_name'] temporal fichero
//El archivo se almacena en el servidor
 
$size=filesize($_FILES['fichero']['tmp_name'][$j]);

//Se compara el tamaño del fichero
if ($size MAX_SIZE*1024)
{
    echo 
'<h1>Se a exedido del tamaño maximo.!</h1>';
    
$errors=1;
}

//Daremos un nombre unico con extension
$image_name=time().'.'.$extension;
//Donde se guardaran las imagenes
$newname="../images/".$image_name;
//Se verifica si fue subida, e imprime errores
$copied copy($_FILES['fichero']['tmp_name'][$j], $newname);

if (!
$copied
{
    echo 
'<h1>Copia realizada!</h1>';
    
$errors=1;
    
    
             
}}}}

           
}

//Si no hubo errores, imprimo mensaje 
 
if(isset($_POST['Submit']) && !$errors
 {
 
 
    
//Si la foto fue subida correctamente entonces procedo a aplicarle las etiquetas.

     
echo '<h3>Se ha subido la imagen con éxito  '.$newname.'. <br>
     
    
    
    $extension=$_POST['
type'];
    $image=$_POST['
name'];
    $size=$_POST['
size'];
    $url = $newname;
    $test=$_POST['
test'];
    $newLabel=$_POST['
newLabel'];
    if (($test || $newLabel) && $url){
    
        //Verifico que el archivo que acabo de insertar exista.
        if(file_exists($url))
        {
            mysql_query("insert into photos values ('','".$url."','
0','".$extension."','".$image."','".$size."')");
            $result = mysql_query("select id from photos where url='".$url."");
            $row = mysql_fetch_row($result);
            $photo_id = $row[0];
?>

Si alguien pudiera ayudarme, o darme alguna recomendación, lo agradecería.

EDIT: Por cierto, si selecciono varias imágenes me tira errores de extensión desconocida.
Saludos
Jakob

Última edición por Rudeck; 19/02/2011 a las 13:01
  #2 (permalink)  
Antiguo 19/02/2011, 13:09
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: No se envían datos e url de imagen a la BDD

Creo que deberías poner el formulario donde recoges los datos, recuerda que si los recibes con $_POST, los debes enviar con POST.

Para asegurarte de que te llegó algo, haz un var_dump($_POST) para ver si recibiste datos, cualquiera que sean.
  #3 (permalink)  
Antiguo 19/02/2011, 13:24
 
Fecha de Ingreso: enero-2011
Ubicación: C,M
Mensajes: 44
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: No se envían datos e url de imagen a la BDD

Gracias por tu respuesta, este es mi formulario

Código HTML:
Ver original
  1. <form name="newad" method="post" enctype="multipart/form-data"  action="operaciones.php">
  2.  <table width="100%" border="0" cellspacing="0" cellpadding="0">
  3.    
  4.    
  5.    
  6.    
  7.    <tr>
  8.      <td colspan="2" align="right" ><?php echo imp_menu(); ?></td>
  9.    </tr>
  10.  </table><br><br><br>
  11.  <div id="stylized" class="myform">
  12.   <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" >  
  13.  <h1>Rellena el formulario</h1>
  14. <p>Debes llenar los campos obligatorios *</p>
  15.   <label>Obra
  16.     <span class="small">Nombre de la obra</span>
  17.   </label>
  18.    <input name="nombre" type="text" size="70" maxlength="70" />
  19.    <label>Nº Contrato
  20.     <span class="small">Numero de contrato</span>
  21.   </label>
  22.    <input name="ncontrato" type="text" size="20" maxlength="250" />
  23.    <label>Lugar
  24.     <span class="small">Lugar de obra</span>
  25.   </label>
  26.     <input name="lugar" type="text" size="20" maxlength="70" />
  27.  <label>Fecha
  28.     <span class="small">Fecha de obra</span>
  29. <input name="fecha" value="Dia-Mes-Año" type="text" id="dateArrival" onClick="popUpCalendar(this, form.dateArrival, 'dd-mm-yyyy');" size="10">
  30. <br>
  31.  
  32.  
  33.  
  34.  
  35. <!-- Supervisores -->
  36. <label>Supervisor<span class="small">Eliga el supervisor  </span></label><select name="listasupervisor">
  37.  
  38.       <option value="0" selected="selected"></option>
  39. <?
  40.      mysql_connect('127.0.0.1','root','*****')or die ('Ha fallado la conexión: '.mysql_error());
  41.                 mysql_select_db('obras')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
  42.                
  43.        //Me trae los supervisores desde la DB
  44. $consulta_sql1=mysql_query("select snombre from supervisor");
  45.  
  46. while ($registro1 = mysql_fetch_array($consulta_sql1))
  47. {
  48. ?>
  49.         <option value="<?=$registro1["snombre"];?>">
  50.          <?=$registro1["snombre"];?>
  51.           </option>
  52.         <?
  53. }
  54. ?>
  55.  
  56. <label>Categoria<span class="small">Eliga la categoria</span></label><select name="listacategoria" >
  57.  
  58.         <option value="0"  selected="selected"></option>
  59.        
  60.         <?
  61.        mysql_connect('127.0.0.1','root','*****')or die ('Ha fallado la conexión: '.mysql_error());
  62.                 mysql_select_db('obras')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
  63.        //Me trae las categorias desde la DB
  64. $consulta_sql2=mysql_query("select cname from category");
  65.  
  66. while ($registro2 = mysql_fetch_array($consulta_sql2))
  67. {
  68. ?>
  69.         <option value="<?=$registro2["cname"];?>">
  70.          <?=$registro2["cname"];?>
  71.           </option>
  72.         <?
  73. }
  74. ?>
  75.    
  76.        
  77.  
  78.                
  79.    <label>Imagenes a subir: <span class="small">Selecciona la imagenes</span></label>
  80.         <!-- Esta div contendrá todos los campos file que creemos -->
  81.    <div id="adjuntos">
  82.         <!-- Hay que prestar atención a esto, el nombre de este campo debe siempre terminar en []
  83.        como un vector, y ademas debe coincidir con el nombre que se da a los campos nuevos
  84.        en el script -->
  85.    <input type="file" name="fichero[]" multiple="multiple" />
  86.    </div>
  87.    <a href="#" onClick="addCampo()"><label>Subir otra imagen</a> <span class="small">Cargar otra imagen</span></label>
  88.  
  89.  
  90.  
  91.  <script type="text/javascript">
  92. var numero = 0;          
  93. evento = function (evt) {
  94.    return (!evt) ? event : evt;
  95. }
  96. addCampo = function () {
  97.    nDiv = document.createElement('div');
  98.    nDiv.className = 'archivo';
  99.    nDiv.id = 'file' + (++numero);
  100.    nCampo = document.createElement('input');
  101.    nCampo.name = 'fichero[]';
  102.    nCampo.type = 'file';
  103.    a = document.createElement('a');
  104.    a.name = nDiv.id;
  105.    a.href = '#';
  106.    a.onclick = elimCamp;
  107.    a.innerHTML = 'Eliminar';
  108.    nDiv.appendChild(nCampo);
  109.    nDiv.appendChild(a);
  110.    container = document.getElementById('adjuntos');
  111.    container.appendChild(nDiv);
  112. }
  113. elimCamp = function (evt){
  114.    evt = evento(evt);
  115.    nCampo = rObj(evt);
  116.    div = document.getElementById(nCampo.name);
  117.    div.parentNode.removeChild(div);
  118. }
  119. rObj = function (evt) {
  120.    return evt.srcElement ?  evt.srcElement : evt.target;
  121. }
  122.    
  123.  
  124.  <!--Archivo: <input name="fichero[]" type="file" size="150" maxlength="150"> -->
  125.  
  126.          <p>&nbsp;</p>
  127.          
  128.      <label>Etiquetas<span class="small">Agrega etiquetas</span></label>
  129.       <input type="text" name="newLabel" id="newLabel"  />
  130.      
  131.  
  132.        <br><br> <label>Etiquetas existentes:<span class="small">Elige alguna etiqueta</span></label>
  133.  
  134. <select name="test[]" multiple="multiple">
  135. <?php
  136.  
  137.     $result = mysql_query("select label from labels");
  138.         while($row = mysql_fetch_row($result)) echo'<option value="'.$row[0].'">'.$row[0].'</option>';
  139.        
  140. ?>
  141.    
  142.     <input name="Submit" type="submit" value="Guardar" ></td></tr>
  143.     <div class="spacer"></div>
  144.  </table>  
  145.  <p>&nbsp;</p>
  146.  
  147.  </form>

Creo que mi error es en el codigo en el form, tengo 2 form
Código HTML:
Ver original
  1. <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" >


Y el que debe ser
Código HTML:
Ver original
  1. <form name="newad" method="post" enctype="multipart/form-data"  action="operaciones.php">

Ya que operaciones.php es donde tengo toda la función que puse de php.

EDIT: Lo intente, pero me sigue tirando extensión desconocida, y no se guardan los datos.

Entonces debo usar el var, para recibir verificar los datos del formulario?..

Gracias

Última edición por Rudeck; 19/02/2011 a las 13:31
  #4 (permalink)  
Antiguo 19/02/2011, 13:50
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: No se envían datos e url de imagen a la BDD

No puedes anidar 2 form.
Creo que intentas subir multiples archivos con un solo campo tipo file, cuando para esto debes usar varios campos (uno por daca archivo). Par esto, puedes consultar en google como subir varios archivos a la vez.
Y si, el var_dump te mostrará el contenido de cualquier variable, aunque este vacía, así podrás ver si recibes algo del post, así como la estructura que contiene.
  #5 (permalink)  
Antiguo 19/02/2011, 14:00
 
Fecha de Ingreso: enero-2011
Ubicación: C,M
Mensajes: 44
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: No se envían datos e url de imagen a la BDD

A ok, es que uso un input file, por que abajo hay un script javascript, que me genera al darle en cierto link, otro input. y me da un addcamp().

Gracias...
  #6 (permalink)  
Antiguo 19/02/2011, 14:18
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: No se envían datos e url de imagen a la BDD

Si, pero no debes nombrar a un campo tipo file con corchetes.
  #7 (permalink)  
Antiguo 19/02/2011, 14:57
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 8 meses
Puntos: 416
Respuesta: No se envían datos e url de imagen a la BDD

Cita:
Iniciado por ocp001a Ver Mensaje
Si, pero no debes nombrar a un campo tipo file con corchetes.
Claro que si, se hace asi para recoger varios archivos, con eso no habria ningun inconveniente.

El problema esta en que no puedes tener 2 formularios anidados, aparte, tu codigo tiene un ligero error al principio, tu haces:
Código PHP:
$cantidad2 =count($_FILES["fichero"]); 
Lo que hace PHP ahi es contar la cantidad de llaves que tiene fichero, que siempre seran tmp_name, name, error, etc ...
Debes hacer:
Código PHP:
$cantidad2 =count($_FILES['fichero']['tmp_name']); 
Con eso deberia funcionar mejor.

Si aun de eso sigue mostrando el error de extensiones desconocidas, muestranos la funcion que se encarga de verificar las extensiones.
  #8 (permalink)  
Antiguo 19/02/2011, 15:08
 
Fecha de Ingreso: enero-2011
Ubicación: C,M
Mensajes: 44
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: No se envían datos e url de imagen a la BDD

Gracias por tu respuesta, ya corregi eso, y si aun me muestra ese error.
Código PHP:
Ver original
  1. //Obtener la extension del fichero
  2.         $extension = getExtension($filename);
  3.         $extension = strtolower($extension);
  4.     //Si se da una extension descoocidad, imprimira error  
  5.  if (($extension != "JPG") && ($extension != "JPEG") && ($extension != "PNG") && ($extension != "GIF") && ($extension != "BMP"))
  6.         {
  7.         //Imprimir mensaje de error
  8.             echo '<h1>Extension desconocida!</h1>';
  9.             $errors=1;

Hay me trabaja las extensiones, y me muetra error, dependiendo.

Gracias.
  #9 (permalink)  
Antiguo 19/02/2011, 15:10
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 8 meses
Puntos: 416
Respuesta: No se envían datos e url de imagen a la BDD

Cambia las extensiones a minusculas, porque antes de eso usas strtolower() y segun PHP:
"asd" no es igual que "ASD"
  #10 (permalink)  
Antiguo 19/02/2011, 15:20
 
Fecha de Ingreso: enero-2011
Ubicación: C,M
Mensajes: 44
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: No se envían datos e url de imagen a la BDD

Gracias, ya no me muestra el error, el único problema es que no se envían todas, mas que 1 imagen. Y en realidad se envían solo a la carpeta del servidor, mas no a la base de datos.

Y los datos, de obra,ncontrato, etc, tampoco se guardan.
  #11 (permalink)  
Antiguo 19/02/2011, 15:28
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 8 meses
Puntos: 416
Respuesta: No se envían datos e url de imagen a la BDD

Muestra el codigo como lo tienes ahora, para partir de alli.
Formulario + archivo PHP
  #12 (permalink)  
Antiguo 19/02/2011, 15:34
 
Fecha de Ingreso: enero-2011
Ubicación: C,M
Mensajes: 44
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: No se envían datos e url de imagen a la BDD

Claro...Es el siguiente:

Formulario HTML:
Código HTML:
Ver original
  1. <form name="newad" method="post" enctype="multipart/form-data"  action="operaciones.php">
  2.  <table width="100%" border="0" cellspacing="0" cellpadding="0">
  3.    
  4.    
  5.    
  6.    
  7.    <tr>
  8.      <td colspan="2" align="right" ><?php echo imp_menu(); ?></td>
  9.    </tr>
  10.  </table><br><br><br>
  11.  <div id="stylized" class="myform">
  12.  
  13.  <h1>Rellena el formulario</h1>
  14. <p>Debes llenar los campos obligatorios *</p>
  15.   <label>Obra
  16.     <span class="small">Nombre de la obra</span>
  17.   </label>
  18.    <input name="nombre" type="text" size="70" maxlength="70" />
  19.    <label>Nº Contrato
  20.     <span class="small">Numero de contrato</span>
  21.   </label>
  22.    <input name="ncontrato" type="text" size="20" maxlength="250" />
  23.    <label>Lugar
  24.     <span class="small">Lugar de obra</span>
  25.   </label>
  26.     <input name="lugar" type="text" size="20" maxlength="70" />
  27.  <label>Fecha
  28.     <span class="small">Fecha de obra</span>
  29. <input name="fecha" value="Dia-Mes-Año" type="text" id="dateArrival" onClick="popUpCalendar(this, form.dateArrival, 'dd-mm-yyyy');" size="10">
  30. <br>
  31.  
  32.  
  33.  
  34.  
  35. <!-- Supervisores -->
  36. <label>Supervisor<span class="small">Eliga el supervisor  </span></label><select name="listasupervisor">
  37.  
  38.       <option value="0" selected="selected"></option>
  39. <?
  40.      mysql_connect('127.0.0.1','root','****')or die ('Ha fallado la conexión: '.mysql_error());
  41.                 mysql_select_db('obras')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
  42.                
  43.        //Me trae los supervisores desde la DB
  44. $consulta_sql1=mysql_query("select snombre from supervisor");
  45.  
  46. while ($registro1 = mysql_fetch_array($consulta_sql1))
  47. {
  48. ?>
  49.         <option value="<?=$registro1["snombre"];?>">
  50.          <?=$registro1["snombre"];?>
  51.           </option>
  52.         <?
  53. }
  54. ?>
  55.  
  56. <label>Categoria<span class="small">Eliga la categoria</span></label><select name="listacategoria" >
  57.  
  58.         <option value="0"  selected="selected"></option>
  59.        
  60.         <?
  61.        mysql_connect('127.0.0.1','root','****')or die ('Ha fallado la conexión: '.mysql_error());
  62.                 mysql_select_db('obras')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
  63.        //Me trae las categorias desde la DB
  64. $consulta_sql2=mysql_query("select cname from category");
  65.  
  66. while ($registro2 = mysql_fetch_array($consulta_sql2))
  67. {
  68. ?>
  69.         <option value="<?=$registro2["cname"];?>">
  70.          <?=$registro2["cname"];?>
  71.           </option>
  72.         <?
  73. }
  74. ?>
  75.    
  76.        
  77.  
  78.                
  79.    <label>Imagenes a subir: <span class="small">Selecciona la imagenes</span></label>
  80.         <!-- Esta div contendrá todos los campos file que creemos -->
  81.    <div id="adjuntos">
  82.         <!-- Hay que prestar atención a esto, el nombre de este campo debe siempre terminar en []
  83.        como un vector, y ademas debe coincidir con el nombre que se da a los campos nuevos
  84.        en el script -->
  85.    <input type="file" name="fichero[]" multiple="multiple" />
  86.    </div>
  87.    <a href="#" onClick="addCampo()"><label>Subir otra imagen</a> <span class="small">Cargar otra imagen</span></label>
  88.  
  89.  
  90.  
  91.  <script type="text/javascript">
  92. var numero = 0;          
  93. evento = function (evt) {
  94.    return (!evt) ? event : evt;
  95. }
  96. addCampo = function () {
  97.    nDiv = document.createElement('div');
  98.    nDiv.className = 'archivo';
  99.    nDiv.id = 'file' + (++numero);
  100.    nCampo = document.createElement('input');
  101.    nCampo.name = 'fichero[]';
  102.    nCampo.type = 'file';
  103.    a = document.createElement('a');
  104.    a.name = nDiv.id;
  105.    a.href = '#';
  106.    a.onclick = elimCamp;
  107.    a.innerHTML = 'Eliminar';
  108.    nDiv.appendChild(nCampo);
  109.    nDiv.appendChild(a);
  110.    container = document.getElementById('adjuntos');
  111.    container.appendChild(nDiv);
  112. }
  113. elimCamp = function (evt){
  114.    evt = evento(evt);
  115.    nCampo = rObj(evt);
  116.    div = document.getElementById(nCampo.name);
  117.    div.parentNode.removeChild(div);
  118. }
  119. rObj = function (evt) {
  120.    return evt.srcElement ?  evt.srcElement : evt.target;
  121. }
  122.    
  123.  
  124.  <!--Archivo: <input name="fichero[]" type="file" size="150" maxlength="150"> -->
  125.  
  126.          <p>&nbsp;</p>
  127.          
  128.      <label>Etiquetas<span class="small">Agrega etiquetas</span></label>
  129.       <input type="text" name="newLabel" id="newLabel"  />
  130.      
  131.  
  132.        <br><br> <label>Etiquetas existentes:<span class="small">Elige alguna etiqueta</span></label>
  133.  
  134. <select name="test[]" multiple="multiple">
  135. <?php
  136.  
  137.     $result = mysql_query("select label from labels");
  138.         while($row = mysql_fetch_row($result)) echo'<option value="'.$row[0].'">'.$row[0].'</option>';
  139.        
  140. ?>
  141.    
  142.     <input name="Submit" type="submit" value="Guardar" ></td></tr>
  143.     <div class="spacer"></div>
  144.  </table>  
  145.  <p>&nbsp;</p>
  146.  
  147.  </form>



PHP:
Código PHP:
Ver original
  1. <?
  2. //Maximo tamaño en kb
  3.  define ("MAX_SIZE","2024");
  4.  
  5. //Funcion de extensiones
  6.  function getExtension($str) {
  7.          $i = strrpos($str,".");
  8.          if (!$i) { return ""; }
  9.          $l = strlen($str) - $i;
  10.          $ext = substr($str,$i+1,$l);
  11.          return $ext;
  12.  }
  13.  
  14.  
  15. // Esta variable se utiliza como una bandera. El valor se inicializa con 0 (es decir, no hay error que se encuentran)
  16. // y se cambia a 1 si un occures error.
  17. // Si el error occures el archivo no se cargará.
  18.  $errors=0;
  19. //Comprueba si el formulario ha sido enviado
  20.  
  21.              if(isset($_POST['submit'])) {
  22.            
  23.  
  24. //Conectamos a la base de datos para almacenar los datos y la ruta del archivo, aunque ya tengamos archivo conexion
  25.  
  26.                  mysql_connect('127.0.0.1','root','****')or die ('Ha fallado la conexión: '.mysql_error());
  27.                  mysql_select_db('obras')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
  28.  
  29.  
  30.   //Carga los campos a los que se enviaran los datos
  31.  
  32.                                     $obra = $_POST["nombre"];
  33.                                     $ncontrato = $_POST["ncontrato"];
  34.                                     $lugar = $_POST["lugar"];
  35.                                     $fecha = $_POST["fecha"];
  36.                                     $supervisor = $_POST["snombre"];
  37.                                     $categoria = $_POST["categoria"];
  38.                  
  39. //Inserta el Value de los campos a la tabla obras
  40.  
  41.                                     $query="INSERT INTO obras (nombre,ncontrato,fecha,lugar,supervisor,categoria) VALUES ('$_POST[nombre]','$_POST[ncontrato]','$_POST[fecha]','$_POST[lugar]','$_POST[listasupervisor]','$_POST[listacategoria]')";
  42.    
  43.        mysql_query($query) or die(mysql_error());
  44.        echo "El archivo $nombre_archivo ha sido registrado de manera satisfactoria.<br />";
  45.                  
  46.                      
  47.         }  
  48.  if(isset($_POST['Submit'])) {
  49.     $cantidad2 =count($_FILES["fichero"]['tmp_name']);
  50.         for ($j=0;$j<=$cantidad2;$j++){
  51.     //Leer el nombre del fichero
  52.     $image=$_FILES['fichero']['name'][$j];
  53.     //Si no esta vacio
  54.     if ($image)
  55.     {
  56.     //Obtener el nombre original del fichero
  57.         $filename = stripslashes($_FILES['fichero']['name'][$j]);
  58.     //Obtener la extension del fichero
  59.         $extension = getExtension($filename);
  60.         $extension = strtolower($extension);
  61.     //Si se da una extension descoocidad, imprimira error  
  62.  if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif") && ($extension != "bmp"))
  63.         {
  64.         //Imprimir mensaje de error
  65.             echo '<h1>Extension desconocida!</h1>';
  66.             $errors=1;
  67.         }
  68.         else
  69.         {
  70. //Obtenemos el tmaño de la imagen en bytes
  71.  //$_FILES['image']['tmp_name'] temporal fichero
  72. //El archivo se almacena en el servidor
  73.  $size=filesize($_FILES['fichero']['tmp_name'][$j]);
  74.  
  75. //Se compara el tamaño del fichero
  76. if ($size > MAX_SIZE*1024)
  77. {
  78.     echo '<h1>Se a exedido del tamaño maximo.!</h1>';
  79.     $errors=1;
  80. }
  81.  
  82. //Daremos un nombre unico con extension
  83. $image_name=time().'.'.$extension;
  84. //Donde se guardaran las imagenes
  85. $newname="../images/".$image_name;
  86. //Se verifica si fue subida, e imprime errores
  87. $copied = copy($_FILES['fichero']['tmp_name'][$j], $newname);
  88.  
  89. if (!$copied)
  90. {
  91.     echo '<h1>Copia realizada!</h1>';
  92.     $errors=1;
  93.    
  94.    
  95.              
  96. }}}}
  97.  
  98.            
  99. }
  100.  
  101. //Si no hubo errores, imprimo mensaje
  102.  if(isset($_POST['Submit']) && !$errors)
  103.  {
  104.  
  105.  
  106.     //Si la foto fue subida correctamente entonces procedo a aplicarle las etiquetas.
  107.  
  108.     echo '<h3>Se ha subido la imagen con éxito  '.$newname.'. <br>
  109.    
  110.    
  111.    
  112.     $extension=$_POST['type'];
  113.     $image=$_POST['name'];
  114.     $size=$_POST['size'];
  115.     $url = $newname;
  116.     $test=$_POST['test'];
  117.     $newLabel=$_POST['newLabel'];
  118.     if (($test || $newLabel) && $url){
  119.    
  120.         //Verifico que el archivo que acabo de insertar exista.
  121.         if(file_exists($url))
  122.         {
  123.             mysql_query("insert into photos values ('','".$url."','0','".$extension."','".$image."','".$size."')");
  124.             $result = mysql_query("select id from photos where url='".$url."'");
  125.             $row = mysql_fetch_row($result);
  126.             $photo_id = $row[0];
  127.            
  128.    
  129.             }
  130.            
  131.    
  132.        
  133. }
  134.  
  135. ?>


Esos son los códigos, gracias.
  #13 (permalink)  
Antiguo 19/02/2011, 21:57
 
Fecha de Ingreso: enero-2011
Ubicación: C,M
Mensajes: 44
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: No se envían datos e url de imagen a la BDD

Intente cambiar el orden en el que se me hace el INSERT para los datos, pero tampoco, sigue igual.

Gracias.

Etiquetas: url, bbdd
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:00.