La Web del Programador: Comunidad de Programadores
 
    Pregunta:  64952 - ERROR AL SUBIR ARCHIVO A FTP
Autor:  jorge orellana
Buenas hace poco empece con php y con lo que aprendi y con lo que vi en manuales arme este codigo para subir un archivo a un sitio ftp, el programa funciona bien y sube bien el archivo que selecciono, pero unicamente laprimera vez que lo ejecuto me sale esto:

Notice: Undefined index: Submit in C:EasyPHP-5.3.6.0wwwsubir.php on line 8 (que hace referencia a esta linea if ($_POST['Submit'] != "")

Si bien el programa funciona bien no se cual puede ser el error que tengo.
Si alguien me puede orientar le agradeceria mucho.
Saludos

<?php

$FTP_User = "xxxxxxxxxxxx";
$FTP_Pass = "zzzzzzzzzzzz";
$FTP_Host = "ftp.youhost.com.ar";
$FTP_Root = "/htdocs/";

if ($_POST['Submit'] != "")
{
$Connect = @ftp_connect($FTP_Host);
ftp_login($Connect, $FTP_User, $FTP_Pass);
$nombre_archivo = $FTP_Root . $_FILES['archivo_1']['name'];
$Local_Resource = $_FILES['archivo_1']['tmp_name'];
if (ftp_put($Connect, $nombre_archivo, $Local_Resource, FTP_BINARY))
{
echo "Archivo subido correctamente: $nombre_archivo<br />";
}
else
{
echo "Ha ocurrido un error al subir el archivo: $nombre_archivo<br />";
}
}
echo '<form action="subir.php" method="POST" enctype="multipart/form-data">
<input name="archivo_1" type="file">
<input type="Submit" name="Submit" value="Subir Archivo">
</form>';
?>

  Respuesta:  Floro Medina Perez
Pues muchas gracias,,,, sientto no haber visto antes esta respuesta, porque llevo 3 dias en el mismo sitio y cabreado porque ese formulario funciona perfectamente en un servidor que tengo y en otro no...
Gracias...

  Respuesta:  Gilberto Helguera
Hola jorge, mira ese error te aparece porque la primera vez que entras a esa pagina no tienes creada la variable $Submit, que debe ser la comparacion que haces de si el usuario presiono el boton para subir el archivo.. yo creo que quedaria solucionado solo modificando tu if por:
if (isset($_POST['Submit'] ) && $_POST['Submit'] != "")

antes debes comparar si la variable esta creada, para poder comparar su valor..

saludos espero te sirva.

  Respuesta:  xavi
Hola Jorge, no es un error, sino que es una "Notice"... te esta indicando, que no existe el índice en el array $_POST[]... esto es normal, cuando entras en la pagina sin enviar nada desde un formulario... el código debería de funcionar-te correctamente...

Desactiva las notificaciones en tu servidor web desde el archivo php.ini... Tendría que modificar el archivo php.ini por esto:
error_reporting = E_ALL & ~E_NOTICE

Espero que te sirva