Foros del Web » Programando para Internet » PHP »

solo expertos

Estas en el tema de solo expertos en el foro de PHP en Foros del Web. hola tengo este codigo y no se como hacer para validar esos campos! este es el codigo...peroe stan en un arreglo y debo validarlos con ...
  #1 (permalink)  
Antiguo 08/04/2005, 11:51
 
Fecha de Ingreso: diciembre-2004
Mensajes: 156
Antigüedad: 13 años
Puntos: 0
solo expertos

hola tengo este codigo y no se como hacer para validar esos campos! este es el codigo...peroe stan en un arreglo y debo validarlos con php o java script

<?php
$n=0;
do
{
$datoss= $row_Recordset1['id_logistica'];
$id_orden_despacho= $row_Recordset1['id_orden_despacho'];
mysql_select_db($database_corpcasa, $corpcasa);
$query_entrega = "SELECT fecha_op_recep, lugar_or_recep, ne_lugar_or, necasa, recibido, total_re, fecha_op_desp, destino, id_orden_despacho, nota_entrega, despachado, devolucion, desp_real, suma_desp, conductor, cedula, matricula, telefono, inventario FROM entrega WHERE marca = '$datoss'";
$entrega = mysql_query($query_entrega, $corpcasa) or die(mysql_error());
$row_entrega = mysql_fetch_assoc($entrega);
$totalRows_entrega = mysql_num_rows($entrega);
$a= $totalRows_entrega;

if ($a == 0)
{


?>
<tr>
<td class="Estilo14"><?php echo $row_Recordset1['id_orden_despacho']; ?></td>
<td class="Estilo14"><?php echo $row_Recordset1['rubro']; ?></td>
<td class="Estilo14"><?php echo cambiaf_a_normal($row_Recordset1['fecha_planificacion']); ?></td>
<td class="Estilo14"><?php echo $row_Recordset1['centro_acopio']; ?></td>
<td class="Estilo14"><?php echo $row_Recordset1['volumen_planificado']; ?></td>
<td class="Estilo14"><input id="for" name="for[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['fecha_op_recep']; ?>" size="20"></td>
<td class="Estilo14"><input id="lor" name="lor[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['lugar_or_recep']; ?>" size="15"></td>
<td class="Estilo14"><input id="nelo" name="nelo[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['ne_lugar_or']; ?>"></span></td>
<td class="Estilo14"><input id="necasa" name="necasa[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['necasa']; ?>"></td>
<td class="Estilo14"><input id="re" name="re[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['recibido']; ?>"></td>
<td class="Estilo14"><input id="tre" name="tre[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['total_re']; ?>"></td>
<td class="Estilo14"><input id="fod" name="fod[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['fecha_op_desp']; ?>"></td>

<td class="Estilo14"><input id="dest" name="dest[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['destino']; ?>" size="20"></td>
<td class="Estilo14"><input id="ne" name="ne[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['nota_entrega']; ?>"></span></td>
<td class="Estilo14"><input id="desp" name="desp[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['despachado']; ?>"></td>
<td class="Estilo14"><input id="dev" name="dev[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['devolucion']; ?>"></td>
<td class="Estilo14"><input id="despr" name="despr[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['desp_real']; ?>"></td>
<td class="Estilo14"><input id="sum" name="sum[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['suma_desp']; ?>"></td>
<td class="Esti lo14"><input id="cho" name="cho[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['conductor']; ?>" size="20"></td>
<td class="Estilo14"><input id="ci" name="ci[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['cedula']; ?>" size="15"></td>
<td class="Estilo14"><input id="pla" name="pla[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['matricula']; ?>"></span></td>
<td class="Estilo14"><input id="cel" name="cel[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['telefono']; ?>"></td>
<td class="Estilo14"><input id="inv" name="inv[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['inventario']; ?>"></td>
</tr>
<input type="hidden" name="lo[<?php echo $n?>]" value="<?php echo $datoss;?>">
<input type="hidden" name="odd[<?php echo $n?>]" value="<?php echo $id_orden_despacho;?>">



<?php
$n = $n+1;
}
?>
<?

mysql_free_result($entrega);
} while ($row_Recordset1 = mysql_fetch_assoc($result));
mysql_free_result($result);
?>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td class="Estilo30 Estilo31"><a href="../../documentos/MANUAL%20DE%20USO%20DEL%20FORMATO%20A.doc">Bajar Manual de Usuario </a></td>
</tr>
</table>
<p>
<input name="ndatos" type="hidden" value="<?php echo $n?>">
<input type="submit" name="guardar" value="Guardar">
<input type="button" name="reporte" value="Reporte" onClick="javascript: location.href='reporte.php';">
</p>
<p>&nbsp; </p>
</form>
  #2 (permalink)  
Antiguo 08/04/2005, 13:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
¿Por qué dices: "solo expertos" en lugar de especificar en tu mensaje el problema concreto para facilitar que alguien que conozca del tema o bien hubiese tenido el mismo problema te pueda ayudar?

A todo esto .. aclarate "debo validarlos con php o java script" .. tratemos las cosas de PHP en este foro y las de javacript en el suyo.

Por otro lado .. cuando dices "validar" .. validar en función a que? .. que tipo de datos tienes que validar concretamente: N campos (cuales) obligatorios (con valor) .. y que valor/rango/tipo han de ser estos.

Por lo demás .. el código que prestentas es un "formulario" donde parece que "editas" un registro de tu BD concreto .. Pero no se vé donde guardas esos datos; en que lugar haces tu "INSERT o tu UPDATE" a tu BD ... que será ahí donde tendras que aplicar tus validaciones si lo vas hacer con PHP. Validaciones en base a lo que definas .. así tendras que componer tus if() con isset() .. o empty() .. o is_number() o aplicar expresiones regulares .. etc .. etc ...

Un saludo,
  #3 (permalink)  
Antiguo 08/04/2005, 13:21
 
Fecha de Ingreso: diciembre-2004
Mensajes: 156
Antigüedad: 13 años
Puntos: 0
hola tenes razon en lo que dices.... disculpa....pero si es validar los campos vacios...dependiendo del arreglo donde haya datos asi como esta funciona a la perfeccion no te preocupes porque ese archivo va hacia otro...que sellama guardar..asi que don't worry, lo que si quisiera es que me echaras una mano con los espacios en blanco.....??? porque no se validar los espcios en balnco no importa si es en php y en javascript.........
  #4 (permalink)  
Antiguo 08/04/2005, 13:31
 
Fecha de Ingreso: febrero-2004
Ubicación: Bogotá, Colombia
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 1
para validar campos en blanco puede hacer lo siguiente:

$campo=trim($campo);//limpia el campo de espacios

if(empty($campo))
echo "el campo esta vacio";
else
echo "el campo trae datos";
  #5 (permalink)  
Antiguo 08/04/2005, 13:37
 
Fecha de Ingreso: diciembre-2004
Mensajes: 156
Antigüedad: 13 años
Puntos: 0
si pero eso no funciona cuando son arreglos o cuando se trabaja con arreglo mas bien!!!!
  #6 (permalink)  
Antiguo 08/04/2005, 16:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La forma que usas para trabajar con esos "arreglos" que comentas .. no es necesario que uses un indice:

<input id="despr" name="despr[<?php echo $n?>]" type="text" value="<?php echo $row_entrega['desp_real']; ?>"></td>

Con usar:
nombre[] .. sobra .. (no es necesario que uses una variable más como contador/acomulador).

Independiente si lo haces así o a tu manera (realmente usar "[]" es PHP quien crea un indice desde 0 a N numérico en incrementos de a 1 unidad . .)

Pero si usas varíos arreglos (arrays) simultanemos donde su "relación" es su mismo indice .. entonces sigue como estas.

Para PHP .. ese arreglo lo puedes recorrer en el arreglo (array) del método que usas en tu formulario que es por donde envias y así lo recibes en dicho script: method= ...

Suponiendo que uses POST, cuentas uno de tus arrays su elementos .. y usas un bucle for() para recorrer tus N arrays de mismo n° de elementos para ir aplicando a cada pasada de este la validación que requieras ...:

Por ejemplo:

Código PHP:
for($n=0$n<count($_POST['for']); $n++){
   if (empty(
trim($_POST['for'][$n]))){
       die(
"Alguno de los datos del arreglo \"for\" .. no tiene valor");
   }
   
// y así con el resto de los que quieras validar ...

No sé realmente que tienes que hacer ante un campo de tu formulario sin valor .. pero la técnica es esa. El ejemplo termino el script si hay alguno sin valor (die()) con ese mensaje de error .. tu podrías ir acomulando en un array los campos con error para dar algún aviso más personalizado y exacto.

Por cierto .. trim() (www.php.net/trim) de PHP sólo elimina espacios delante y detras de una cadena dada además de saltos de línea y otros códigos de control .. para que lo tengas en cuenta.

Si quieres detectar un espacio en una cadena .. podrías usar str_pos() o bien expresiones regulares (si es que no permites espacios entre una cadena dada (string)) previo aplicar "trim()".


Un saludo,
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 11:11.