Foros del Web » Programando para Internet » PHP »

Validando datos..porque lo envia?

Estas en el tema de Validando datos..porque lo envia? en el foro de PHP en Foros del Web. Hola: Estoy validando los campos nit y nit2 para que si no son iguales, pues lo permita modificar al registrante antes de enviar. Con este ...
  #1 (permalink)  
Antiguo 19/10/2010, 10:07
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 11 meses
Puntos: 18
Validando datos..porque lo envia?

Hola: Estoy validando los campos nit y nit2 para que si no son iguales, pues lo permita modificar al registrante antes de enviar.

Con este javascript me aparece el mensaje de que no son correctos y cuando le doy aceptar el vil formulario lo envía!

Quiero que se detenga ahi para que lo puedan modificar, o sea que uno le de aceptar y que el formulario no se envie sino que se quede ahi.

Este es mi codigo:

Código PHP:
<?php require_once('Connections/segurodb.php'); ?>
<?php
///////Configuración/////
$mail_destinatario '@';
///////Fin configuración// 
if (isset ($_POST['Grabar'])) {
$headers .= "From: ".$_POST['email']. "";
if ( 
mail ($mail_destinatario$_POST['ciudades'], "Nit : ".$_POST['nit']." Telefono: ".stripcslashes ($_POST['telefono'])." Departamento: ".stripcslashes ($_POST['ciudades'])." Empresa : ".stripcslashes ($_POST['empresa']), $headers )) echo '

'
; } 

if (!
function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO registro (ciudades, nit, email, telefono, empresa) VALUES (%s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['ciudades'], "text"),
                       
GetSQLValueString($_POST['nit'], "text"),
                       
GetSQLValueString($_POST['email'], "text"),
                       
GetSQLValueString($_POST['telefono'], "text"),
                       
GetSQLValueString($_POST['empresa'], "text"));
                       
  
mysql_select_db($database_segurodb$segurodb);
  
$Result1 mysql_query($insertSQL$segurodb) or die(mysql_error());
  
$insertGoTo "gracias.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
    
header(sprintf("Location: %s"$insertGoTo));
}

mysql_select_db($database_segurodb$segurodb);
$query_rc_registro "SELECT * FROM registro";
$rc_registro mysql_query($query_rc_registro$segurodb) or die(mysql_error());
$row_rc_registro mysql_fetch_assoc($rc_registro);
$totalRows_rc_registro mysql_num_rows($rc_registro);

mysql_select_db($database_segurodb$segurodb);
$query_rc_ciu "SELECT * FROM ciudades ORDER BY ciudades ASC";
$rc_ciu mysql_query($query_rc_ciu$segurodb) or die(mysql_error());
$row_rc_ciu mysql_fetch_assoc($rc_ciu);
$totalRows_rc_ciu mysql_num_rows($rc_ciu);
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>tit</title>
function comprobarClave(){
    nit = document.form1.nit.value
    nit2 = document.form1.nit2.value
    
    if (nit == nit2)
        alert("Las dos claves son iguales...\nRealizo las acciones del caso en que son iguales")
    else
        alert("Las dos claves son distintas...\nRealizo las acciones del caso en que no son iguales")
}
</script> 
</head>
<body>

            <script type="text/javascript">
</noscript></td>
          </tr>
      </table></td>
    </tr>
    <tr>
      <td height="60" align="center" valign="middle" class="titulos_contenido">Apreciado clientes.</td>
    </tr>
            <tr>
              <td height="188" valign="top">
    
                <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
                  <!--DWLayoutTable-->
                  <tr>
                    <td width="835" height="188" align="center" valign="middle" class="titulo_internos"><form method="post" name="form1" action="<?php echo $editFormAction?>">
                    
                      <table align="center">
                        
                        <tr valign="baseline">
                          
                          <td align="right" valign="middle" nowrap class="campos">Dpto</td>
                                                                                                      
                          <td align="left"><select name="ciudades" class="campos2" id="ciudades">
                  <?php 
do {  
?>
                  <option value="<?php echo $row_rc_ciu['ciudades']?>" ><?php echo $row_rc_ciu['ciudades']?></option>
                  <?php
} while ($row_rc_ciu mysql_fetch_assoc($rc_ciu));
?>
              </select>              </td>
                        <tr valign="baseline">
                          
                          <td align="right" valign="middle" nowrap class="campos">Nit</td>
                                                                                                      
                          <td align="left" valign="middle"><input name="nit" type="text" class="campos2" id="nit" size="28" maxlength="28"></td>
                          <tr valign="baseline">
                          
                          <td align="right" valign="middle" nowrap class="formulario2">Introduce nuevamente Nit</td>
                                                                                                      
                          <td align="left" valign="middle"><input name="nit2" type="text" class="campos" id="nit2" size="28" maxlength="28"></td>
                    </tr>
                        
                        <tr valign="baseline">
                          
                          <td align="right" valign="middle" nowrap class="campos">E-mail</td>
                                                                                                      
                          <td align="left" valign="middle"><input name="email" type="text" class="campos2" id="email" value="" size="28"></td>
                    </tr>
                        
                        <tr valign="baseline">
                          
                          <td align="right" valign="middle" nowrap class="campos">Telefono</td>
                                                                                                      
                          <td align="left" valign="middle"><input name="telefono" type="text" class="campos2" id="telefono" value="" size="10" maxlength="10"></td>
                    </tr>
                        
                        <tr valign="baseline">
                          
                          <td align="right" valign="middle" nowrap class="campos">Empresa</td>
                                                                                                      
                          <td align="left" valign="middle"><input name="empresa" type="text" class="campos2" id="empresa" value="" size="25" maxlength="25" /></td>
                    </tr>
                        
                        <tr valign="baseline">
                          
                          <td nowrap align="right">&nbsp;</td>
                                                                                                      
                        <td align="center" valign="middle"><div align="center">
                         
                          <input name="Grabar" type="submit" class="campos" id="Grabar" value="Grabar" onClick="comprobarClave()">
                          
                          </div></td>
                    </tr>
                      </table>
                                                                                                      
                    <input type="hidden" name="MM_insert" value="form1" />
                      </form></td>
            </tr>
                  </table>
              <tr>
              <td height="37" valign="top">            
                <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <!--DWLayoutTable-->
        <!--TABLA BARRA-->
        <tr>
          <td width="835" height="37" valign="top"><!--CELDA BARRA-->
            <script type="text/javascript">
</noscript></td>
          </tr>
      </table>
           <tr>
              <td height="79" valign="top">                    
                        <table width="100%" border="0" cellpadding="0" cellspacing="0">
                          <!--DWLayoutTable-->
                          <!--TABLA FIRMAS-->
                          <tr>
                            <td width="835" height="49" align="center" valign="middle" class="texto_firma">
              <p class="formulario2"></p></td>
          </tr>
          </table>
                  </table>
  <tr><td height="52" colspan="3" align="center" valign="middle" class="campos2">&nbsp;</td>
  </tr>
    <tr>
      <td height="37" colspan="3" valign="top">&nbsp;</td>
    </tr>
    <tr>
      <td height="79" colspan="3" valign="top">&nbsp;</td>
    </tr>
  </table>
</div>
</body>
</html>
<?php
mysql_free_result
($rc_registro);

mysql_free_result($rc_ciu);
?>
Gracias por la orientación.
  #2 (permalink)  
Antiguo 19/10/2010, 10:14
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 4 meses
Puntos: 105
Respuesta: Validando datos..porque lo envia?

Cita:
Iniciado por isabellawebs Ver Mensaje
Con este javascript ......
Sabias que estamos en el foro de php

Aun asi, lo podrias solucionar asi:

Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  2. <title>tit</title>
  3. function comprobarClave(){
  4.     nit = document.form1.nit.value
  5.     nit2 = document.form1.nit2.value
  6.  
  7.     if (nit == nit2){
  8.         alert("Las dos claves son iguales...\nRealizo las acciones del caso en que son iguales")
  9.         return false
  10.     }else{
  11.         alert("Las dos claves son distintas...\nRealizo las acciones del caso en que no son iguales")
  12.         return true
  13.     }
  14. }
  15. </script>
  16. </head>
  17. ......
  18. .......
  19. <input name="Grabar" type="submit" class="campos" id="Grabar" value="Grabar" onClick="return comprobarClave()">

Nota: No veo que habras la etiqueta html ni la <script>... y acomoda mas tu codigo no ??

Suerte
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #3 (permalink)  
Antiguo 19/10/2010, 10:23
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 11 meses
Puntos: 18
Respuesta: Validando datos..porque lo envia?

Te agradezco aunque no me funcionó O sea, al salir el mmensaje javascrpt de que son diferentes, doy aceptar y plash!, envia el formulario. Lo probe varias veces sacando el else de arriba de los corchetes, agregando lo que pusiste arriba y abajo ye incluso invirtiendo el true y false. Yo puedo mover esto al foro de javascript?
  #4 (permalink)  
Antiguo 19/10/2010, 10:28
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 4 meses
Puntos: 105
Respuesta: Validando datos..porque lo envia?

:

Haha, es que me confundi..... cambia los return...
es decir, dejalo asi:
Código Javascript:
Ver original
  1. <script>
  2. function comprobarClave(){
  3.     nit = document.form1.nit.value
  4.     nit2 = document.form1.nit2.value
  5.  
  6.     if (nit == nit2){
  7.         alert("Las dos claves son iguales...\nRealizo las acciones del caso en que son iguales")
  8.         return true
  9.     }else{
  10.         alert("Las dos claves son distintas...\nRealizo las acciones del caso en que no son iguales")
  11.         return false
  12.     }
  13. }
  14. </script>

Tambien puedes cambiar la funcion del onclick del boton, y moverlo al onsubmit del formulario.

Suerte
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #5 (permalink)  
Antiguo 19/10/2010, 10:39
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 11 meses
Puntos: 18
Respuesta: Validando datos..porque lo envia?

Nuevamente gracias. Pero ha empeorado la cosa. Ahora lo envia descaradamente sin si quiera mostrar el mensaje javascript.
  #6 (permalink)  
Antiguo 19/10/2010, 10:44
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 4 meses
Puntos: 105
Respuesta: Validando datos..porque lo envia?

Como has puesto el llamado a la funcion ??

Con onclick o con onsubmit ??

Muestrame esa parte por favor....
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #7 (permalink)  
Antiguo 19/10/2010, 10:45
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 11 meses
Puntos: 18
Respuesta: Validando datos..porque lo envia?

De las dos maneras
  #8 (permalink)  
Antiguo 19/10/2010, 10:46
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 4 meses
Puntos: 105
Respuesta: Validando datos..porque lo envia?

Las dos a la vez no se puede :

Muestrame tu codigo para verlo ^^
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #9 (permalink)  
Antiguo 19/10/2010, 10:50
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 11 meses
Puntos: 18
Respuesta: Validando datos..porque lo envia?

Obvio que no lindo...

Código PHP:
<script src="js/AC_RunActiveContent.js" type="text/javascript"></script>
<script> 
function comprobarClave(){
    nit = document.form1.nit.value
    nit2 = document.form1.nit2.value
    
    if (nit == nit2){
        alert("Las dos claves son iguales...\nRealizo las acciones del caso en que son iguales")
        return true
     }else{
        alert("Las dos claves son distintas...\nRealizo las acciones del caso en que no son iguales")
        return false
        }
}
</script> 
</head>
<body>
<div align="center"> 
Y el otro...

Código PHP:
                        <td align="center" valign="middle"><div align="center">
                         
                          <
input name="Grabar" type="submit" class="campos" id="Grabar" value="Grabar" onClick="return comprobarClave()">
                          
                          </
div></td>
                    </
tr>
                      </
table
Repito que ya no sale el mensaje java...
  #10 (permalink)  
Antiguo 19/10/2010, 10:52
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 11 meses
Puntos: 18
Respuesta: Validando datos..porque lo envia?

Ya esta... no te preocupes era la caché del navegador....muchas gracias!

Etiquetas: Ninguno
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 13:09.