Foros del Web » Programando para Internet » PHP »

Problema con el UPDATE

Estas en el tema de Problema con el UPDATE en el foro de PHP en Foros del Web. Tengo un problema con una de mis paginas, quiero actualizar y al apretar el boton del submit ni siquiera entra al loop del if que ...
  #1 (permalink)  
Antiguo 06/10/2010, 09:24
 
Fecha de Ingreso: agosto-2010
Ubicación: Mexico
Mensajes: 180
Antigüedad: 14 años, 3 meses
Puntos: 0
Problema con el UPDATE

Tengo un problema con una de mis paginas, quiero actualizar y al apretar el boton del submit ni siquiera entra al loop del if que tengo para ese submit. Pasando el codigo.
Código PHP:
       IF(ISSET($_REQUEST['ACTUALIZAR']))
       {
//17  
        
IF(!empty($Datos[9]) AND !empty($Datos[8]) AND !empty($Datos[7]) AND !empty($Datos[5]) AND !empty($Datos[4]) AND !empty($Datos[3]) AND !empty($Datos[2]) AND !empty($Datos[1]))  
        {         
         
         IF((
preg_match("/([0-9])/",$Datos[1])==1) OR (preg_match("/([0-9])/",$Datos[2])==1) OR (preg_match("/([0-9])/",$Datos[3])==1))
         {
//18
          
ECHO "LOS CAMPOS DEL NOMBRE DEL CLIENTE SOLO ACEPTA LETRAS, REVISE<br/>";
          
$i++; 
         }
//18
         
         
IF(preg_match("/([a-zA-Z]{4}[0-9]{6}[a-zA-Z0-9]{0,3})/",$Datos[4])==0)
         {
//19
          
ECHO "EL CAMPO DE RFC DEL CLIENTE NO CUMPLE CON EL FORMATO, REVISE<br/>";
          
$i++;
         }
//19
         
         
IF(preg_match("/([a-zA-Z])/",$Datos[5])==1)
         {
//20
          
ECHO "EL CAMPO DEL TELEFONO DEL CLIENTE SOLO ACEPTA NUMEROS, REVISE<br/>";
          
$i++;
         }
//20
         
         
IF((preg_match("/([0-9]{2}\-[0-9]{2}\-[0-9]{2})/",$Datos[9])==0))
         {
//21
          
ECHO "EL CAMPO DE LA FECHA NO TIENE EL FORMATO DE FECHA DD-MM-AA, REVISE<br/>";
          
$i++;
         }
//21
         
         
IF(preg_match("/([a-zA-Z])/",$Datos[7])==AND preg_match("/([a-zA-Z])/",$Datos[8])==1)
         {
//22
          
ECHO "LOS TELEFONOS DEL UDN SOLO ACEPTA NUMEROS, REVISE<br/>";
          
$i++;
         }
//22
        
}
        ELSE
        {
//23
         
include_once "procEventos.php";        
       
/*
         IF(is_null($rowBonoTaxi[2]))
           $rowBonoTaxi[2] = 0;
         IF(is_null($rowBonoTaxi[1]))
           $rowBonoTaxi[1] = 0;
         IF(is_null($rowBonoTaxi[0]))
           $rowBonoTaxi[0] = 0;  
         */  
         
echo '<br/>Variable $rowBonoTaxi:<br/>';  
         
var_dump($rowBonoTaxi);
         
         
$ActualizarEvento  "UPDATE eventos SET id_cliente = $rowSelectCliente[0], id_udn = $rowSelectUDN[0], fecha_evento = '$Datos[9]', hora = '$Datos[10]', costo_total = $rowBonoTaxi[2] WHERE id_evento = $idEvento";        
         
$resActualizarEvento mysql_query($ActualizarEvento);
            
            echo 
"<br/>".$ActualizarEvento."<br/>";
            
var_dump($resActualizarEvento);
            echo 
"<br/>";
           
         IF(!
$resActualizarEvento
         {
//24
          //echo @mysql_errno($result);
          
die('Invalid Query(7): ' . @mysql_error());
         }
//24//Validacion de Insercion total
         //ECHO "<meta http-equiv=refresh content=\"0; URL=abcEventos.php?idEvento=$Datos[0]\">";        
        
}//23//Actualizar
        //ECHO "<meta http-equiv=refresh content=\"10; URL=abcEventos.php?idEvento=$Datos[0]\">";
       
}//11 
  
<INPUT TYPE "SUBMIT" VALUE "ACTUALIZAR" NAME "ACTUALIZAR" 
  #2 (permalink)  
Antiguo 06/10/2010, 09:41
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 19 años, 5 meses
Puntos: 23
Respuesta: Problema con el UPDATE

Hola,

Es un detalle simplemente, ¿probaste en pasar todo a minúsculas?

Un saludo.
__________________
Freelance - Aplicaciones Web
  #3 (permalink)  
Antiguo 06/10/2010, 09:42
 
Fecha de Ingreso: agosto-2010
Ubicación: Mexico
Mensajes: 180
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problema con el UPDATE

las Variables? o los contenidos?
Cita:
Iniciado por carmagedon Ver Mensaje
Hola,

Es un detalle simplemente, ¿probaste en pasar todo a minúsculas?

Un saludo.
  #4 (permalink)  
Antiguo 06/10/2010, 09:43
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: Problema con el UPDATE

Hola urso, ¿cuál es el valor de $Datos?. Veo dos cositas en el código: el $_REQUEST (deprecated) y el AND, prueba esto:

Código PHP:
<?php
IF(ISSET($_POST['ACTUALIZAR']))
{
//17
    
IF(!empty($Datos[9]) && !empty($Datos[8]) && !empty($Datos[7]) && !empty($Datos[5]) && !empty($Datos[4]) && !empty($Datos[3]) && !empty($Datos[2]) && !empty($Datos[1]))
    {

        IF((
preg_match("/([0-9])/",$Datos[1])==1) OR (preg_match("/([0-9])/",$Datos[2])==1) OR (preg_match("/([0-9])/",$Datos[3])==1))
        {
//18
            
ECHO "LOS CAMPOS DEL NOMBRE DEL CLIENTE SOLO ACEPTA LETRAS, REVISE<br/>";
            
$i++;
        }
//18

        
IF(preg_match("/([a-zA-Z]{4}[0-9]{6}[a-zA-Z0-9]{0,3})/",$Datos[4])==0)
        {
//19
            
ECHO "EL CAMPO DE RFC DEL CLIENTE NO CUMPLE CON EL FORMATO, REVISE<br/>";
            
$i++;
        }
//19

        
IF(preg_match("/([a-zA-Z])/",$Datos[5])==1)
        {
//20
            
ECHO "EL CAMPO DEL TELEFONO DEL CLIENTE SOLO ACEPTA NUMEROS, REVISE<br/>";
            
$i++;
        }
//20

        
IF((preg_match("/([0-9]{2}\-[0-9]{2}\-[0-9]{2})/",$Datos[9])==0))
        {
//21
            
ECHO "EL CAMPO DE LA FECHA NO TIENE EL FORMATO DE FECHA DD-MM-AA, REVISE<br/>";
            
$i++;
        }
//21

        
IF(preg_match("/([a-zA-Z])/",$Datos[7])==&& preg_match("/([a-zA-Z])/",$Datos[8])==1)
        {
//22
            
ECHO "LOS TELEFONOS DEL UDN SOLO ACEPTA NUMEROS, REVISE<br/>";
            
$i++;
        }
//22
    
}
    ELSE
    {
//23
        
include_once "procEventos.php";
        
/*
        IF(is_null($rowBonoTaxi[2]))
        $rowBonoTaxi[2] = 0;
        IF(is_null($rowBonoTaxi[1]))
        $rowBonoTaxi[1] = 0;
        IF(is_null($rowBonoTaxi[0]))
        $rowBonoTaxi[0] = 0;
        */
        
echo '<br/>Variable $rowBonoTaxi:<br/>';
        
var_dump($rowBonoTaxi);

        
$ActualizarEvento  "UPDATE eventos SET id_cliente = $rowSelectCliente[0], id_udn = $rowSelectUDN[0], fecha_evento = '$Datos[9]', hora = '$Datos[10]', costo_total = $rowBonoTaxi[2] WHERE id_evento = $idEvento";
        
$resActualizarEvento mysql_query($ActualizarEvento);

        echo 
"<br/>".$ActualizarEvento."<br/>";
        
var_dump($resActualizarEvento);
        echo 
"<br/>";

        IF(!
$resActualizarEvento)
        {
//24
            //echo @mysql_errno($result);
            
die('Invalid Query(7): ' . @mysql_error());
        }
//24//Validacion de Insercion total
        //ECHO "<meta http-equiv=refresh content=\"0; URL=abcEventos.php?idEvento=$Datos[0]\">";
    
}//23//Actualizar
    //ECHO "<meta http-equiv=refresh content=\"10; URL=abcEventos.php?idEvento=$Datos[0]\">";
}//11
       
?>
  <INPUT TYPE = "SUBMIT" VALUE = "ACTUALIZAR" NAME = "ACTUALIZAR" >
  #5 (permalink)  
Antiguo 06/10/2010, 09:44
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: Problema con el UPDATE

AÑADO: también debes respetar el case en las funciones y palabras clave,

salu2
  #6 (permalink)  
Antiguo 06/10/2010, 09:48
 
Fecha de Ingreso: agosto-2010
Ubicación: Mexico
Mensajes: 180
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problema con el UPDATE

Aqui es donde recibe los valores, no se si como tu sugerencia tenga que hacer lo mismo con la recepcion de valores.

$idEvento = $_REQUEST['idEvento'];
$vNOMBREE = $_REQUEST['vNOMBREE'];
$vAPPAE = $_REQUEST['vAPPAE'];
$vAPMAE = $_REQUEST['vAPMAE'];
$vBono = $_REQUEST['vBono'];
$vTaxi = $_REQUEST['vTaxi'];
$vUDN = $_REQUEST['vUDN'];
$vNOMBREC = $_REQUEST['vNOMBREC'];
$vAPPAC = $_REQUEST['vAPPAC'];
$vAPMAC = $_REQUEST['vAPMAC'];
$vRFC = $_REQUEST['vRFC'];
$vTelefono = $_REQUEST['vTELEFONO'];
$vFecha = $_REQUEST['vFecha'];
$vHora = $_REQUEST['vHora'];
$vTelUDN1 = $_REQUEST['vTELUDN1'];
$vTelUDN2 = $_REQUEST['vTELUDN2'];

$string = $idEvento."_".$vNOMBREC."_".$vAPPAC."_".$vAPMAC."_ ".$vRFC."_".$vTelefono."_".$vUDN."_".$vTelUDN1."_" .$vTelUDN2."_".$vFecha."_".$vHora."_".$vNOMBREE."_ ".$vAPPAE."_".$vAPMAE."_".$vBono."_".$vTaxi;

$Datos = explode("_",$string);

Cita:
Iniciado por repara2 Ver Mensaje
Hola urso, ¿cuál es el valor de $Datos?. Veo dos cositas en el código: el $_REQUEST (deprecated) y el AND, prueba esto:

Código PHP:
<?php
IF(ISSET($_POST['ACTUALIZAR']))
{
//17
    
IF(!empty($Datos[9]) && !empty($Datos[8]) && !empty($Datos[7]) && !empty($Datos[5]) && !empty($Datos[4]) && !empty($Datos[3]) && !empty($Datos[2]) && !empty($Datos[1]))
    {

        IF((
preg_match("/([0-9])/",$Datos[1])==1) OR (preg_match("/([0-9])/",$Datos[2])==1) OR (preg_match("/([0-9])/",$Datos[3])==1))
        {
//18
            
ECHO "LOS CAMPOS DEL NOMBRE DEL CLIENTE SOLO ACEPTA LETRAS, REVISE<br/>";
            
$i++;
        }
//18

        
IF(preg_match("/([a-zA-Z]{4}[0-9]{6}[a-zA-Z0-9]{0,3})/",$Datos[4])==0)
        {
//19
            
ECHO "EL CAMPO DE RFC DEL CLIENTE NO CUMPLE CON EL FORMATO, REVISE<br/>";
            
$i++;
        }
//19

        
IF(preg_match("/([a-zA-Z])/",$Datos[5])==1)
        {
//20
            
ECHO "EL CAMPO DEL TELEFONO DEL CLIENTE SOLO ACEPTA NUMEROS, REVISE<br/>";
            
$i++;
        }
//20

        
IF((preg_match("/([0-9]{2}\-[0-9]{2}\-[0-9]{2})/",$Datos[9])==0))
        {
//21
            
ECHO "EL CAMPO DE LA FECHA NO TIENE EL FORMATO DE FECHA DD-MM-AA, REVISE<br/>";
            
$i++;
        }
//21

        
IF(preg_match("/([a-zA-Z])/",$Datos[7])==&& preg_match("/([a-zA-Z])/",$Datos[8])==1)
        {
//22
            
ECHO "LOS TELEFONOS DEL UDN SOLO ACEPTA NUMEROS, REVISE<br/>";
            
$i++;
        }
//22
    
}
    ELSE
    {
//23
        
include_once "procEventos.php";
        
/*
        IF(is_null($rowBonoTaxi[2]))
        $rowBonoTaxi[2] = 0;
        IF(is_null($rowBonoTaxi[1]))
        $rowBonoTaxi[1] = 0;
        IF(is_null($rowBonoTaxi[0]))
        $rowBonoTaxi[0] = 0;
        */
        
echo '<br/>Variable $rowBonoTaxi:<br/>';
        
var_dump($rowBonoTaxi);

        
$ActualizarEvento  "UPDATE eventos SET id_cliente = $rowSelectCliente[0], id_udn = $rowSelectUDN[0], fecha_evento = '$Datos[9]', hora = '$Datos[10]', costo_total = $rowBonoTaxi[2] WHERE id_evento = $idEvento";
        
$resActualizarEvento mysql_query($ActualizarEvento);

        echo 
"<br/>".$ActualizarEvento."<br/>";
        
var_dump($resActualizarEvento);
        echo 
"<br/>";

        IF(!
$resActualizarEvento)
        {
//24
            //echo @mysql_errno($result);
            
die('Invalid Query(7): ' . @mysql_error());
        }
//24//Validacion de Insercion total
        //ECHO "<meta http-equiv=refresh content=\"0; URL=abcEventos.php?idEvento=$Datos[0]\">";
    
}//23//Actualizar
    //ECHO "<meta http-equiv=refresh content=\"10; URL=abcEventos.php?idEvento=$Datos[0]\">";
}//11
       
?>
  <INPUT TYPE = "SUBMIT" VALUE = "ACTUALIZAR" NAME = "ACTUALIZAR" >
  #7 (permalink)  
Antiguo 06/10/2010, 11:31
 
Fecha de Ingreso: agosto-2010
Ubicación: Mexico
Mensajes: 180
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problema con el UPDATE

El cambio de $_REQUEST a $_POST no me funciono
Cita:
Iniciado por repara2 Ver Mensaje
Hola urso, ¿cuál es el valor de $Datos?. Veo dos cositas en el código: el $_REQUEST (deprecated) y el AND, prueba esto:

Código PHP:
<?php
IF(ISSET($_POST['ACTUALIZAR']))
{
//17
    
IF(!empty($Datos[9]) && !empty($Datos[8]) && !empty($Datos[7]) && !empty($Datos[5]) && !empty($Datos[4]) && !empty($Datos[3]) && !empty($Datos[2]) && !empty($Datos[1]))
    {

        IF((
preg_match("/([0-9])/",$Datos[1])==1) OR (preg_match("/([0-9])/",$Datos[2])==1) OR (preg_match("/([0-9])/",$Datos[3])==1))
        {
//18
            
ECHO "LOS CAMPOS DEL NOMBRE DEL CLIENTE SOLO ACEPTA LETRAS, REVISE<br/>";
            
$i++;
        }
//18

        
IF(preg_match("/([a-zA-Z]{4}[0-9]{6}[a-zA-Z0-9]{0,3})/",$Datos[4])==0)
        {
//19
            
ECHO "EL CAMPO DE RFC DEL CLIENTE NO CUMPLE CON EL FORMATO, REVISE<br/>";
            
$i++;
        }
//19

        
IF(preg_match("/([a-zA-Z])/",$Datos[5])==1)
        {
//20
            
ECHO "EL CAMPO DEL TELEFONO DEL CLIENTE SOLO ACEPTA NUMEROS, REVISE<br/>";
            
$i++;
        }
//20

        
IF((preg_match("/([0-9]{2}\-[0-9]{2}\-[0-9]{2})/",$Datos[9])==0))
        {
//21
            
ECHO "EL CAMPO DE LA FECHA NO TIENE EL FORMATO DE FECHA DD-MM-AA, REVISE<br/>";
            
$i++;
        }
//21

        
IF(preg_match("/([a-zA-Z])/",$Datos[7])==&& preg_match("/([a-zA-Z])/",$Datos[8])==1)
        {
//22
            
ECHO "LOS TELEFONOS DEL UDN SOLO ACEPTA NUMEROS, REVISE<br/>";
            
$i++;
        }
//22
    
}
    ELSE
    {
//23
        
include_once "procEventos.php";
        
/*
        IF(is_null($rowBonoTaxi[2]))
        $rowBonoTaxi[2] = 0;
        IF(is_null($rowBonoTaxi[1]))
        $rowBonoTaxi[1] = 0;
        IF(is_null($rowBonoTaxi[0]))
        $rowBonoTaxi[0] = 0;
        */
        
echo '<br/>Variable $rowBonoTaxi:<br/>';
        
var_dump($rowBonoTaxi);

        
$ActualizarEvento  "UPDATE eventos SET id_cliente = $rowSelectCliente[0], id_udn = $rowSelectUDN[0], fecha_evento = '$Datos[9]', hora = '$Datos[10]', costo_total = $rowBonoTaxi[2] WHERE id_evento = $idEvento";
        
$resActualizarEvento mysql_query($ActualizarEvento);

        echo 
"<br/>".$ActualizarEvento."<br/>";
        
var_dump($resActualizarEvento);
        echo 
"<br/>";

        IF(!
$resActualizarEvento)
        {
//24
            //echo @mysql_errno($result);
            
die('Invalid Query(7): ' . @mysql_error());
        }
//24//Validacion de Insercion total
        //ECHO "<meta http-equiv=refresh content=\"0; URL=abcEventos.php?idEvento=$Datos[0]\">";
    
}//23//Actualizar
    //ECHO "<meta http-equiv=refresh content=\"10; URL=abcEventos.php?idEvento=$Datos[0]\">";
}//11
       
?>
  <INPUT TYPE = "SUBMIT" VALUE = "ACTUALIZAR" NAME = "ACTUALIZAR" >
  #8 (permalink)  
Antiguo 07/10/2010, 01:21
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: Problema con el UPDATE

ok, habría que hacer unos cuantos echos de $datos para ver qué sale.
Otra cosa, veo que primero concatenas la variable $string y luego la vuelves a partir:

Código PHP:
$string $idEvento."_".$vNOMBREC."_".$vAPPAC."_".$vAPMAC."_ ".$vRFC."_".$vTelefono."_".$vUDN."_".$vTelUDN1."_" .$vTelUDN2."_".$vFecha."_".$vHora."_".$vNOMBREE."_ ".$vAPPAE."_".$vAPMAE."_".$vBono."_".$vTaxi;

$Datos explode("_",$string); 
Haz un par de echo de los valores. Saludos
  #9 (permalink)  
Antiguo 07/10/2010, 08:30
 
Fecha de Ingreso: agosto-2010
Ubicación: Mexico
Mensajes: 180
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problema con el UPDATE

Esto es para convertirlo en un arreglo y si le he hecho un echo para la variable datos y se que ahi no esta el problema

Cita:
Iniciado por repara2 Ver Mensaje
ok, habría que hacer unos cuantos echos de $datos para ver qué sale.
Otra cosa, veo que primero concatenas la variable $string y luego la vuelves a partir:

Código PHP:
$string $idEvento."_".$vNOMBREC."_".$vAPPAC."_".$vAPMAC."_ ".$vRFC."_".$vTelefono."_".$vUDN."_".$vTelUDN1."_" .$vTelUDN2."_".$vFecha."_".$vHora."_".$vNOMBREE."_ ".$vAPPAE."_".$vAPMAE."_".$vBono."_".$vTaxi;

$Datos explode("_",$string); 
Haz un par de echo de los valores. Saludos
El problema ya esta resuelto, tenia que separar el IF de la Validacion de la seccion del query en otro IF.

Etiquetas: update
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 22:35.