Error en mysql funciones y variables.

Iniciado por turion, 13 Julio 2014, 11:48 AM

0 Miembros y 1 Visitante están viendo este tema.

turion

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

<?
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

MinusFour

Código (html4strict) [Seleccionar]

<form method="post" >
   
    <button type="submit"  class="btn btn-primary btn-xs" onClick="marcarleido25();" >Guardar</button>
   
</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.

turion

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?

<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.

MinusFour

#3
Si puedes llamar a una dirección que ejecute el código PHP pero no puedes hacerlo así.

Puedes hacerlo así:

Código (html4strict) [Seleccionar]
<form method="post" action="marcarleido25.php">

   <button type="submit"  class="btn btn-primary btn-xs" >Guardar</button>

</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 (html4strict) [Seleccionar]

<a href="marcarleido25.php">Guardar</a>


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

turion

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.


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



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

MinusFour

Cita de: 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.


<?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.

turion

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