Foros del Web » Programando para Internet » PHP »

validacion de datos al agregar

Estas en el tema de validacion de datos al agregar en el foro de PHP en Foros del Web. Buenas como están uso estos código un poco obsoleto para agregar a la base de datos y a otro equipo me gustaría agregar la opción ...
  #1 (permalink)  
Antiguo 29/05/2016, 10:29
 
Fecha de Ingreso: agosto-2011
Mensajes: 36
Antigüedad: 12 años, 8 meses
Puntos: 0
Información validacion de datos al agregar

Buenas como están uso estos código un poco obsoleto para agregar a la base de datos y a otro equipo me gustaría agregar la opción de validación de los capos (MAC y IP), que nos se agregen 2 veces, si debo cambiar los códigos me podría ser el methodo post de envió ya que el otro equipo equipo que se agregan los campos la api solo admite el methodo post

Formulario

Código PHP:
Ver original
  1. <form method="POST"  action="../app/Arp_Dhcp/Add/agregar_arp.php"  name="form">
  2.  
  3.  
  4.      <div class="row-fluid">
  5.     <div class="span2 lightblue">
  6.               <label>Nombre.</label>
  7.               <input name="nombres" type="text" class="span12" id="nombres" required placeholder="Nombre del Titular">          
  8.             </div>
  9.            
  10.            
  11.             <div class="span5 lightblue">
  12.               <label>Apellidos.</label>
  13.               <input name="apellido" type="text" class="span12" id="apellido" required placeholder="Apellidos del Cliente">    
  14.             </div>
  15.            
  16.            
  17.            
  18.             <div class="span5 lightblue">
  19.               <label>Cell.</label>
  20.               <input name="cell" type="text" class="span12" id="cell" required placeholder="# Celular del Cliente">    
  21.             </div>
  22.             <div class="row-fluid">
  23.     <div class="span4 lightblue">
  24.               <label>IP</label>
  25.               <input name="ip" type="text" required class="span12" id="ip" placeholder="Ip del Equipo" value="192.168.">    
  26.             </div>
  27.            
  28.            
  29.            
  30.              
  31.     <div class="span4 lightblue">
  32.               <label>mac</label>
  33.               <input name="mac" type="text" class="span12" id="mac" required placeholder="Direcion Mac del Equipo">    
  34.             </div>
  35.          
  36.          
  37.    <div class="span4 lightblue">
  38.               <label>codigo</label>
  39.               <input name="codigo" type="text" class="span12" id="codigo" required placeholder="Direcion Mac del Equipo">    
  40.             </div>
  41.            
  42.             <div class="row-fluid">
  43.  
  44.          
  45.   <div class="span4 bgcolor">
  46.       <label>Categoria</label>
  47.               <select name="categoria" class="span6 input-mini" id="categoria" required >
  48.               <option value=""> </option>
  49.          <option value="Renta fija">Renta Fija</option>
  50.          <option value="Celulares">Celulares</option>
  51.          <option value="Varios Equipos">Varios Equipos</option>
  52.           </select>  
  53.     </div>
  54.        
  55.          
  56.          
  57.     <div class="span2 bgcolor">
  58.               <label>Fecha Inicial</label>
  59.               <input name="fecha_inicial" type="date" required class="span12 input-mini" id="fecha_inicial">
  60.     </div>
  61.          
  62.          
  63.          
  64.             <div class="span2 bgcolor">
  65.               <label>Fecha Final</label>
  66.               <input name="fecha_final" required type="date" class="span12 input-mini" id="fecha_final">  
  67.          </div>
  68.            
  69.               <div class="row-fluid">
  70.               <div class="span6 bgcolor">
  71.       <label>Dias de Pagos</label>
  72.               <select name="dias_p" class="span6 input-mini" id="dias_p" required >
  73.              
  74.          <option value="15">15</option>
  75.          <option value="30">30</option>
  76.          
  77.           </select>  
  78.     </div>
  79.            
  80.            
  81.            
  82.            
  83.            
  84.            
  85.            
  86.     <!--/span-->
  87.             <div class="span6 bgcolor">
  88.             <label>Total</label>
  89.               <input name="pago_total" type="number" class="span12 input-mini" id="pago_total" required placeholder="Total a Pagar">  
  90.             </div>
  91.            
  92.            
  93.               <div class="row-fluid">
  94.             <div class="span12 bgcolor">
  95.               <label>Direccion</label>
  96.               <input name="direcion" type="text" class="span12 input-mini" required id="direcion" placeholder="Direccion">    
  97.             </div>
  98.            
  99.              
  100.     <div class="row-fluid">
  101.             <div class="span12 bgcolor">
  102.               <label>Comentarios</label>
  103.               <input name="comentario"  type="text" class="span12 input-mini" id="comentario" placeholder="Observación">    
  104.             </div>
  105.            
  106.            
  107.            
  108.             <input type="hidden" name="MM_insert" value="form">
  109.     </div>
  110.  
  111.  
  112.     <input name="ENVIAR" type="submit" class=" btn-primary"  value="Registrar">
  113. </form>


Proceso de los datos


Código PHP:
Ver original
  1. <?php require_once('../../../../Connections/agregarequipos.php'); ?>
  2. <?php
  3.  
  4. $nombres = $_POST['nombres'];
  5. $ip = $_POST['ip'];
  6. $mac = $_POST['mac'];
  7. $cell = $_POST['cell'];
  8. $direcion = $_POST['direcion'];
  9. $comentario = $_POST['comentario'];
  10. $categoria = $_POST['categoria'];
  11. $pago_total = $_POST['pago_total'];
  12. $fecha_inicial = $_POST['fecha_inicial'];
  13. $fecha_final = $_POST['fecha_final'];
  14. $codigo = $_POST['codigo'];
  15. $dias_p = $_POST['dias_p'];
  16. $apellido = $_POST['apellido'];
  17.  
  18.  
  19. //selección de la base de datos con la que vamos a trabajar
  20. mysql_select_db("cpewifi");
  21.  
  22. //Ejecucion de la sentencia SQL
  23. mysql_db_query("cpewifi","insert into clientes (nombres,ip,mac,cell,direcion,comentario,categoria,pago_total,fecha_inicial,fecha_final,codigo,dias_p,apellido) values ('$nombres','$ip','$mac','$cell','$direcion','$comentario','$categoria','$pago_total','$fecha_inicial','$fecha_final','$codigo','$dias_p','$apellido')");
  24.  
  25. $sql = "SELECT ip FROM clientes WHERE ip"; // hacemos consulta $result = mysql_query($sql); if($row = mysql_fetch_array($result)){ mysql_free_result($usuarios); //liberamos la memoria del query a la bd } else { $query = "INSERT INTO bd.table(registros) VALUES (valores') "; // hacemos el insert }
  26.  
  27.  
  28. ?>
  29. <!DOCTYPE html>
  30. <html>
  31. <head>
  32. <meta http-equiv="refresh" content="0;url=../../../contenido/agregar_cl.php">
  33. <title>PlayCenter Universal</title>
  34. <script language="javascript">
  35.     window.location.href = "../../../contenido/agregar_cl.php"
  36. </script>
  37. </head>
  38. <body>
  39. Go to <a href="../../../contenido/agregar_cl.php">index.php</a>
  40. </body>
  41. </html>
  #2 (permalink)  
Antiguo 29/05/2016, 12:25
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: validacion de datos al agregar

En realidad qué quieres? No entendí mucho de la redacción.

Para consultar que un campo no se repita, sólo haz la consulta con esos datos, y con

Código PHP:
Ver original
  1. echo (mysqli_num_rows($query)) ? 'La IP ya existe' : 'Se agregó un nuevo registro';

Por ejemplo, puedes validarlo.

Además, en tu bd puedes colocar los campos de ip y mac como unicos, así, la misma BD no permitirá ingresar el registro si encuentra un duplicado. Aunque necesitarás manejar el flujo del error.
Si no es eso, ojalá puedas explicarte un poco mejor. Saludos
  #3 (permalink)  
Antiguo 29/05/2016, 14:16
 
Fecha de Ingreso: agosto-2011
Mensajes: 36
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: validacion de datos al agregar

Cita:
Iniciado por rodocoyote15 Ver Mensaje
En realidad qué quieres? No entendí mucho de la redacción.

Para consultar que un campo no se repita, sólo haz la consulta con esos datos, y con

Código PHP:
Ver original
  1. echo (mysqli_num_rows($query)) ? 'La IP ya existe' : 'Se agregó un nuevo registro';

Por ejemplo, puedes validarlo.

Además, en tu bd puedes colocar los campos de ip y mac como unicos, así, la misma BD no permitirá ingresar el registro si encuentra un duplicado. Aunque necesitarás manejar el flujo del error.
Si no es eso, ojalá puedas explicarte un poco mejor. Saludos
Saludo buenas me gustaria hacerlo desde php porque edito un rauter al mismo tiempo que agrego en la base de datos. Pero de la manera de ip y mac unica no la encuentro en mi bd uso xammp. el code que utilizo para agregar lo colgue hace un momento estoy trabajando en mysql no en mysqli pero no se como hacelo funcionar gracias por tu pronta respuesta
  #4 (permalink)  
Antiguo 29/05/2016, 19:21
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: validacion de datos al agregar

En la estructura de tu tabla, darle a "único" al campo que necesites hacerlo único.

En el caso de devolver el número de filas no cambia la sintaxis entre mysql y mysqli, ambas esperan un parámetro, el cuál es la consulta con la que trabajarás.

Quedaría como
Código PHP:
Ver original
  1. $sql = "SELECT id FROM tabla WHERE ip = ip OR mac = mac;";
  2. $query = mysql_query($sql,$con);
  3. echo (mysql_num_rows($query)) ? 'Ya existe' : 'No existe';

¿Es mi imaginación o no tienes PK en tu tabla?

Etiquetas: fecha, formulario, html, mysql, registro, select, sql, usuarios, validacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:30.