Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: turion en 13 Julio 2014, 11:48 am



Título: Error en mysql funciones y variables.
Publicado por: turion en 13 Julio 2014, 11:48 am
Buenos dias.

Después de algo de trabajo aprendiendo php y mysql estoy atascado en un error que no le encuentro explicación.

El funcionamiento que intento desarrollar es similar a un log, me explico, en teoría al acceder a la página en php se crea un registro en la base de datos, hasta ahí bien pero cuando intento ponerlo en un boton ese mismo código pero con una variable int con otro valor siempre inserta la anterior.

Este es el código que me está matando

Código:
<?
conectar_bd();
$date = date('Y-m-d H:i:s');
$usuario = Auth::instance()->get_user()->id_user;
$idmensaje = $ad->id_ad;
$aut=0;
mysql_query("INSERT INTO pre_leido (id_operador, id_mensaje, fecha_leido, autorizado_ver) VALUES ('$usuario', '$idmensaje', '$date', '$aut')");

function marcarleido25(){


$date2 = date('Y-m-d H:i:s');
$usuario2 = Auth::instance()->get_user()->id_user;
$idmensaje2 = $ad->id_ad;
$aut2=3;
mysql_query("INSERT INTO pre_leido (id_operador, id_mensaje, fecha_leido, autorizado_ver) VALUES ('$usuario2', '$idmensaje2', '$date2', '$aut2')");
}


?>


     
<form method="post" >
   
    <button type="submit"  class="btn btn-primary btn-xs" onClick="marcarleido25();" >Guardar</button>
   
</form>


Toda ayuda recibida será bienvenida  :D :D :D


Título: Re: Error en mysql funciones y variables.
Publicado por: MinusFour en 13 Julio 2014, 12:04 pm
Código
  1. <form method="post" >
  2.  
  3.    <button type="submit"  class="btn btn-primary btn-xs" onClick="marcarleido25();" >Guardar</button>
  4.  
  5. </form>

marcarleido25() es una función de PHP, no hay una comunicación directa a las funciones de PHP a través de HTML. Si bien lo que intenta hacer tu navegador es ejecutar la función marcarleido25 pero en javascript.


Título: Re: Error en mysql funciones y variables.
Publicado por: turion en 13 Julio 2014, 12:12 pm
Bien, entonces desde html no puedo llamar a una función de php, es bueno saberlo... jajaj , entonces tendría que hacerlo llamando a un archivo algo así no?

Código:
<form method="post" >
   
    <button type="submit"  class="btn btn-primary btn-xs" onClick="marcarleido25.php" >Guardar</button>


Y en marcarleido25.php metería el código de la función.


Corrígeme si me equivoco.


Título: Re: Error en mysql funciones y variables.
Publicado por: MinusFour en 13 Julio 2014, 12:17 pm
Si puedes llamar a una dirección que ejecute el código PHP pero no puedes hacerlo así.

Puedes hacerlo así:

Código
  1. <form method="post" action="marcarleido25.php">
  2.  
  3.    <button type="submit"  class="btn btn-primary btn-xs" >Guardar</button>
  4.  
  5. </form>
'

No importa si el formulario es post o get, la verdad. Aunque lo estandar sería que fuera GET en lugar de POST.

EDIT: Es más, no necesitas hacerlo formulario, puedes hacer un simple link:

Código
  1. <a href="marcarleido25.php">Guardar</a>
  2.  

También puedes mandar a llamar la página desde AJAX, sin necesidad de ser redirigir el navegador a la página marcarleido25.php.


Título: Re: Error en mysql funciones y variables.
Publicado por: turion en 13 Julio 2014, 14:51 pm
Después de mucho machacarme la cabeza no lo he podido conseguir. El caso es que en el php que estoy trabajando tiene esta deficicion al principio y aunque se la quite no puedo acceder a los archivos php directamente.

Código:
<?php defined('SYSPATH') or die('No direct script access.');?>


Puedes saber alguna solución? Yo ya con esto me pierdo..


Título: Re: Error en mysql funciones y variables.
Publicado por: MinusFour en 13 Julio 2014, 19:10 pm
Después de mucho machacarme la cabeza no lo he podido conseguir. El caso es que en el php que estoy trabajando tiene esta deficicion al principio y aunque se la quite no puedo acceder a los archivos php directamente.

Código:
<?php defined('SYSPATH') or die('No direct script access.');?>


Puedes saber alguna solución? Yo ya con esto me pierdo..

Estás trabajando con un script externo, google me dice que estás usando el Framework Kohana o algun derivado. Lo más probable es que tengas que hacer un include al archivo de configuración del script. También es posible que se necesite hacer una llamada a alguna libreria y el código a simple vista podría tener errores también, porque $ad no está definido en ningún lado.


Título: Re: Error en mysql funciones y variables.
Publicado por: turion en 14 Julio 2014, 15:56 pm
Tenias razón como de costumbre  :rolleyes: jajaj Tengo que usar los archivos de configuración de kohana, ya más o menos tengo idea de como hacerlo. En cuanto a la variable $ad no hay problema está definida en el código más arriba.


Gracias por tu ayuda ya te iré contando jejej