Insertar Foto en Formulario
Este es mi código de insertar foto en un formulario, pero me esta mostrado el siguiente error: "Campo vacío, no ha seleccionado ninguna imagen" no me esta cogiendo la foto la variable y no doy con el error he echo todas las pruebas posibles, espero una respuesta muchas gracias. Un saludo.
<?php
session_start();
?>
<html>
<head>
<title>Insertar Usuario</title>
</head>
<body>
<?php
require_once('conexion.php');
$foto=$_POST['upfile'];
$nombre=$_POST['nombre'];
$apellidos1=$_POST['apellidos1'];
$apellidos2=$_POST['apellidos2'];
$documento=$_POST['documento'];
$numero=$_POST['numero'];
$fechanacimiento=$_POST['fechanacimiento'];
$calle=$_POST['calle'];
$piso=$_POST['piso'];
$codigopostal=$_POST['codigopostal'];
$isla=$_POST['isla'];
$municipio=$_POST['municipio'];
$provincia=$_POST['provincia'];
$email=$_POST['email'];
$telefono=$_POST['telefono'];
$movil=$_POST['movil'];
$Usuario=$_POST['Usuario'];
$Clave=$_POST['Clave'];
$perfil=$_POST['perfil'];
$resultado=mysql_query("insert into usuarios (foto,nombre,apellidos1,apellidos2,documento,numero,fechanacimiento,calle,piso,codigopostal,isla
,municipio,provincia,email,telefono,movil,Usuario,Clave,perfil)
values ('$nombre','$apellidos1','$apellidos2','$documento','$numero','$fechanacimiento',
'$calle','$piso','$codigopostal','$isla','$municipio','$provincia','$email','$telefono','$movil','$Usuario','$Clave','$perfil')");
$max=1500000;
$uploaddir = "fotos/";
$filesize = $_FILES['upfile']['size'];
$filename = trim($_FILES['upfile']['name']); // trim elimina los posibles espacios al final y al principio del nombre del archivo
$filename = substr($filename, -20); // con substr le decimos que coja solamente los últimos 20 caracteres por si el nombre fuera muy largo
$filename = ereg_replace(" ", "", $filename); // con esta función eliminamos posibles espacios entre los caracteres del nombre
if($filesize < $max){
if($filesize > 0){
if((ereg(".jpg", $filename)) || (ereg(".gif", $filename)) || (ereg(".JPG", $filename))|| (ereg(".GIF", $filename))){
$uploadfile = $uploaddir . $filename;
if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile)) {
print("Archivo subido correctamente");
} else {
print("Error de conexion con el servidor.");
}
} else {
print("Sólo se permiten imágenes en formato jpg. Y gif., no se ha podido adjuntar.");
}
}
else {
print("<br><br>Campo vacio, no ha seleccionado ninguna imagen");
}
}
else {
print("<br><br>La imagen que ha intentado adjuntar es mayor de 1.5 Mb, si desea cambie el tamaño del archivo y vuelva a intentarlo.");
}
if ( (!$resultado))
{
echo "<br><br><br><br><div align='center'><h2>No se ha podido registrar el Usuario, intentelo de nuevo.</div>
<META HTTP-EQUIV='Refresh' CONTENT='3; url=formulario.html'>";
}
else
{
echo "<br><br><br><br><div align='center'><h2>Se ha registrado correctamente, confirme su cuenta en su correo electronico.</div>
<META HTTP-EQUIV='Refresh' CONTENT='3; url=login.php'>";
}
?>
</body>
</html>
<?php
session_start();
?>
<html>
<head>
<title>Insertar Usuario</title>
</head>
<body>
<?php
require_once('conexion.php');
$foto=$_POST['upfile'];
$nombre=$_POST['nombre'];
$apellidos1=$_POST['apellidos1'];
$apellidos2=$_POST['apellidos2'];
$documento=$_POST['documento'];
$numero=$_POST['numero'];
$fechanacimiento=$_POST['fechanacimiento'];
$calle=$_POST['calle'];
$piso=$_POST['piso'];
$codigopostal=$_POST['codigopostal'];
$isla=$_POST['isla'];
$municipio=$_POST['municipio'];
$provincia=$_POST['provincia'];
$email=$_POST['email'];
$telefono=$_POST['telefono'];
$movil=$_POST['movil'];
$Usuario=$_POST['Usuario'];
$Clave=$_POST['Clave'];
$perfil=$_POST['perfil'];
$resultado=mysql_query("insert into usuarios (foto,nombre,apellidos1,apellidos2,documento,numero,fechanacimiento,calle,piso,codigopostal,isla
,municipio,provincia,email,telefono,movil,Usuario,Clave,perfil)
values ('$nombre','$apellidos1','$apellidos2','$documento','$numero','$fechanacimiento',
'$calle','$piso','$codigopostal','$isla','$municipio','$provincia','$email','$telefono','$movil','$Usuario','$Clave','$perfil')");
$max=1500000;
$uploaddir = "fotos/";
$filesize = $_FILES['upfile']['size'];
$filename = trim($_FILES['upfile']['name']); // trim elimina los posibles espacios al final y al principio del nombre del archivo
$filename = substr($filename, -20); // con substr le decimos que coja solamente los últimos 20 caracteres por si el nombre fuera muy largo
$filename = ereg_replace(" ", "", $filename); // con esta función eliminamos posibles espacios entre los caracteres del nombre
if($filesize < $max){
if($filesize > 0){
if((ereg(".jpg", $filename)) || (ereg(".gif", $filename)) || (ereg(".JPG", $filename))|| (ereg(".GIF", $filename))){
$uploadfile = $uploaddir . $filename;
if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile)) {
print("Archivo subido correctamente");
} else {
print("Error de conexion con el servidor.");
}
} else {
print("Sólo se permiten imágenes en formato jpg. Y gif., no se ha podido adjuntar.");
}
}
else {
print("<br><br>Campo vacio, no ha seleccionado ninguna imagen");
}
}
else {
print("<br><br>La imagen que ha intentado adjuntar es mayor de 1.5 Mb, si desea cambie el tamaño del archivo y vuelva a intentarlo.");
}
if ( (!$resultado))
{
echo "<br><br><br><br><div align='center'><h2>No se ha podido registrar el Usuario, intentelo de nuevo.</div>
<META HTTP-EQUIV='Refresh' CONTENT='3; url=formulario.html'>";
}
else
{
echo "<br><br><br><br><div align='center'><h2>Se ha registrado correctamente, confirme su cuenta en su correo electronico.</div>
<META HTTP-EQUIV='Refresh' CONTENT='3; url=login.php'>";
}
?>
</body>
</html>
2 respuestas
Respuesta de snaki Fco
1
Respuesta de Jorge Vila
1