Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/02/2012, 14:12
interweb2012
 
Fecha de Ingreso: noviembre-2011
Mensajes: 5
Antigüedad: 12 años, 5 meses
Puntos: 0
Pregunta Respuesta: php procesar formularios

lo siento no sabía que con la etiqueta highlight se veria mejor...

en cuanto a mi código, pues sucede que lo agarré de un libro (PHP & MySQL For Dummies, 3rd Edition PHP). el archivo se llama chequeoDatos.php
*según ahí dice que las etiquetas del $arreglo_etiqueta se mueven en ciclo por todas las variables del form revisando si hay campos vacios.

*dice que las VARIABLES estan en el arreglo $_POST y q campo vacio encontrado se agregara al $arreglo_vacio; supongo que es la linea 16.

*luego si hay campos vacios verifica el número de elementos en $arreglo_vacio y si no se encontraron vacios se va directo al msj de bienvenida, osea al final (linea 70) de lo contrario muestra el msj del if(@sizeof($arreglo_vacio)>o) etc. en linea 24.

*luego muestra la lista de informacion faltante y hace un ciclo por $arreglo_vacio mostrando los faltantes. linea 28

*vuelve a desplegar el form recuperando todo lo del $_POST. linea 34 a 38

a grandes rasgo esa es la explicacion de como se supone que debería de funcionar el programa, como dije anteriormente, estoy empezando con php y en teoria se para que sirven las etiquetas y todavía me cuesta llevarlas a la práctica.

Código c:
Ver original
  1. <?php
  2.   /* set up array with all the fields */
  3.   $arreglo_etiqueta = array ("primernombre"=>"primernombre:",
  4.                    "segundonombre"=>"segundonombre:",
  5.                    "apellido"=>"apellido:",
  6.                    "calle"=>"calle:",
  7.                    "cp"=>"cp:");
  8.                    
  9.   /* check each field except middle name for
  10.      blank fields */
  11.   foreach ($_POST as $field => $value)
  12.   {
  13.     if($field != "segundonombre")
  14.     {
  15.       if( $value == "" )
  16.       {
  17.          $arreglo_vacio[$field] = "vacio";
  18.       }  
  19.     }
  20.   }  // end of foreach loop for $_POST
  21.  
  22.  
  23.   /* if any fields were blank, display error message and
  24.      redisplay form */
  25. if(@sizeof($arreglo_vacio) > 0) //blank fields are found
  26. {
  27.     echo "<b>no lleno uno o más campos obligatorios. Debe digitar:</b><br>";
  28.         /* display list of missing information */
  29.         foreach($arreglo_vacio as $field => $value)
  30.         {
  31.             echo "&nbsp;&nbsp;&nbsp;{$arreglo_etiqueta[$field]}<br>";
  32.         }
  33.        
  34.     /*volver a mostrar el formulario*/
  35.     $primernombre=trim (strip_tags($_POST['primernombre']));   
  36.     $segundonombre=trim (strip_tags($_POST['segundonombre']));
  37.     $apellido=trim (strip_tags($_POST['apellido']));
  38.     $calle=trim (strip_tags($_POST['calle']));
  39.     $cp=trim (strip_tags($_POST['cp']));
  40.    
  41.    
  42.  
  43. echo "<p><hr>  
  44.     <form action='$_SERVER[PHP_SELF]' method='POST'>\n;
  45.     <center>
  46.     <table width='95%' border='0' cellspacing='0' cellpadding='2'>
  47.         <tr>    <td align='right'><b>{$arreglo_etiqueta['$primernombre']}:
  48.             </br></td>
  49. <td><input type='text' name='primernombre' size='65' maxlength='65' value=['$primernombre']></td>
  50.         </tr>
  51.                          
  52.        
  53.         <tr>    <td align='right'><b>{$arreglo_etiqueta['calle']}:
  54.             </br></td>
  55.             <td><input type='text' name='calle' size='65' maxlength='65' value=['calle']></td>
  56.         </tr>
  57.        
  58.         <tr>    <td align='right'><b>{$arreglo_etiqueta['cp']}:
  59.             </br></td>
  60.             <td><input type='text' name='cp' size='65' maxlength='65' value=['cp']></td>
  61.         </tr>
  62.  
  63.     </table>
  64.         <p><input type='submit' value='enviar nombre y direccion'>
  65.    
  66.     </form></center>";
  67.        
  68. exit();
  69. }
  70.  
  71. echo"BIENVENIDO";
  72. ?>

por cierto la pagina web desplegada es totalmente en blanco.
no sé si esta mal colocado el $_SERVER[PHP_SELF] (ya lo intente haciendo referencia al chequeoDatos.php, osea el mismo archivo).
en cuanto a los ciclos no se si me falta un else, pero asi está el código original.

gracias y espero respuestas y agradeceria muchísimo su ayuda .

Nemutagk, podrias ser más explícito o escribir el código como debe de ir porque estoy muy confundida. y te comento que el libro dice que las variables ya estan en el arreglo $_post. gracias de antemano.

Última edición por interweb2012; 03/02/2012 a las 15:11 Razón: pege mal una linea