elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Temas
Páginas: [1]
1  Programación / PHP / Combinación Letal!: Formulario y PHP en: 17 Abril 2007, 21:15 pm
Buena tardes, soy nuevo en este foro. Les mando un codigo que hasta los momentos funcionaba, pero con un pequeño detalle:

formulario
Código:
<?php 
// Valores por default de las variables
$nombre = "";
$ape_pat = "";
$ape_mat = "";
$edad = "";
if( isset( $_POST['submit'] ) )
{
   // Creamos nombres de variables cortos
   $nombre = trim( $_POST['nombre'] );
   $ape_pat = trim( $_POST['ape_pat'] );
   $ape_mat = trim( $_POST['ape_mat'] );
   $edad = trim( $_POST['edad'] );
   $sexo = trim( $_POST['sexo'] );
   $ocupacion = trim( $_POST['ocupacion'] );
 
   // validamos que se hayan enviado los campos nombre, edad y alguno de los 2 apellidos
   if( ( !empty( $nombre ) && !is_numeric( $nombre ) ) && ( !empty( $ape_pat ) || !empty( $ape_mat ) ) && ( !is_numeric( $ape_pat ) && !is_numeric( $ape_mat ) ) && ( !empty( $edad ) && is_numeric( $edad ) ) && !empty( $sexo ) && !empty( $ocupacion) )
   {
      header("Location: tupagina.php"); 
      exit;
   }
   else
   {
      echo "Por favor corrija los campos marcados con rojo.</br>";
      if( empty( $nombre ) || is_numeric( $nombre ) )
         $nombre = $nombre."\" style=\"background-color: #FF0000\"";
      if( empty( $ape_pat ) && empty( $ape_mat ) )
      {
         echo "Por favor, de los campos que estan marcados con verde llene alguno de ellos.</br>";
         $ape_pat = $ape_pat."\" style=\"background-color: #00FF00\"";
         $ape_mat = $ape_mat."\" style=\"background-color: #00FF00\"";
      }
      if( is_numeric( $ape_pat ) )
         $ape_pat = $ape_pat."\" style=\"background-color: #FF0000\"";
      if( is_numeric( $ape_mat ) )
         $ape_mat = $ape_mat."\" style=\"background-color: #FF0000\"";
      if( empty( $edad ) || !is_numeric( $edad ) )
         $edad = $edad."\" style=\"background-color: #FF0000\"";
      if( empty( $sexo ) )
         $sexo = "nada";
      if( empty( $ocupacion ) )
         $ocupacion = "vacio";
      echo "<p>";
   }
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<p>
Los campos marcados con asterisco (*) son obligatorios y  en cuanto a los apellidos, por lo menos debe escribir uno:</p>
<form action="<?php echo $SERVER['PHP_SELF']; ?>" method="post" name="forma">
<p>Nombre:
    <input name="nombre" type="text" value="<?php echo $nombre; ?>" />
    <br />
Apellido Paterno:
   <input name="ape_pat" type="text" value="<?php echo $ape_pat; ?>" /><br />
Apellido Materno:
   <input name="ape_mat" type="text" value="<?php echo $ape_mat; ?>" /><br />
Edad:
   <input name="edad" type="text" value="<?php echo $edad; ?>" /></br>
Sexo:
   Hombre<input type="radio" name="sexo" value="Hombre" <?php if( $sexo == "Hombre" ) echo "checked"; elseif( $sexo == "nada" ) echo "style=\"background-color: #FF0000\""; ?> >
   Mujer<input type="radio" name="sexo" value="Mujer" <?php if( $sexo == "Mujer" ) echo "checked"; elseif( $sexo == "nada" ) echo "style=\"background-color: #FF0000\""; ?> ></br>
Ocupación:
   <select name="ocupacion" <?php if( $ocupacion == "vacio" ) echo "style=\"background-color: #FF0000\""; ?> >
      <option value="">Seleccione una ocupación</option>
      <option value="director" <?php if( $ocupacion == "director" ) echo "selected"; ?> >Director</option>
      <option value="ejecutivo" <?php if( $ocupacion == "ejecutivo" ) echo "selected"; ?> >Ejecutivo</option>
      <option value="otro" <?php if( $ocupacion == "otro" ) echo "selected"; ?> >Otro</option>
   </select><p>
<input name="submit" type="submit" value="Enviar" /></p>
</form>
</body>
</html>

tupagina.php

Código:
<?php 
$nombre = $_POST['nombre'];
$ape_pat = $_POST['ape_pat'];
$ape_mat = $_POST['ape_mat'];
$edad = $_POST['edad'];
$sexo = $_POST['sexo'];
$ocupacion = $_POST['ocupacion'];
echo $nombre." ".$ape_pat." ".$ape_mat." ".$edad." ".$sexo." ".$ocupacion."<br>";
echo "Se enviaron los campos correctamente";
// hacemos lo que se nos antoje con las variables
?>

Ahora, les digo cual es el problema: a pesar de validar todos los campos del formulario (que no estén vacios), me dá la impresion que en la siguiente página no imprime los valores de formulario.php (realizado por el método post). Notese que el action sirve para que no se mande nada hasta que los campo obligatorios estuviesen llenos y la pagina de destino, tupagina.php, está puesta en la instrucción header para cuando dicha acción esté realizada.

Como hago para que se muestren las variables del formulario en la pagina siguiente?

Espero una pronta respuesta...

Atentamente

The Neurochild
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines