Validar formulario con PHP

Iniciado por kodeone, 5 Febrero 2011, 13:27 PM

0 Miembros y 1 Visitante están viendo este tema.

kodeone

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!

~ Yoya ~

Ejemplo:

form.html
Código (html4strict) [Seleccionar]
<form name="formulario" action="pruebas.php" method="POST">
  Nombre:<br>
  <input type="text" name="nombre"><br>
  Numero: <br>
  <input type="text" name="numero"><br>
  <input type="submit" value="Enviar">
</form>


pruebas.php
Código (php) [Seleccionar]
<?php
//Si estan vacio los campos, redirecciono
if(empty($_POST['nombre']) || empty($_POST['numero']))
{
   
header ("Location: form.html");//Redirecciono al archivo form.html
}

//Si no se ha redireccionado es porque en los
//Campos se ha ingresado "Algo"
echo $_POST['nombre'];
echo 
"<br>";
echo 
$_POST['numero'];

?>


Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

kodeone


Lunfardo

esta mal visto validar con js ya que es posible pasarlo , salu2

Castg!

En vez de OR en el if usá AND, asi obligadamente los dos campos tienen que tener valor, al mismo tiempo.

Código (php) [Seleccionar]
<?php
//Si estan vacio los campos, redirecciono
if(empty($_POST['nombre']) && empty($_POST['numero']))
{
   
header ("Location: form.html");//Redirecciono al archivo form.html
}
 
//Si no se ha redireccionado es porque en los
//Campos se ha ingresado "Algo"
echo $_POST['nombre'];
echo 
"<br>";
echo 
$_POST['numero'];
 
?>

.mokk.

Cita de: 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 (php) [Seleccionar]
<?php
//Si estan vacio los campos, redirecciono
if(empty($_POST['nombre']) && empty($_POST['numero']))
{
   
header ("Location: form.html");
}
 
//Si no se ha redireccionado es porque en los
//Campos se ha ingresado "Algo"
echo $_POST['nombre'];
echo 
"<br>";
echo 
$_POST['numero'];
 
?>


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 (php) [Seleccionar]
<? if(!isset($_POST['enviar'])) { ?>
<form name="formulario" method="POST">
  Nombre:<br>
  <input type="text" name="nombre"><br>
  Numero: <br>
  <input type="text" name="numero"><br>
  <input type="submit" name="enviar" value="Enviar">
</form>
<? } else {

if(empty($_POST['nombre']) || empty($_POST['numero']))
{
   header ("Location: form.html");//Redirecciono al archivo form.html
}

echo $_POST['nombre'];
echo "<br>";
echo $_POST['numero'];
}
?>

Castg!

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...