Foros del Web » Programando para Internet » PHP »

problemas con SUBIDA al Servidor y insercion en Mysql

Estas en el tema de problemas con SUBIDA al Servidor y insercion en Mysql en el foro de PHP en Foros del Web. El caso es que subir si sube los archivos, pero no me rellena los campos de la base de datos que le mando desde el ...
  #1 (permalink)  
Antiguo 29/03/2006, 03:56
 
Fecha de Ingreso: marzo-2006
Ubicación: En mi oscura y humeda madriguera
Mensajes: 27
Antigüedad: 11 años, 9 meses
Puntos: 0
problemas con SUBIDA al Servidor y insercion en Mysql

El caso es que subir si sube los archivos, pero no me rellena los campos de la base de datos que le mando desde el formulario.
los id_examen y id_area.

Este seria el upl2.php

Código PHP:
<?
require("config.php");

$subidaCorrecta=$_REQUEST["subidaCorrecta"];
$id_examen=$_REQUEST["id_examen"];
$id_area=$_REQUEST["id_area"];



$extensiones=array("htm","html","exe","php","gif","vbs","zip","rar","js");



$path="C:servidor/web/descargas/examealumnos";
$nombre=$HTTP_POST_FILES['archivo']['name'];
$tamanio=$HTTP_POST_FILES['archivo']['size'];
$tipo=$HTTP_POST_FILES['archivo']['type'];
$var explode(".","$nombre");
$num count($extensiones);
$valor $num-1;
for(
$i=0$i<=$valor$i++) {
    if(
$extensiones[$i] == $var[1]) 
    {
    echo 
"Tipo de Archivo no admitido";
    exit;
    }
}


if(
$subidaCorrecta)
    {
//Si los datos se han recibido correctamente se procede a la conexion en la BD.
        
$conexion mysql_connect("$dbhost""$dbuser""$dbpass");
            
// Seleccionamos la base de datos
            
mysql_select_db($db);

            
// Esta es la insercion en la BASE DE DATOS
            
$insercion "INSERT INTO examenes (id_examen, id_area, link) values";
            
$insercion.= "('$id_examen', '$id_area', '$path')";
    
    
mysql_query($insercion);
        
mysql_close($conexion);
        print 
'Datos enviados<br>';
        print 
'id es '.$id_examen'<br>';
      }
else 
    {
        echo (
"Error al escribir el archivo en la Base de Datos<br>" .mysql_error()); 
    }
if (
is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name']))
 {
  
copy($HTTP_POST_FILES['archivo']['tmp_name'], "$path/$nombre");
  echo 
"El archivo se ha subido correctamente al servidor, muchas gracias <p>";
  echo 
"Nombre: $nombre <p>";
  echo 
"Tamaño: $tamanio <p>";
  echo 
"Tipo: $tipo";
 }
else 

    echo 
"Error al subir el archivo"
}


y el upexamen q es donde esta el formulario.




Código PHP:
<html>
<
h2 align="center">SUBIDA</h2>
<
br>
<
br>
<
table align="center" border="1">
    <
tr>
        <
td>
            <
form method="post" name="subexamen" enctype="multipart/form-data" action="upl2.php">
                <
input type="hidden" name="subidaCorrecta" value="1">
                <
input type="file" name="archivo" size="20">
                <
td align="center">
                    <
input type="submit" value="Enviar" name="send">
                </
td>
                <
td align="center">
                <
input type="reset" value="Borrar" name="erase">
                </
td>
            </
form>
        </
td>
    </
tr>
    <
tr>
            <
td colspan="3">
                                <
CENTER>
                        
Elija un identificador de area:<BR>
                                
                                    <
SELECT NAME="id_area">
                                        <
OPTION value="1">1
                                        
<OPTION value="2">2
                                        
<OPTION value="3">3
                                        
<OPTION value="4">4
                                    
</SELECT>
                                </
CENTER>
                 </
td>
     
     </
tr>
     <
tr>
             <
td colspan="3">
                         <
CENTER>        
                            
Elija un identificador de examen:<BR>
                                <
SELECT NAME="id_examen">
                                            <
OPTION value="1">1
                                            
<OPTION value="2">2
                                            
<OPTION value="3">3
                                            
<OPTION value="4">4
                                
</SELECT>
                        </
CENTER>
                         
             </
td>
     </
tr>
</
table
GRACIAS por anticipado y un saludo.
  #2 (permalink)  
Antiguo 29/03/2006, 04:45
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 8 meses
Puntos: 17
Tenés varios errores HTML q te pueden generar problema...

Código HTML:
 <OPTION value="1">1
                                            <OPTION value="2">2
                                            <OPTION value="3">3
                                            <OPTION value="4">4 
Los options no están cerrados :S

otra: en $path pusiste C:servidor... sin / al principio

Sin embargo, esto no explica el problema de no insertar

Cuando ejecutas la query agregale "or die(mysql_error())" para ver el error q envia mysql y xq no lo ingresa

Código PHP:
            $insercion "INSERT INTO examenes (id_examen, id_area, link) values";
            
$insercion.= "('$id_examen', '$id_area', '$path')";
     
mysql_query($insercion) or die(mysql_error()); 
  #3 (permalink)  
Antiguo 04/04/2006, 02:10
 
Fecha de Ingreso: marzo-2006
Ubicación: En mi oscura y humeda madriguera
Mensajes: 27
Antigüedad: 11 años, 9 meses
Puntos: 0
Seppo Muchas gracias.
Alguna otra respuesta a mis dilemas??
No me inserta nada de los valores sino que inserta 0 en vez de 1 , 2 , 3 o 4.
y no da ningun error de sql.
Sospecho que la funcion $_REQUEST no es compatible con $HTTP_POST_FILES
alguien me lo puede confirmar???
  #4 (permalink)  
Antiguo 04/04/2006, 05:17
 
Fecha de Ingreso: marzo-2006
Ubicación: En mi oscura y humeda madriguera
Mensajes: 27
Antigüedad: 11 años, 9 meses
Puntos: 0
esto es lo q me devuelve

Datos enviados
id de examen es
id de area es
El archivo se ha subido correctamente al servidor, muchas gracias


Y en la base de datos me pone en id_examen y id_area un cero por cada campo.



AYUDAAAAA PLISSSSSS
  #5 (permalink)  
Antiguo 05/04/2006, 13:24
 
Fecha de Ingreso: marzo-2006
Ubicación: En mi oscura y humeda madriguera
Mensajes: 27
Antigüedad: 11 años, 9 meses
Puntos: 0
Era una chorrada y lo solucione un despiste sin mas.

No cerre el formulario donde debem cerrarse por eso no me las cojia.
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 08:22.