Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con id

Estas en el tema de Problema con id en el foro de PHP en Foros del Web. Hola buenas pues tengo un error o no se que es lo que puede ser la variable $myrow['id'] esta bien por que mostrando con echo ...
  #1 (permalink)  
Antiguo 09/11/2013, 10:37
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Problema con id

Hola buenas pues tengo un error o no se que es lo que puede ser la variable $myrow['id'] esta bien por que mostrando con echo sale el id pero a la hora de insertar el dato se inserta con 0

No da ningún tipo de error ni nada por el estilo solo al hacer el inserto se inserta con 0 en vez de con el id

Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once('kernel/core.php');
  4.  
  5. function getBrowser()
  6. {
  7.     $u_agent = $_SERVER['HTTP_USER_AGENT'];
  8.     $bname = 'Unknown';
  9.     $platform = 'Unknown';
  10.     $version= "";
  11.  
  12.     //First get the platform?
  13.     if (preg_match('/linux/i', $u_agent)) {
  14.         $platform = 'linux';
  15.     }
  16.     elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
  17.         $platform = 'mac';
  18.     }
  19.     elseif (preg_match('/windows|win32/i', $u_agent)) {
  20.         $platform = 'windows';
  21.     }
  22.    
  23.     // Next get the name of the useragent yes seperately and for good reason
  24.     if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
  25.     {
  26.         $bname = 'Internet Explorer';
  27.         $ub = "MSIE";
  28.     }
  29.     elseif(preg_match('/Firefox/i',$u_agent))
  30.     {
  31.         $bname = 'Mozilla Firefox';
  32.         $ub = "Firefox";
  33.     }
  34.     elseif(preg_match('/Chrome/i',$u_agent))
  35.     {
  36.         $bname = 'Google Chrome';
  37.         $ub = "chrome";
  38.         mysql_query("INSERT INTO users_placas (users_id,badge_id) VALUES ('".$myrow['id']."','".$ub."')") or die(mysql_error());
  39.     }
  40.     elseif(preg_match('/Safari/i',$u_agent))
  41.     {
  42.         $bname = 'Apple Safari';
  43.         $ub = "Safari";
  44.     }
  45.     elseif(preg_match('/Opera/i',$u_agent))
  46.     {
  47.         $bname = 'Opera';
  48.         $ub = "Opera";
  49.     }
  50.     elseif(preg_match('/Netscape/i',$u_agent))
  51.     {
  52.         $bname = 'Netscape';
  53.         $ub = "Netscape";
  54.     }
  55.    
  56.     // finally get the correct version number
  57.     $known = array('Version', $ub, 'other');
  58.     $pattern = '#(?<browser>' . join('|', $known) .
  59.     ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
  60.     if (!preg_match_all($pattern, $u_agent, $matches)) {
  61.         // we have no matching number just continue
  62.     }
  63.    
  64.     // see how many we have
  65.     $i = count($matches['browser']);
  66.     if ($i != 1) {
  67.         //we will have two since we are not using 'other' argument yet
  68.         //see if version is before or after the name
  69.         if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
  70.             $version= $matches['version'][0];
  71.         }
  72.         else {
  73.             $version= $matches['version'][1];
  74.         }
  75.     }
  76.     else {
  77.         $version= $matches['version'][0];
  78.     }
  79.    
  80.     // check if we have a number
  81.     if ($version==null || $version=="") {$version="?";}
  82.    
  83.     return array(
  84.         'userAgent' => $u_agent,
  85.         'name'      => $bname,
  86.         'version'   => $version,
  87.         'platform'  => $platform,
  88.         'pattern'    => $pattern
  89.     );
  90. }
  91.  
  92. // now try it
  93. $ua=getBrowser();
  94. $yourbrowser= " " . $ua['name'] . " ";
  95. print_r($yourbrowser);
  96. ?>
  97. <?php echo $myrow['id']; ?>
  #2 (permalink)  
Antiguo 09/11/2013, 12:22
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Problema con id

Cita:
Iniciado por Jose789 Ver Mensaje
Hola buenas pues tengo un error o no se que es lo que puede ser la variable $myrow['id'] esta bien por que mostrando con echo sale el id pero a la hora de insertar el dato se inserta con 0

No da ningún tipo de error ni nada por el estilo solo al hacer el inserto se inserta con 0 en vez de con el id

Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once('kernel/core.php');
  4.  
  5. function getBrowser()
  6. {
  7.     $u_agent = $_SERVER['HTTP_USER_AGENT'];
  8.     $bname = 'Unknown';
  9.     $platform = 'Unknown';
  10.     $version= "";
  11.  
  12.     //First get the platform?
  13.     if (preg_match('/linux/i', $u_agent)) {
  14.         $platform = 'linux';
  15.     }
  16.     elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
  17.         $platform = 'mac';
  18.     }
  19.     elseif (preg_match('/windows|win32/i', $u_agent)) {
  20.         $platform = 'windows';
  21.     }
  22.    
  23.     // Next get the name of the useragent yes seperately and for good reason
  24.     if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
  25.     {
  26.         $bname = 'Internet Explorer';
  27.         $ub = "MSIE";
  28.     }
  29.     elseif(preg_match('/Firefox/i',$u_agent))
  30.     {
  31.         $bname = 'Mozilla Firefox';
  32.         $ub = "Firefox";
  33.     }
  34.     elseif(preg_match('/Chrome/i',$u_agent))
  35.     {
  36.         $bname = 'Google Chrome';
  37.         $ub = "chrome";
  38.         mysql_query("INSERT INTO users_placas (users_id,badge_id) VALUES ('".$myrow['id']."','".$ub."')") or die(mysql_error());
  39.     }
  40.     elseif(preg_match('/Safari/i',$u_agent))
  41.     {
  42.         $bname = 'Apple Safari';
  43.         $ub = "Safari";
  44.     }
  45.     elseif(preg_match('/Opera/i',$u_agent))
  46.     {
  47.         $bname = 'Opera';
  48.         $ub = "Opera";
  49.     }
  50.     elseif(preg_match('/Netscape/i',$u_agent))
  51.     {
  52.         $bname = 'Netscape';
  53.         $ub = "Netscape";
  54.     }
  55.    
  56.     // finally get the correct version number
  57.     $known = array('Version', $ub, 'other');
  58.     $pattern = '#(?<browser>' . join('|', $known) .
  59.     ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
  60.     if (!preg_match_all($pattern, $u_agent, $matches)) {
  61.         // we have no matching number just continue
  62.     }
  63.    
  64.     // see how many we have
  65.     $i = count($matches['browser']);
  66.     if ($i != 1) {
  67.         //we will have two since we are not using 'other' argument yet
  68.         //see if version is before or after the name
  69.         if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
  70.             $version= $matches['version'][0];
  71.         }
  72.         else {
  73.             $version= $matches['version'][1];
  74.         }
  75.     }
  76.     else {
  77.         $version= $matches['version'][0];
  78.     }
  79.    
  80.     // check if we have a number
  81.     if ($version==null || $version=="") {$version="?";}
  82.    
  83.     return array(
  84.         'userAgent' => $u_agent,
  85.         'name'      => $bname,
  86.         'version'   => $version,
  87.         'platform'  => $platform,
  88.         'pattern'    => $pattern
  89.     );
  90. }
  91.  
  92. // now try it
  93. $ua=getBrowser();
  94. $yourbrowser= " " . $ua['name'] . " ";
  95. print_r($yourbrowser);
  96. ?>
  97. <?php echo $myrow['id']; ?>
<saludos>
Y $myrow['id'] donde toma valor? en el include?
Si es así, entonces tienes 2 opciones
1. Enviar $myrow como parámetro a la funciòn getBrowser
o
2. Dentro de la función getBrowser declarar $myrow como global

Intenta y nos cuentas
</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 09/11/2013, 13:04
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Respuesta: Problema con id

Código PHP:
function getBrowser() 

    $u_agent = $_SERVER['HTTP_USER_AGENT']; 
    $bname = 'Unknown';
    $platform = 'Unknown';
    $version= "";
       //Hacemos la variable global
    $global = $myrow['id'];

    //First get the platform?
    if (preg_match('/linux/i', $u_agent)) {
        $platform = 'linux';
    }
    elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
        $platform = 'mac';
    }
    elseif (preg_match('/windows|win32/i', $u_agent)) {
        $platform = 'windows';
    }
    
    // Next get the name of the useragent yes seperately and for good reason
    if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent)) 
    { 
        $bname = 'Internet Explorer'; 
        $ub = "MSIE"; 
    } 
    elseif(preg_match('/Firefox/i',$u_agent)) 
    { 
        $bname = 'Mozilla Firefox'; 
        $ub = "Firefox"; 
    } 
    elseif(preg_match('/Chrome/i',$u_agent)) 
    { 
        $bname = 'Google Chrome'; 
        $ub = "chrome";
        mysql_query("INSERT INTO users_placas (users_id,badge_id) VALUES ('".$GLOBALS["global"]."','".$ub."')") or die(mysql_error());
    } 
    elseif(preg_match('/Safari/i',$u_agent)) 
    { 
        $bname = 'Apple Safari'; 
        $ub = "Safari"; 
    } 
    elseif(preg_match('/Opera/i',$u_agent)) 
    { 
        $bname = 'Opera'; 
        $ub = "Opera"; 
    } 
    elseif(preg_match('/Netscape/i',$u_agent)) 
    { 
        $bname = 'Netscape'; 
        $ub = "Netscape"; 
    } 
    
    // finally get the correct version number
    $known = array('Version', $ub, 'other');
    $pattern = '#(?<browser>' . join('|', $known) .
    ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
    if (!preg_match_all($pattern, $u_agent, $matches)) {
        // we have no matching number just continue
    }
    
    // see how many we have
    $i = count($matches['browser']);
    if ($i != 1) {
        //we will have two since we are not using 'other' argument yet
        //see if version is before or after the name
        if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
            $version= $matches['version'][0];
        }
        else {
            $version= $matches['version'][1];
        }
    }
    else {
        $version= $matches['version'][0];
    }
    
    // check if we have a number
    if ($version==null || $version=="") {$version="?";}
    
    return array(
        'userAgent' => $u_agent,
        'name'      => $bname,
        'version'   => $version,
        'platform'  => $platform,
        'pattern'    => $pattern
    );


// now try it
$ua=getBrowser();
$yourbrowser= " " . $ua['name'] . " ";
print_r($yourbrowser);
?>
<?php echo $myrow['id']; ?>
No funciona se inserta con 0 el $myrow['id'] hace cojer el id de cada usuario en la ultima linea <?php echo $myrow['id']; ?> se muestra el id de cada usuario sin problemas pero se inserta con 0

PD: Ya lo solucione.

Última edición por Jose789; 09/11/2013 a las 13:39
  #4 (permalink)  
Antiguo 09/11/2013, 13:48
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Problema con id

Cita:
Iniciado por Jose789 Ver Mensaje
Código PHP:
function getBrowser() 

    $u_agent = $_SERVER['HTTP_USER_AGENT']; 
    $bname = 'Unknown';
    $platform = 'Unknown';
    $version= "";
       //Hacemos la variable global
    $global = $myrow['id'];

    //First get the platform?
    if (preg_match('/linux/i', $u_agent)) {
        $platform = 'linux';
    }
    elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
        $platform = 'mac';
    }
    elseif (preg_match('/windows|win32/i', $u_agent)) {
        $platform = 'windows';
    }
    
    // Next get the name of the useragent yes seperately and for good reason
    if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent)) 
    { 
        $bname = 'Internet Explorer'; 
        $ub = "MSIE"; 
    } 
    elseif(preg_match('/Firefox/i',$u_agent)) 
    { 
        $bname = 'Mozilla Firefox'; 
        $ub = "Firefox"; 
    } 
    elseif(preg_match('/Chrome/i',$u_agent)) 
    { 
        $bname = 'Google Chrome'; 
        $ub = "chrome";
        mysql_query("INSERT INTO users_placas (users_id,badge_id) VALUES ('".$GLOBALS["global"]."','".$ub."')") or die(mysql_error());
    } 
    elseif(preg_match('/Safari/i',$u_agent)) 
    { 
        $bname = 'Apple Safari'; 
        $ub = "Safari"; 
    } 
    elseif(preg_match('/Opera/i',$u_agent)) 
    { 
        $bname = 'Opera'; 
        $ub = "Opera"; 
    } 
    elseif(preg_match('/Netscape/i',$u_agent)) 
    { 
        $bname = 'Netscape'; 
        $ub = "Netscape"; 
    } 
    
    // finally get the correct version number
    $known = array('Version', $ub, 'other');
    $pattern = '#(?<browser>' . join('|', $known) .
    ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
    if (!preg_match_all($pattern, $u_agent, $matches)) {
        // we have no matching number just continue
    }
    
    // see how many we have
    $i = count($matches['browser']);
    if ($i != 1) {
        //we will have two since we are not using 'other' argument yet
        //see if version is before or after the name
        if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
            $version= $matches['version'][0];
        }
        else {
            $version= $matches['version'][1];
        }
    }
    else {
        $version= $matches['version'][0];
    }
    
    // check if we have a number
    if ($version==null || $version=="") {$version="?";}
    
    return array(
        'userAgent' => $u_agent,
        'name'      => $bname,
        'version'   => $version,
        'platform'  => $platform,
        'pattern'    => $pattern
    );


// now try it
$ua=getBrowser();
$yourbrowser= " " . $ua['name'] . " ";
print_r($yourbrowser);
?>
<?php echo $myrow['id']; ?>
No funciona se inserta con 0 el $myrow['id'] hace cojer el id de cada usuario en la ultima linea <?php echo $myrow['id']; ?> se muestra el id de cada usuario sin problemas pero se inserta con 0

PD: Ya lo solucione.
<saludos>
Eso para nada responde a la pregunta....
pero pues si ya funcionó genial...
</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 09/11/2013, 16:57
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Respuesta: Problema con id

Hice primero lo segundo que me dijistes lo de una variable global, pero eso no dio resultando. y me opte por la primera opcion 1. Enviar $myrow como parámetro a la funciòn getBrowser. y pues funciono jaja :)

Muchisimas Gracias

Etiquetas: mysql, sql, variable
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 10:25.