Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: kodeone en 5 Febrero 2011, 13:27 pm



Título: Validar formulario con PHP
Publicado por: kodeone en 5 Febrero 2011, 13:27 pm
Buenas!

Primero de todo deciros que ya sé que se puede hacer con javascript, y bueno, lo sé hacer, pero nuestro profesor nos ha dicho que tenemos que validar un form con php.

Lo que estoy pensado hacer es que cuando se le de al submit en el formulario vaya a validarse a una hoja que le he puesto validar.php. Pues bueno, ¿como hago para que despues de mirar que todo esté correcto, si algo está mal, redireccione otra vez al formulario para acabar de completarlo? ¿Y si está todo bien, como lo hago para que lo envie a la visualización de los datos...?

Solo quiero saber eso, a ver si alguien me echa una mano.

Un saludo!


Título: Re: Validar formulario con PHP
Publicado por: ~ Yoya ~ en 5 Febrero 2011, 14:20 pm
Ejemplo:

form.html
Código
  1. <form name="formulario" action="pruebas.php" method="POST">
  2.  Nombre:<br>
  3.  <input type="text" name="nombre"><br>
  4.  Numero: <br>
  5.  <input type="text" name="numero"><br>
  6.  <input type="submit" value="Enviar">
  7. </form>

pruebas.php
Código
  1. <?php
  2. //Si estan vacio los campos, redirecciono
  3. if(empty($_POST['nombre']) || empty($_POST['numero']))
  4. {
  5.   header ("Location: form.html");//Redirecciono al archivo form.html
  6. }
  7.  
  8. //Si no se ha redireccionado es porque en los
  9. //Campos se ha ingresado "Algo"
  10. echo $_POST['nombre'];
  11. echo "<br>";
  12. echo $_POST['numero'];
  13.  
  14. ?>

Saludos.


Título: Re: Validar formulario con PHP
Publicado por: kodeone en 5 Febrero 2011, 15:01 pm
Muchísimas gracias!: D


Título: Re: Validar formulario con PHP
Publicado por: Lunfardo en 6 Febrero 2011, 01:06 am
esta mal visto validar con js ya que es posible pasarlo , salu2


Título: Re: Validar formulario con PHP
Publicado por: Castg! en 6 Febrero 2011, 01:22 am
En vez de OR en el if usá AND, asi obligadamente los dos campos tienen que tener valor, al mismo tiempo.

Código
  1. <?php
  2. //Si estan vacio los campos, redirecciono
  3. if(empty($_POST['nombre']) && empty($_POST['numero']))
  4. {
  5.   header ("Location: form.html");//Redirecciono al archivo form.html
  6. }
  7.  
  8. //Si no se ha redireccionado es porque en los
  9. //Campos se ha ingresado "Algo"
  10. echo $_POST['nombre'];
  11. echo "<br>";
  12. echo $_POST['numero'];
  13.  
  14. ?>


Título: Re: Validar formulario con PHP
Publicado por: .mokk. en 6 Febrero 2011, 01:40 am
En vez de OR en el if usá AND, asi obligadamente los dos campos tienen que tener valor, al mismo tiempo.

Código
  1. <?php
  2. //Si estan vacio los campos, redirecciono
  3. if(empty($_POST['nombre']) && empty($_POST['numero']))
  4. {
  5.   header ("Location: form.html");
  6. }
  7.  
  8. //Si no se ha redireccionado es porque en los
  9. //Campos se ha ingresado "Algo"
  10. echo $_POST['nombre'];
  11. echo "<br>";
  12. echo $_POST['numero'];
  13.  
  14. ?>

Pero si haces eso, con que en un campo coloques algo y en el otro no se lo pasara asi que es mejor teniendolo como OR jeje o si tambien puede hacerlo todo en un mismo archivo:

Código
  1. <? if(!isset($_POST['enviar'])) { ?>
  2. <form name="formulario" method="POST">
  3.  Nombre:<br>
  4.  <input type="text" name="nombre"><br>
  5.  Numero: <br>
  6.  <input type="text" name="numero"><br>
  7.  <input type="submit" name="enviar" value="Enviar">
  8. </form>
  9. <? } else {
  10.  
  11. if(empty($_POST['nombre']) || empty($_POST['numero']))
  12. {
  13.   header ("Location: form.html");//Redirecciono al archivo form.html
  14. }
  15.  
  16. echo $_POST['nombre'];
  17. echo "<br>";
  18. echo $_POST['numero'];
  19. }
  20. ?>


Título: Re: Validar formulario con PHP
Publicado por: Castg! en 6 Febrero 2011, 05:18 am
Predón, pense que utilizaba isset (mala custumbre mia la de usar isset) esta perfecto lo que dijo Yoya, asi como tambien en su blog recomienda usar empty. Disculpen...