Foros del Web » Programando para Internet » PHP »

Formulario en php

Estas en el tema de Formulario en php en el foro de PHP en Foros del Web. Ola, necesito ayuda sobre un formulario que tengo en php(sin base de datos). Explico mi problema: Tengo un formulario php como ya e dicho antes, ...
  #1 (permalink)  
Antiguo 19/05/2011, 04:08
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 1
Formulario en php

Ola, necesito ayuda sobre un formulario que tengo en php(sin base de datos). Explico mi problema: Tengo un formulario php como ya e dicho antes, el formulario se utiliza para rellenar partes de incidencias. En dicho formulario tengo una serie de datos y en la parte de abajo tengo una lista desplegable, en la que se muestran todas las incidencias...y lo que quiero hacer es: Que compruebe si los archivos que hay en la lista desplegable son superiores en 5 dias o inferiores en 5 dias a la fecha actual...de ser así mostraria un mensaje en el que abría 2 posibles respuestas:
SI: Borraría los ficheros que no estén entre esos 5 dias desde la fecha actual.
NO: No haría nada, lo dejaria todo tal y como está.
Por Favor Ayudenmeee, es URGENTE...

De antemano Muchas gracias!!!
  #2 (permalink)  
Antiguo 19/05/2011, 04:19
 
Fecha de Ingreso: abril-2011
Ubicación: España
Mensajes: 17
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Formulario en php

te tiene que salir el mensaje si el resultado es menor a 5 dias? es que no entendi bien :S
  #3 (permalink)  
Antiguo 19/05/2011, 05:04
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Formulario en php

Vuelvo a explicar por si de primeras no me exprese bien:
Tenemos el formulario en php vale?? Y la funcion que tiene que realizar es que al cargar la pagina compruebe que los archivos que se cargan en la lista desplegable no sobrepasen en 5 dias a la fecha en la que estamos, pongo un ejemplo para aclarar:

Por ejemplo: Hoy estamos a 19/05/2011 vale?? pues los archivos que tiene que cargar en la lista son solo entre el dia 14 el dia 19 de mayo de 2011.
Una vez que hemos comprobado eso, si en algun caso existieran esos archivos que te salga un mensaje diciendo (Existen archivos, desea eliminarlos??)...
Me as comprendido?? Si tienes cualquier duda azmela saber y te la intento explicar mejor...
  #4 (permalink)  
Antiguo 19/05/2011, 05:30
 
Fecha de Ingreso: abril-2011
Ubicación: España
Mensajes: 17
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Formulario en php

vale, creo que entiendo. supondré que la lista con los dias ya esta hecha. Pues lo que podias hacer, es poner un par de option button, con valor si y no. al enviar la pagina, miras que option fue seleccionado, y si seleccionó 'si' usas la funcion 'unlink' de php para eliminar los archivos que te hagan falta. No se ahora te entendi bien y me expliqué.
  #5 (permalink)  
Antiguo 19/05/2011, 05:59
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Formulario en php

De antemano te agradezco la respuestas...Si la lista desplegable ya está creada y los muestra perfectamente. Pero si no es mucho pedir podrias poner algun ejemplo?? esque no estoy muy suelto con php y la verdad que me gustaria mucho poder realizar estas modificaciones ya comentadas...!!
Gracias de nuevo!!
  #6 (permalink)  
Antiguo 19/05/2011, 08:26
 
Fecha de Ingreso: abril-2011
Ubicación: España
Mensajes: 17
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Formulario en php

Sin problema, a ver si entre los dos sale todo, que nunca usé la función unlink.
Veamos, en la página donde está la lista desplegable pones los dos option button. Supongamos que son estos:

<input type="radio" name="afirma" value="si" />Si
<input type="radio" name="afirma" value="no" />No

Ahora, en la página a donde va ese formulario, escribes el siguiente código(siguiendo con el ejemplo anterior):
$afirma=$_POST['afirma'];
if ($afirma=="si")
unlink('archivo_a_borrar.txt');

Donde está 'archivo_a_borrar.txt' indicas la ruta, y recuerda que tienes que tener permisos de modificación para borrarlo.

Y a mi así me funcionó. Cualquier duda pregunta
  #7 (permalink)  
Antiguo 19/05/2011, 10:28
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Formulario en php

Siento no aver contestao antes, no he podioo.
Sigamos, agradezco tu ultima respuesta, pero digo yo una cosa, o la pregunto al menos, antes de realizar todo lo que as dicho en tu ultima respuesta, abrá que comprobar que las fechas sean en 5 días anteriores a la fecha actual no?? como se haria esto?? el codigo que as puesto no lo e probado pero a simple vista parece que podria funcionar...pero yo creo que antes abria que comprobar lo de las fechas...(corrigeme si me equivocoo...xd)!! Porque en este trozo de codigo:
unlink('archivo_a_borrar.txt'); en lo que va entre parentesis abria que indicarle que borre de x fechas para atras no?? que si no me equivoco lo almacenariamos en una variable...no?
  #8 (permalink)  
Antiguo 19/05/2011, 12:37
 
Fecha de Ingreso: abril-2011
Ubicación: España
Mensajes: 17
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Formulario en php

veamos, porque estoy un poco espeso :D
No habías creado ya la lista desplegable con los archivos? Si es así, solo tienes que recoger esos datos de la lista en la página adonde va el formulario, y por ejemplo, guardarlos en un array. Y después haces un while que vaya recorriendo ese array y borre los archivos. Te pondría un ejemplo pero tengo que mirar como recoger la lista con PHP.
Si es así dimelo, miro lo de recoger la lista y te pongo el ejemplo, y sino dime donde guardas las fechas para saber los archivos a borrar
  #9 (permalink)  
Antiguo 19/05/2011, 12:48
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Formulario en php

jeje estamos ambos algo espesos esta tarde... xD!!
Te voi a poner el codigo php para que veas como se carga la lista desplegable vale?? asi supongo que aclararemos bastante las cosas...xD:

<?php
$dir=opendir('.');
$i = 0;
while ($file = readdir($dir))
{
if((substr($file,-4)) == ".txt")
{ $archivos[$i] = $file;
/*<option> <?php echo"<a href=\"$file\">$file</a>";*/
$i = $i + 1;
}
}
closedir($dir);
asort ($archivos);

foreach($archivos as $file)
{?>
<option> <?php echo"<a href=\"$file\">$file</a>";
}
?>

Mediante el codigo este, relleno la lista desplegable...el formato en el que se lista seria el siguiente: (NOMBRE_PRIMERAPELLIDO_SEGUNDOAPELLIDO_CLIENTE_FEC HA.txt) para que sepas con que nombre se guardan los archivos...con el codigo ya tenemos cargada la lista desplegable y si no recuerdo mal los archivos se recorren con el while y la variable que los recorre o que utiliza es $file (array de archivos)...!!! Supongo que con la informacion que te proporciono ayuda algo no??
  #10 (permalink)  
Antiguo 19/05/2011, 14:32
 
Fecha de Ingreso: abril-2011
Ubicación: España
Mensajes: 17
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Formulario en php

Bueno, veamos. A ver si con este ejemplo de nombre de archivo puedo explicarme bien: Pepe_Perez_Perez_cliente_05-05-2005.txt
Tienes todo el nombre en una variable. Entonces, para extraer la fecha, cortas con substr 14 caracteres por la derecha(hasta el primer 05) y lo guardas en otra variable. Luego cortas 10 por la izquierda para deshacerte de la extensión del archivo en esa misma variable, con lo que te queda la fecha. Ahora, comparas esa fecha resultante con la fecha actual, y si es menor de cinco guardas ese nombre de archivo archivo en la lista desplegable, y sino, no. Es esto lo que quieres? Si es así espero haberme explicado bien.
  #11 (permalink)  
Antiguo 19/05/2011, 15:00
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Formulario en php

Si si, eso es lo que quiero, pero si eres tan amable y no es mucho pedir, podriamos hacerlo entre los 2 para que así me quede más claroo?? esque con texto me e enterado pero no se si voi a saber hacerlo en la practica, como ya te dije no estoy muy lucido en php...xd!!Te lo agradeceria...
  #12 (permalink)  
Antiguo 20/05/2011, 02:19
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Formulario en php

Hola de nuevo amfolgar...investigando por internet e encontrao una funcion y un codigo que te quita los dias a la fecha actual que sea...te lo pongo para que le eches un vistazo...aver si somos capaces entre los 2 de sacarlo adelantee...xd
//FUNCION
<?php
function calcularFecha($dias){

$calculo = strtotime("$dias days");
return date("Y-m-d", $calculo);
}
?>


<?php
//Imprimir la fecha actual para verificar

echo date("Y-m-d");
echo "<br>";

//Llamo a la funcion para calcular cual es la fecha 30 dias antes de la actual.

echo calcularFecha(-6);
?>

Lo e probado y funciona perfectamente...ahora teniendo esto aver como lo montamos todo...
  #13 (permalink)  
Antiguo 20/05/2011, 02:47
 
Fecha de Ingreso: diciembre-2010
Ubicación: Alicante
Mensajes: 74
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Formulario en php

Pero si lo que te ha dicho es lo que hay que hacer...
Recortar por los dos lados y ya está.
Eso dependiendo del nombre del archivo tendra que ver el numero de caracteres que tiene la cadena y dependiendo de esto recortar....
Yo creo que una vez sabes eso es probar simplemente en 30 minutos máximo lo tienes.... Suerte
  #14 (permalink)  
Antiguo 20/05/2011, 03:07
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Formulario en php

Si pero esque mi duda es la siguiente...todos los archivos no son siempre "Pepe_Perez_Perez_cliente_05-05-2005.txt" hay archivos que el nombre del cliente es más largo, o incluso más corto...sabes a lo que me refiero?? con lo cual no siempre va a ser el mismo numero...xd!!
  #15 (permalink)  
Antiguo 23/05/2011, 02:51
 
Fecha de Ingreso: diciembre-2010
Ubicación: Alicante
Mensajes: 74
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Formulario en php

Si pero si empiezas por el final... Si....
A ver si me entiendes....
La fecha si que va a tener la misma longitud si el formato incluye CEROS.
Te guardas la cadena completa
Entonces puedes recortar la fecha primero.
Y una vez la haz recortado creo que con la funcion strlength sabes el tamaño completo...
Restas el número de caracteres total con el número de caracteres contados desde el final hasta la fecha.

Y asi tendrás la longitud de el nombre... Pudiendo recortar a placer la cadena....
Código PHP:
$cadena=Hola_Pepe_05-05-2011.txt;
$longitud=strlen($cadena);
$fecha=substr($cadena,-14 o -15 "NO LO SE");
$long_archivo=$longitud-14 o 15;
$archivo=substr($cadena,0,$long_archivo); 
Si no funciona lo del -14 o -15 (linea 2)
Lo puedes solucionar haciendo la resta antes....
Código PHP:
$cadena=Hola_Pepe_05-05-2011.txt;
$longitud=strlen($cadena);
$long_archivo=$longitud-14 o 15;
$fecha=substr($cadena$long_archivo ,$longitud);
$archivo=substr($cadena,0,$long_archivo); 
Espero que te ayude... si no lo entiendes no le des vuelta xk no quiero liarte...:D SUERTEE

Si me equivoco que alguien me corrija pero esque lo he hecho rápido xk estoy en el curro xD

Última edición por cesarnorte9; 23/05/2011 a las 03:05
  #16 (permalink)  
Antiguo 23/05/2011, 04:34
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Formulario en php

Gracias por la respuesta cesarnorte9, intentare hacerloo y si tengo alguna duda volveré de nuevo a preguntar...de verdad agredezco vuestras respuestas...!!!

Etiquetas: formulario
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 14:45.