Tengo un problema.
Uso este script que he creado:
Código PHP:
//Antes hay más cosas, pero creo que no son útiles, si alguien me lo pide se las muestro:
$nombre = $_POST['nombre'];
$descripcion=$_POST['descripcion'];
$nombreinterno=$_FILES['file']['name'];
$fecha = date("Y-m-d");
$destino = './juegos';
if(strlen($nombre)==0){
echo $nombre;
echo "No se ha escrito nombre.";
exit();
}
if(strlen($descripcion)==0){
echo $descripcion;
echo "No se ha escrito descripción.";
exit();
}
//Conexión mysql
$compnombre=mysql_query("SELECT COUNT(nombre) FROM juegos WHERE nombreinterno='$nombreinterno'");
$existenombre=mysql_result($compnombre,0);
if($existenombre>0){
echo "Ya existe un juego con este nombre, vuelve a intentarlo cambiándole el nombre desde tu pc";
exit();
}
// Leemos el tamaño/tipo del fichero
$tamano = $_FILES [ 'file' ][ 'size' ];
$tipo = $_FILES [ 'file' ][ 'type' ];
// Comprobamos el tamaño/tipo
if($tipo=="application/x-shockwave-flash"){
if( $tamano < 1048576 ){
move_uploaded_file ( $_FILES [ 'file' ][ 'tmp_name' ], $destino . '/' . $nombreinterno);
}else{
echo "El tamaño es superior al permitido: 1 Mb. Tu archivo: " . $tamano;
}
mysql_query("INSERT INTO juegos (nombre,nombreinterno,descripcion,tamano,enviador,fecha) VALUES ('$nombre','$nombreinterno','$descripcion','$tamano','$user','$fecha')") or die (mysql_error());
echo "El juego " . $nombre . " ha sido enviado con éxito" . "<br />" . "Gracias por tu colaboración" . '<br /><br /><a href="./newgame.html">NUEVO</a>';
}else{//Desde aquí, no es .swf
echo "Formato de archivo no válido. Aceptable: .swf";
exit();
}
Cuando relleno todos los campos, incluyendo el de file, me dice:
No se ha escrito nombre, mientras que yo, en el form, sí he rellenado ese campo.
¿Cuál puede ser el problema?
Form:
Código HTML:
<form action="newgame.php" method="POST" enctype="multipart/form-data"> <input type="text" name="nombre" maxlength="20" /> <textarea cols="25" rows="5" name="descripcion"></textarea> <input type="file" name="file" /> <input name="submit" type="submit" value="Enviar el juego" /> </form>
exit();
Y me muestra esto:
tipo:
...es decir, no toma el valor type de $_FILES