Foros del Web » Programando para Internet » PHP »

Ayuda con código, por favor

Estas en el tema de Ayuda con código, por favor en el foro de PHP en Foros del Web. Hola a todos: Tengo un formulario para capturar determinados datos de clientes así como para subir un par de imágenes. El problema lo tengo en ...
  #1 (permalink)  
Antiguo 06/08/2007, 03:25
 
Fecha de Ingreso: enero-2007
Mensajes: 76
Antigüedad: 17 años, 3 meses
Puntos: 0
Ayuda con código, por favor

Hola a todos:

Tengo un formulario para capturar determinados datos de clientes así como para subir un par de imágenes.

El problema lo tengo en que el código me funciona para guardar todos los datos excepto las imágenes que no me las guarda en la base de datos mysql.

¿Podéis echar un ojo al código a ver si me orientáis, por favor? O quizá sepáis alguna otra forma de hacerlo.

Gracias de antemano por vuestra ayuda.

Código PHP:
<?php 

include "config.php";

$nombre mysql_real_escape_string ($_POST["nombre"]);
$apellido1 mysql_real_escape_string ($_POST["apellido1"]);
$apellido2 mysql_real_escape_string ($_POST["apellido2"]);
$calle mysql_real_escape_string ($_POST["calle"]);
$poblacion mysql_real_escape_string ($_POST["poblacion"]);
$provincia mysql_real_escape_string ($_POST["provincia"]);
$cp mysql_real_escape_string ($_POST["cp"]);
$telefono mysql_real_escape_string ($_POST["telefono"]);
$anonac mysql_real_escape_string ($_POST["anonac"]);
$mesnac mysql_real_escape_string ($_POST["mesnac"]);
$dianac mysql_real_escape_string ($_POST["dianac"]);
$dni mysql_real_escape_string ($_POST["dni"]);
$anocad mysql_real_escape_string ($_POST["anocad"]);
$mescad mysql_real_escape_string ($_POST["mescad"]);
$diacad mysql_real_escape_string ($_POST["diacad"]);
$dnidel mysql_escape_string ($_FILES['dnidel']['tmp_name']);
$dnitras mysql_escape_string ($_FILES 'dnitras' ][ 'tmp_name' ]);

//Todo parece correcto procedemos con la inserccion
$query "INSERT INTO clientes (nombre, apellido1, apellido2, calle, poblacion, provincia, cp, telefono, anonac, mesnac, dianac, dni, anocad, mescad, diacad, dnidel, dnitras) VALUES('$nombre','$apellido1','$apellido2','$calle','$poblacion','$provincia','$cp','$telefono','$anonac','$mesnac','$dianac','$dni','$anocad','$mescad','$diacad','$dnidel','$dnitras')";

mysql_query($query) or die(mysql_error());
echo 
"El usuario $nombre $apellido1 $apellido2 ha sido registrado de manera satisfactoria.";
?>
<script type="text/javascript">

var pagina = 'altacli1.php';
var segundos = 5000;

function redireccion() {

document.location.href=pagina;

}

setTimeout("redireccion()",segundos);

</script>
<?

?>

Última edición por caribdis; 06/08/2007 a las 06:06
  #2 (permalink)  
Antiguo 06/08/2007, 06:32
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
Re: Ayuda con código, por favor

NO puedes meter la imagen segun la coges en la base de datos, la tienes que convertir. De todas formas, es mejor que lo guardes en una carpeta en el servidor y que pongas la ruta de la imagen en la base de datos porque sino la base de datos te va a ocupar un montón.

si vas a rinconastur.net, informatica en guardar y leer imagenes en una tabla, explica como hacerlo introduciendo la imagen en la base de datos.

Para guardar en un directorio, tendrías que crear la carpeta donde lo vas a guardar y hacer lo siguiente:

move_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'], $Ruta."/".$nombrearchivo);

donde $Ruta es la ruta de la carpeta donde vas a guardar, nombrearchivo es: $nombrearchivo = $HTTP_POST_FILES['archivo']['name']; y archivo es el archivo a subir (el del formulario)

espero que te sirva.

Saludos!
  #3 (permalink)  
Antiguo 06/08/2007, 09:04
 
Fecha de Ingreso: enero-2007
Mensajes: 76
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Ayuda con código, por favor

Gracias por tu ayuda. Ya me funciona. Por si a alguien le sive este es el código que he utilizado.

Este es el formulario:

Código PHP:
<form enctype="multipart/form-data" action="altacli2.php" method="post">

<
div id="Layer28">
    <
input type="file" size="45" maxlength="150" NAME="dnidel" id="dnidel"/>
</
div>

<
div id="Layer29">
    <
input type="file" size="45" maxlength="150" NAME="dnitras" id="dnitras"/>
</
div>

</
form
Y este es el código que mete las imágenes en la BD:

Código PHP:
<?php 

$dnidel_name
$_FILES['dnidel']['name'];
$dnidel_size$_FILES['dnidel']['size'];
$dnidel_type=  $_FILES['dnidel']['type'];
$dnidel_temporal$_FILES['dnitras']['tmp_name'];
$dnitras_name$_FILES['dnitras']['name'];
$dnitras_size$_FILES['dnitras']['size'];
$dnitras_type=  $_FILES['dnitras']['type'];
$dnitras_temporal$_FILES['dnitras']['tmp_name'];

$f1fopen($dnidel_temporal,"rb");
$foto1_reconvertida fread($f1$dnidel_size);
$foto1_reconvertida=addslashes($foto1_reconvertida);

$f2fopen($dnitras_temporal,"rb");
$foto2_reconvertida fread($f2$dnitras_size);
$foto2_reconvertida=addslashes($foto2_reconvertida);

$query "INSERT INTO clientes (dnidel, dnitras) VALUES('$foto1_reconvertida','$foto2_reconvertida')";

mysql_query($query) or die(mysql_error());
echo 
"El usuario $nombre $apellido1 $apellido2 ha sido registrado de manera satisfactoria.";
?>
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 07:14.