Tengo este formulario:
Código HTML:
<form id="login" name="login" method="post" onsubmit="" action="dar_alta.php"> <p>Nombre*</p> <input type="text" id="nombre" name="nombre" value="- enter your name -" onfocus="if(this.value=='- enter your name -')this.value=''" onblur="if(this.value=='')this.value='- enter your name -'" /> <p>Apellidos*</p><input type="text" id="apellidos" name='apellidos' size="30" value="- enter your name -" onfocus="if(this.value=='- enter your name -')this.value=''" onblur="if(this.value=='')this.value='- enter your name -'" /> <p>Direccion*</p><input type="text" name="direccion" id="direccion" value="- enter your name -" onfocus="if(this.value=='- enter your name -')this.value=''" onblur="if(this.value=='')this.value='- enter your name -'" /> <p>F.Nacimiento</p><input type="text" id="nac" name='nac' class="form_input_center" size="30" value="- enter your name -" onfocus="if(this.value=='- enter your name -')this.value=''" onblur="if(this.value=='')this.value='- enter your name -'" /> <p>Mail*</p><input type="text" name="mail" id="mail" value="- enter your name -" onfocus="if(this.value=='- enter your name -')this.value=''" onblur="if(this.value=='')this.value='- enter your name -'"/> <p>Login*</p><input type="text" id="login" name="login" value="- enter your name -" onfocus="if(this.value=='- enter your name -')this.value=''" onblur="if(this.value=='')this.value='- enter your name -'" /> <p>Password*</p><input type="text" id="password" name='password' size="30" value="- enter your name -" onfocus="if(this.value=='- enter your name -')this.value=''" onblur="if(this.value=='')this.value='- enter your name -'"/> <p>Imagen</p><input name="imagen" id="imagen" type="file" size="35" /> <input type="submit" value="insertar" title="Pulsa aqui para enviar" /> </form>
Código PHP:
<?php
session_start();
include_once("class/conexion.php");
include_once("class/usuario.php");
//Recogemos los datos del formulario
$nombre = $_POST["nombre"];
$apellidos = $_POST["apellidos"];
$dir = $_POST["direccion"];
$mail = $_POST["mail"];
$login = $_POST["login"];
$pass = $_POST["password"];
$nac = $_POST["nac"];
$max=512000;//500KB
$tamano = $_FILES["imagen"]['size'];
$tipo = $_FILES["imagen"]['type'];
$archivo = $_FILES["imagen"]['name'];
$prefijo = substr(md5(uniqid(rand())),0,6);
if($_FILES['imagen']['size']<$max){
if ($archivo != ""){
// guardamos el archivo a la carpeta files
$destino = "../images/".$prefijo."_".$archivo;
if (copy($_FILES['imagen']['tmp_name'],$destino))
echo "Archivo copiado <br/>";
else{
echo "Fallo al subir archivo <br/>";
$destino="./images/defecto_u.png";
}
}
else{
echo "No se ha indicado ninguna imagen <br/>";
$destino = "./images/defecto_u.png";
}
}
else{
echo "El archivo es demasiado grande <br/>";
$destino = "./images/defecto_u.png";
}
//Conectamos con la base de datos
$c = new Conexion("a9982974_1","root","","localhost");
$conexion = $c->conectar();
$user = new Usuario;
$user->Registrar($nombre,$apellidos,$dir,$nac,$mail,$login,$pass,$destino,$conexion);
?>
Y me da los siguiesntes notice:
Código:
Notice: Undefined index: imagen in C:\xampp\htdocs\dar_alta.php on line 16 Notice: Undefined index: imagen in C:\xampp\htdocs\dar_alta.php on line 17 Notice: Undefined index: imagen in C:\xampp\htdocs\dar_alta.php on line 18 Notice: Undefined index: imagen in C:\xampp\htdocs\dar_alta.php on line 20
Basicamente me dice que no esta definido el indice a imagen, pero si que lo defino por antes del submit tengo un input del tipo file que lo llamo imagen, y despues en el script php hago referencia a el. Tiene que ser una tonteria, porque en otro lado tengo el mismo script (bsicamente la parte de subir archivos) y me va