Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Duda con PHP (https://www.clubdelphi.com/foros/showthread.php?t=70341)

Ilrodri 15-10-2010 10:01:07

Duda con PHP
 
Hola a todos ! soy nuevo en el foro, creo que acabo de encontrar la biblia OO
jaja, en fin, quería solicitar su ayuda en lo siguiente:
Explico de que se trata el sitio. Es una página dinámica que permite al usuario reservar unas cabañas luego de haberse registrado ingresando sus datos a la base de datos. Una vez hecho esto al cliente le es atribuido un número de cliente. Con ello ingresa al sitio "reservaciones" y realiza dicha acción, eligiendo la fecha de inicio y de fin de su estadía (Eh aquí le problema) ¿Cómo puedo enviar un mensaje de error si la fecha elegida corresponde a un lapso ya tomado por otro cliente? (Consultando con la base de datos, utilizo WAMP) Espero haber sido claro sino díganme e intentaré explicarlo mejor.

Y otra pregunta más ¿Como puedo utilizar una variable de un formulario que ya está afectando otro scrypt? por ejemplo, en Scrypt1 obtengo por medio de POST una variable del formulario HTML "variable" y quiero usar "variable" también en Scrypt2 ¿Existe otro método que no sea el uso de las sesiones? Ya que ya estoy usando una.
Desde ya muchas gracias !!!

Ñuño Martínez 15-10-2010 11:03:08

Hola Ilrodri.

Cita:

Empezado por Ilrodri (Mensaje 379366)
¿Cómo puedo enviar un mensaje de error si la fecha elegida corresponde a un lapso ya tomado por otro cliente?

Así, a lo bruto:
Código PHP:

<?php

  
function FechaValida ($Fecha)
  {
  
# Aquí comprueba que la fecha es correcta, pero no voy a escribirlo porque
  # no preguntas cómo comprobar la fecha sino cómo enviar un mensaje de
  # error.
  
}

if (!
FechaValida ($_POST['fecha']) {
  echo <<<MENSAJE_ERROR
<!DOCTYPE html>
<html>
 <header>
   <title>Error en fecha</title>
 </header>
 <body>
   <h1>Error en fecha</h1>
   <p>La fecha introducida no es válida.&nbsp; Inténtelo de nuevo.</p>
 </body>
</html>
MENSAJE_ERROR;
}
else {
  echo <<<MENSAJE_EXITO
<!DOCTYPE html>
<html>
 <header>
   <title>Fecha correcta</title>
 </header>
 <body>
   <h1>Fecha correcta</h1>
   <p>La fecha introducida es válida.&nbsp; Buen trabajo.</p>
 </body>
</html>
MENSAJE_EXITO;
}

Cita:

Empezado por Ilrodri (Mensaje 379366)
¿Como puedo utilizar una variable de un formulario que ya está afectando otro scrypt? por ejemplo, en Scrypt1 obtengo por medio de POST una variable del formulario HTML "variable" y quiero usar "variable" también en Scrypt2 ¿Existe otro método que no sea el uso de las sesiones? Ya que ya estoy usando una.

Depende. Puedes guardarla temporalmente en la base de datos, asociándola al identificador de sesión (si es que usas identificador de sesión, claro). De todas formas, las sesiones están, precisamente, para guardar información temporal usada por diferentes páginas.

luisgutierrezb 15-10-2010 17:32:41

a lo mejor se puede guardar el valor como variable oculta de formulario para que pase de un formulario a otro

Ilrodri 16-10-2010 02:02:33

Muchas gracias por las respuestas, bueno en realidad me sería útil tambien si no es molestia el hecho de que me muestres el código de como comprobar si la fecha es correcta, por que eso también me está dando problemas :/, espero no ser muy molesto jeje.

Y por lo que decis, luis, no lo había pensado, puede ser voy a intentarlo. gracias!

Ñuño Martínez 19-10-2010 10:20:07

Lo de la variable oculta, o un campo "<input type='hidden' />", también es buena idea.

Para comprobar la fecha, puedes utilizar las funciones de fecha y hora de PHP. Como ves hay unas cuantas. No te digo cuál deberías usar para que así tengas que leer, porque estas funciones son muy útiles y viene bien conocerlas. ;) Personalmente no usaría las funciones "DateTime::" porque son un engorro.

Ilrodri 27-10-2010 04:18:50

Buenas, está muy bueno el lién que me pasaste! gracias! el problema ya lo pude solucionar :D


La franja horaria es GMT +2. Ahora son las 07:51:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi