Ver Mensaje Individual
  #14 (permalink)  
Antiguo 02/04/2007, 09:28
Avatar de Erikfrancisco
Erikfrancisco
 
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 21 años, 3 meses
Puntos: 4
Re: Formulario + campos obligatorios + menus desplegables

Cita:
Iniciado por Elisa85 Ver Mensaje
Con y sin la barra invertida me dice que no el "method" noes compatible con algunos navegadores...
¿exactamente cual es el error que te muestra? ya que yo supongo que todos los servidores admiten tanto el metodo POST como el GET; si estoy mal que alguien me corrija. El problema a de ser en tu action tal vez a de ser porque la variable guardada en el php.ini register_globals esta en OFF de ser así en lugar de utilizar $SERVER['PHP_SELF']; deberías utilizar $HTTP_SERVER_VARS['PHP_SELF']; y si aún así no sirve entonces en el action deberías de poner el nombre de tu archivo para solucionar tu problema, en nuestro caso el action quedaría action="ejemplo.php".
Cita:
Iniciado por The Neurochild Ver Mensaje
El problema con este código es que no te lleva a la página de destino indicado en header, ino que te lleva a una página en blanco
Eso a de ser porque en la pagina destino no estas poniendo nada. ¿el archivo tupagina.php lo copiaste como el ejemplo que dí?
Cita:
Iniciado por The Neurochild Ver Mensaje
Además tengo una duda: ¿cómo puedo hacer yo para guardar y verificar valores provenientes de radioboxes y listas desplegables por ejemplo?
Se hace exactamente igual, se tienen que hacer las validaciones de esos campos y si no seleccionó nada pues hay que marcarlos:
ejemplo.php
Código PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<p>
<?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>"
   } 

?>
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:
<?php 
echo "Se enviaron los campos correctamente"
// hacemos lo que se nos antoje con las variables 
?>
Espero haberme podido dado a entender y que ahora si les funcione ya que a mí si me funciona, pero no porque a mí me funcione le tiene que servir a todos ¿verdad?. Suerte