Foros del Web » Programando para Internet » PHP »

Subir archivo a server y guardar datos en BD

Estas en el tema de Subir archivo a server y guardar datos en BD en el foro de PHP en Foros del Web. Buenas, He creado un formulario que procesa unos datos para ser almacenados en una BD, uno de sus campos es la url de un archivo ...
  #1 (permalink)  
Antiguo 25/08/2006, 12:49
 
Fecha de Ingreso: diciembre-2001
Mensajes: 118
Antigüedad: 16 años
Puntos: 0
Subir archivo a server y guardar datos en BD

Buenas,
He creado un formulario que procesa unos datos para ser almacenados en una BD, uno de sus campos es la url de un archivo que debe almacenarse en el server. Para ello, el php primero sube el archivo y acontinuación procesa el resto de datos para ser almacenados en una BD.

El problema esta en que cuando accedo a este PHP mediante el navegador, este no muestra el formulario ¿donde puede estar el error?

Francamente, estoy me estoy iniciando en el lenguaje pHP y he modificado un original que encontré en un tutorial. pero no lo hice bien.

Código PHP:
<?php
if (isset($_POST['submit'])) {  
if (!empty(
$_POST['titulo']) && !empty($_POST['definicion'])) {
    
// Cargar foto, después introducir datos
    
$upload false;
if (isset(
$_POST['submit'])) {  
    if(
is_uploaded_file($_FILES['archivo']['tmp_name'])) { // verifica haya sido cargado el archivo 
        
if(move_uploaded_file($_FILES['archivo']['tmp_name'], "videos/".$_FILES['archivo']['name'])) { // se coloca en su lugar final 
                    
echo "<b>Upload exitoso!. Datos:</b><br>"
            echo 
"Nombre: <i><a href=\""."videos/".$_FILES['archivo']['name']."\">".$_FILES['archivo']['name']."</a></i><br>"
            echo 
"Tipo MIME: <i>".$_FILES['archivo']['type']."</i><br>"
                    echo 
"Peso: <i>".$_FILES['archivo']['size']." bytes</i><br>"
                        echo 
"<br><hr><br>";

    } 
    if (
$upload) {
        
$fecha date("d.m.Y, H:i") . " horas";
        
$titulo strip_tags($_POST['titulo']);
        
$categoria strip_tags($_POST['categoria']);
        
$definicion strip_tags($_POST['definicion']);
    
$conexion mysql_connect(" * * * "" * * * "," * * * ");
    
mysql_select_db(" * * * ",$conexion);
        
$sql "INSERT INTO videos " "VALUES ('', '$titulo', '$categoria', 
        '$archivo', '$fecha', '$definicion')"
;
        if (
mysql_query($sql)) {
            echo 
"<p>Se ha podido introducir los datos en la base de datos.</p>";
        } else {
            echo 
"<p><b>No</b> se ha podido introducir los datos en la base de datos.</p>";
        }
        echo 
"<h3>nada</h3>";
    } 
} else if (isset(
$_POST['submit'])) {
    echo 
"<h2>¡Todavía falta algo!</h2>
    <p>Deben rellenarse <b>todos</b> los campos.</p>
    <form><input type='button' value='Volver' 
    onclick='javascript:history.back()'></form>"
;


?>

<form action="<?php echo $_SERVER['PHP_SELF'?>" method="post" enctype="multipart/form-data">
<input type="text" name="titulo"><br>
<input type="text" name="categoria"><br>
<input type="file" name="archivo"><br>
<textarea cols="65" rows="15" wrap="soft" name="definicion">
</textarea><br>
<input type="submit" name="submit" value="Introducir entrada --&gt;">
</form>
  #2 (permalink)  
Antiguo 25/08/2006, 13:03
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 12 años, 10 meses
Puntos: 11
Cita:
El problema esta en que cuando accedo a este PHP mediante el navegador, este no muestra el formulario ¿donde puede estar el error?
- Como se llama el archivo?
- Que URL escribiste?
- si lees podras saber donde esta el error.. lo viste?
- en caso de ser SI - Que dice el error?
- en caso de ser NO - :S

Saludos.
  #3 (permalink)  
Antiguo 25/08/2006, 13:51
 
Fecha de Ingreso: diciembre-2001
Mensajes: 118
Antigüedad: 16 años
Puntos: 0
Este archivo lo he llamado pujar.php, y como no se muestra ni tan solo el formulario al cargarlo en el navegador pues no he podido probar de insertar ningun archivo para subir.

La url que puse pues la correcta hombre, se cual es mi server y con que nombre guarde este php, pero no puedo facilitartelo porque evidentemente tiene un error y pueden mostrarse las contraseñas y los nombres de las bases de datos. Confia que he accedido correctamente, simplemente he accedido mediante el navegador y se muestra la pagina en blanco.

No se muestra ningun tipo de error, se carga la pagina en blanco.

Muchas gracias de todos modos.
  #4 (permalink)  
Antiguo 25/08/2006, 14:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Esos errores de "pagina en blanco" pueden estar produciendose por cualquier cosa pero tu configuración de PHP no está permitiendo verlos.

Revisa tu configuración de PHP (php.ini) ..
error_display (que esté a ON)
error_reporting (que esté a un valor alto de visualización de errores).

Luego vuelve a ejecutar tu código y observa posibles mensajes de error.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 25/08/2006, 14:23
 
Fecha de Ingreso: diciembre-2001
Mensajes: 118
Antigüedad: 16 años
Puntos: 0
Lo siento, no puedo acceder a php.ini, mi proveedor de hosting no me lo permite (iespanapro.com)
  #6 (permalink)  
Antiguo 25/08/2006, 17:38
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 12 años, 10 meses
Puntos: 11
Tambien se muestran en blanco cuando esta algo mal en el codigo HTML...

Si le das "Ver Código" fuente tb te sale en blanco?

en caso de ver código muestralo al foro...
  #7 (permalink)  
Antiguo 25/08/2006, 17:43
 
Fecha de Ingreso: diciembre-2001
Mensajes: 118
Antigüedad: 16 años
Puntos: 0
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD>
<BODY></BODY></HTML> 
  #8 (permalink)  
Antiguo 25/08/2006, 18:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por toniveas Ver Mensaje
Lo siento, no puedo acceder a php.ini, mi proveedor de hosting no me lo permite (iespanapro.com)
Por lo menos error_reporting() lo puedes ajustar por la funciòn de mismo nombre:

www.php.net/error_reporting

Pero .. malo es si tienen "display_errors" a OFF .. por lo menos en "desarrollo" para que veas los posibles mensajes de error (que si no los ves .. es ir a ciegas intentando resolver problemas).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 14:35.