Ir al contenido


Foto

Hacer una funcion javascript con PHP


  • Por favor identifícate para responder
2 respuestas en este tema

#1 crinfo

crinfo

    Member

  • Miembros
  • PipPip
  • 26 mensajes

Escrito 11 agosto 2014 - 09:44

Estimados,
solicito de su ayuda, necesito hacer una funcion en javascript con php, que me consulte un valor en la base de datos y que retorne la funcion si existe o no el usuario. es decir si es true o false, para asignarselo a una variable.
quise hacer lo siguiente como funcion, pero en la pantalla del navegador queda todo en blanco.. borrando todo el codigo anterior generado.
les muestro el ejemplo que se me ocurrio:



delphi
  1. function validar(valor)
  2. {
  3. <?php
  4.  
  5. $t = new trabajo();
  6. $respuesta = $t->consultar_usuario1(valor.val());
  7. ?>
  8. return <?php echo $respuesta; ?>
  9.  
  10. }



genere de esa forma la funcion donde el metodo consultar_usuario1 lo defini de esta forma:



delphi
  1. public function consultar_usuario1($usuario)
  2. {
  3. $sql = "select usuario from usuarios where usuario = $usuario";
  4. //echo $sql;
  5. $res = mysql_query($sql,Conectar::con());
  6. $count= mysql_num_rows($res);
  7. if($count>0)
  8. {
  9. echo "true";
  10.  
  11. }else
  12. {
  13. echo "false";
  14. }
  15.  
  16.  
  17. }



despues llamo a la funcion generada:



delphi
  1. valid = validar(Seccion);



pero la pantalla no muestra nada.. incluso esta todo en blanco.
si borro la funcion me muestra el codigo que tenia xD
mi duda es se puede hacer eso?..

ahora al parecer a la funcion consultar_usuario1(valor.val()); ese valor no lo reconoce.. ya que no lo recibe por PHP.. por un POST y GET.. esta en la misma pagina que es un select de opciones


Saludos
  • 0

#2 porfi.dev

porfi.dev

    Advanced Member

  • Miembros
  • PipPipPip
  • 183 mensajes
  • LocationMy House @ México

Escrito 12 agosto 2014 - 08:41

Javascript y PHP no se conocen entre si.


Llega PHP a la fiesta, acomoda todo y se va. Después llegan los invitados HTML + DOM y su Javascript... pero si buscan a PHP este ya se fue, por ello lo llaman.

Para eso se hacen las llamadas Get y Post, ya que PHP solo se ejecuta 1 vez antes de mostrar todo el contenido ;) la respuesta para esto es AJAX
  • 0

#3 luisgutierrezb

luisgutierrezb

    Advanced Member

  • Miembros
  • PipPipPip
  • 92 mensajes
  • LocationMéxico

Escrito 12 agosto 2014 - 08:57

Hola buen día, quisiera darte unos consejos para lo que necesitas hacer.

primero, empezemos con los conceptos, php = servidor, javascript =  cliente (navegador).

Recuerda que el código PHP al ejecutarse en el servidor, no se va a esperar a que ejecutes la función de javascript, con esto quiero decir que la función validar, el código que tiene php se va a ejecutar en el lado del servidor ANTES de que sea mostrada la página, entonces si valor.val() tiene un valor, este sera asignado ANTES de mostrar la página en el navegador, ahora viene la duda, entonces como hacerle para cuando capturen un usuario, revisar si existe, bueno para eso, se necesita de PHP, javascript, pero utilizarlo de una forma un tanto diferente...

necesitas hacer una función en javascript, que mande llamar a un php pero sin que refresque o actualice la página, a esto se le llama AJAX, a grandes rasgos, necesitas un script php que lo único que haga es mediante un parámetro GET o POST te revise si existe el usuario, este te regresara un true o false, puede ser en formato JSON (Javascript Object Notation) una vez que el php te funciona bien, ahora si, trabajas en la función javascript, lo mas simple que conozco para AJAX es usar la libreria de javascript jQuery, no es la unica, hay otras, y también se puede hacer a "mano" el ajax, con el, consultas el php, y obtienes un resultado el cual podrás usar en el lado cliente (javascript, html) para hacer lo que creas conveniente, ejemplos hay muchos, una búsqueda en google te dará bastantes ejemplos y aquí andamos para apoyarte en lo que se pueda.

Otro consejo, utiliza la consola de javascript del navegador para que veas que pasa, desde el momento en que se carga la página para que veas que se carga sin errores...

Saludos!
  • 0




IP.Board spam blocked by CleanTalk.