Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/06/2011, 22:06
Guillote11
 
Fecha de Ingreso: mayo-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Validar form con php

Cita:
Iniciado por memoadian Ver Mensaje
una respuesta como la pregunta :)

con isset que comprueben las variables, condicionales, is_numeric para números, count para caracteres, etc. etc.
Código PHP:
Ver original
  1. dmant_usu.php (proceso)
  2. <?php
  3. include("c_usuarios.php");
  4. include("c_validaciones.php");
  5.  
  6. $nom = $_POST['nombre'];
  7. $ape = $_POST['apellido'];
  8. $modo = $_POST['modo'];
  9.  
  10. $valido = $_POST['valido'];
  11.  
  12. $campo = trim($_POST['campo']);
  13.  
  14. sleep(1);
  15. $valido = new Validaciones($campo,$valido);
  16.  
  17. if($modo == 1){
  18.         $usuario = new Usuarios(0,$nom,$ape);
  19.         $usuario -> ingreso_usuario();
  20. }
  21. ?>
  22.  
  23. IALTA_USU.PHP
  24.  
  25. <html>
  26. <?php
  27. include("dpersistencia.php");
  28. ?>
  29. <head>
  30. <title>Registro de Usuarios</title>
  31. <script language="javascript" src="funciones.js"></script>
  32. <script language="javascript" src="prototype.js"></script>
  33. </head>
  34. <body>
  35. <form method="post" name="alta_usuarios" id="alta_usuarios">
  36. <table width="650">
  37. <tr>
  38.  <th colspan="3">Registro de Usuario</th>
  39. </tr>
  40.     <tr>
  41.        <td width="190">Nombre:</td>
  42.        <td width="144"><input type="text" name="nombre" id="nombre" onBlur="valido_camp(document.getElementById('nombre').value,'nom',1)"></td>
  43.        <td width="274"><div id="nom"></div></td>
  44.     </tr>
  45.     <tr>
  46.        <td>Apellido:</td>
  47.        <td><input type="text" name="apellido" id="apellido" onBlur="valido_camp(document.getElementById('apellido').value,'ape',1)"></td>
  48.        <td><div id="ape"></div></td>
  49.     </tr>
  50.     <td><input type="submit" value="Registrar" onClick="cargo_usu(1,document.getElementById('nombre').value,document.getElementById('apellido').value)"></td>
  51.  </tr>
  52. </tr>
  53. </table>
  54. </form>
  55. <div id="contenedor"></div>
  56. </body>
  57. </html>
  58.  
  59. FUNCIONES.JS
  60.  
  61. function valido_camp(campo,div,valido){
  62.         var params = 'campo=' + campo + '&valido=' + valido;
  63.         var url = 'dmant_usu.php';
  64.         new Ajax.Request(url,{method: 'post', parameters: params,onLoading:
  65.         function(){
  66.             document.getElementById(div).innerHTML='<img src="reloj.gif" width="20">';
  67.         }
  68.             ,onSuccess: function(transport){
  69.             if(transport.responseText.length > 0){
  70.                 document.getElementById(div).innerHTML=transport.responseText;
  71.             }
  72.         }
  73.         })
  74. }
  75.  
  76. function cargo_usu(modo,nom,ape,valido){
  77.         var url = 'dmant_usu.php';
  78.         var params = 'modo=' + modo + '&nombre=' + nom + '&apellido=' + ape + '&valido' + valido;
  79.         new Ajax.Request(url,{method: 'post', parameters: params, onSuccess: function(transport){
  80.             if(transport.responseText.length > 0){
  81.                 document.getElementById('contenedor').innerHTML=transport.responseText;
  82.             }
  83.         }
  84.     }
  85.  
  86. );alert(params);
  87. }
  88.  
  89. C_VALIDACIONES.PHP
  90.  
  91. <?php
  92. include("dpersistencia.php");
  93.  
  94. class Validaciones {
  95.     public $campo;
  96.     public $valido;
  97.  
  98.     public function __construct($campo,$valido){
  99.         $this -> campo = $campo;
  100.         $this -> valido = $valido;
  101.        
  102.         switch($valido){
  103.         case 1:
  104.             $this -> validar_vacios();
  105.         break;
  106.         default;   
  107.         }
  108.     }
  109.    
  110.     public function getCampo(){
  111.         return $this -> campo;
  112.     }
  113.    
  114.     public function getModo(){
  115.         return $this -> modo;
  116.     }
  117.    
  118.  
  119.    
  120.     public function validar_vacios(){
  121.         $campo = $this -> getCampo();
  122.         if($campo != ""){
  123.             if(ctype_alpha($campo)){//revisar
  124.                 echo '<td><img src="ok.jpg" width="20"></td>';
  125.             }else{
  126.                 echo '<td><img src="error.jpg" width="20"></td>';
  127.                 echo '<td>Este campo contiene caracteres inv&aacute;lidos</td>';
  128.             }
  129.         }else{
  130.             echo '<td><img src="error.jpg" width="20"></td>';
  131.             echo '<td>Este campo debe ser completado</td>';
  132.         }  
  133.     }
  134. }
  135.  
  136. C_USUARIOS.PHP
  137.  
  138. <?php
  139.     class Usuarios{
  140.         public $id_usu;
  141.         public $nom;
  142.         public $ape;
  143.  
  144.        
  145.     public function __construct($id_usu,$nom,$ape){
  146.         $this -> id_usuario = $id_usu;
  147.         $this -> nombre = $nom;
  148.         $this -> apellido = $ape;
  149.     }
  150.        
  151.         public function getId(){
  152.             return $this -> id_usuario;
  153.         }
  154.        
  155.         public function getNom(){
  156.             return $this -> nombre;
  157.         }
  158.        
  159.         public function getApe(){
  160.             return $this -> apellido;
  161.         }
  162.        
  163.    
  164.        
  165.         public function ingreso_usuario(){
  166.             $conn = Conectarse();
  167.             $sql = "insert into usuarios(id,nombre,apellido)
  168.                                  values('" .$this -> getId()."','" .$this -> getNom(). "','" .$this -> getApe(). "')";
  169.             $res = ejecutar_consulta($sql,$conn);
  170.             echo $sql;
  171.         }
  172.     }
  173.  
  174.        
  175.        
  176.        
  177.    
  178.            
  179.    
  180.        
  181.          
  182.        
  183.    
  184. ?>