elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  PHP ON CLICK
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: PHP ON CLICK  (Leído 7,057 veces)
bgnumis

Desconectado Desconectado

Mensajes: 155


Ver Perfil
PHP ON CLICK
« en: 13 Junio 2016, 08:20 am »

Hola tengo un formulario, que me han ayudado en este foro, con js la cuestión es que el formulario me completa una serie de campos y me gustaría que al darle a un botón me guardara todos los campos en una tabla de mysql.

En algo similar leí que eso se haría con un "on click?" donde puedo leer sobre cómo funciona esa función. ¿Alguien podría ponerme un ejemplo chorra de como guardar datos dandole a un botón a una base de datos? Muchas Gracias.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: PHP ON CLICK
« Respuesta #1 en: 13 Junio 2016, 14:27 pm »

No tengo ni la menor idea que dices... en tal caso onclick no es una propiedad de PHP (PHP no tiene ninguna opción de interacción directa) es una propiedad de HTML y jscript, si usas jquery es simplemente .click() simplemente busca en Google "onclick HTML" (o js) y tendrás mucha info al respecto


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: PHP ON CLICK
« Respuesta #2 en: 13 Junio 2016, 19:46 pm »

Ya te dije en tu otra pregunta que buscaras un poquito, no es necesario que habras otra. Ejemplos de como guardar datos en una base de datos los tienes por todas partes.

Si te hubieras molestado solo un poquito en buscar en este mismo subforo, te hubieras dado cuenta que en una de las preguntas pongo un ejemplo de como recibir datos por ajax y guardarlos: http://foro.elhacker.net/php/ajax_recibir_daros-t452816.0.html;msg2071906#msg2071906
En línea

daniela Vega

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: PHP ON CLICK
« Respuesta #3 en: 13 Junio 2016, 20:27 pm »

checa este formulario, me aprecio muy bueno para tu formulario:
http://sentidoweb.com/2006/04/17/botones-distintas-formas-de-enviar-un-formulario.php

http://usuaris.tinet.cat/acl/html_web/articulos_js/form_1/ajs_4.html
En línea

bgnumis

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: PHP ON CLICK
« Respuesta #4 en: 18 Junio 2016, 22:57 pm »

Hola Gab1 disculpa porque te enfadaste y con motivo, aunque sí que lo miré, no me aclaro, voy muy lento, y aprendo demasiado tarde. Te pido disculpas, a ver si me podeis ayudar tengo es código:

Código
  1.  
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  3.  
  4.  
  5. <?php
  6.  
  7.  
  8. //Inicializar una sesion de PHP
  9.  
  10. //Validar que el usuario este logueado y exista un UID
  11. if ( ! ($_SESSION['autenticado'] == 'SI' && isset($_SESSION['uid'])) )
  12. {
  13.    //En caso de que el usuario no este autenticado, crear un formulario y redireccionar a la
  14.    //pantalla de login, enviando un codigo de error        <form name="formulario" method="post" action="index.php">
  15. ?>
  16.        <form name="formulario" method="post" action="index.php">
  17.            <input type="hidden" name="msg_error" value="2">
  18.        </form>
  19.        <script type="text/javascript">
  20.            document.formulario.submit();
  21.        </script>
  22.  
  23. <?php
  24. }
  25.  
  26.    //Conectar BD
  27.    include("conectar_bd.php");  
  28.    conectar_bd();
  29.  
  30.    //Sacar datos del usuario que ha iniciado sesion"Propietario/a de ".$fila['Direccion']." ".$fila['PuertaLocalGaraje']
  31.    $sql = "SELECT   tx_nombre,tx_apellidoPaterno,tx_TipoUsuario,id_usuario, tx_password
  32.            FROM tbl_users
  33.            LEFT JOIN ctg_tiposusuario
  34.            ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
  35.            WHERE id_usuario = '".$_SESSION['uid']."'";        
  36.    $result     =mysql_query($sql);
  37.  
  38.    $nombreUsuario = "";
  39.  
  40. $cif = "";
  41.  
  42.  
  43.    //Formar el nombre completo del usuario
  44.    if( $fila = mysql_fetch_array($result) )
  45.        $nombreUsuario = "".$fila['tx_nombre];
  46.  
  47.  
  48. //Cerrrar conexion a la BD  <form action="insertarvisitas.php" method="POST" name="form">echo '<td>'.'<a href="principal.php?id='.$muestra['ofi'].'">'.'<strong>Ir a Registrar</strong>'.'</a>'.'</td>';
  49. mysql_close($conexio);
  50.  
  51. ?>
  52.  
  53.  
  54. <html lang="es">
  55. <!doctype HTML>
  56. <head>
  57.  
  58.  
  59. <title>
  60. </title>
  61. <meta charset="utf-8"/>
  62.  
  63. <meta name="viewport" content="width=devide-width,initial-scale=1"/>
  64. <link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/>
  65. <link rel="stylesheet"  href="css/estilos.css" />
  66.  
  67.  
  68. <!--[if lt IE 9]>
  69. <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  70. <![endif]>-->
  71.  
  72. <link rel="stylesheet" href="flexslider.css"  media="screen" />
  73. <script src="jquery.min.js"></script>
  74. <script src="jquery.flexslider-min.js"></script>
  75. <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
  76.  
  77. <!-- Includes for this demo -->
  78. <link rel="stylesheet" href="css/flexslider.css" media="screen" />
  79.  
  80. <!-- Hook up the FlexSlider -->
  81. <script>
  82. $(window).load(function() {
  83. $('.flexslider').flexslider();
  84. });
  85. </script>
  86.  
  87.  
  88.  
  89.    <script type="text/javascript">
  90.    <!--
  91.        $().ready(function() {
  92.            $("#frmlogin").validate();
  93.            $("#usuario").focus();
  94.        });
  95.    // -->
  96.    </script>
  97.  
  98.  
  99.  
  100. </head>
  101. <body>
  102. <header>
  103.  
  104. <!<Cerrrar conexion a la BDlink rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
  105. <!<Cerrrar conexion a la BDlink rel="icon" href="/favicon.ico" type="image/x-icon">
  106.  
  107. <h1>
  108. <a href="index.php" >
  109. <img class="fade" alt="bla bla" src="img/bextlan-logo.jpg" />
  110. </a>
  111.  
  112. </h1>
  113.  
  114.  
  115.  
  116.  
  117. <nav>
  118.  
  119.  
  120.  
  121. <h2>  <td  width="15px" align="center">
  122.        <!-- Proporcionar Link para cerrar sesion -->
  123.        <a href="cerrarSesion.php">Cerrar Sesi&oacute;n &nbsp;</a>
  124.    </td>
  125.  
  126. </h2>
  127.  
  128.  
  129.  
  130.  
  131.  
  132. </nav>
  133.  
  134.  
  135.  
  136.  
  137.  
  138. </header>
  139.  
  140.  
  141.  
  142. <section id="contenido2">
  143. <br/>
  144.  
  145.  
  146. <section id="Mercados2">
  147.  
  148.  
  149. <article id="servicio12">
  150.  
  151. <br/>
  152. <h3><tr>                                              <!-- Dar Bienvenida al usuario -->
  153.    <td  width="100px" align="right">Bienvenid@ <b><?php echo $nombreUsuario ?>&nbsp;&nbsp;</b></td>
  154.  
  155. </tr></h3>
  156. <p>
  157. <br/>
  158.  
  159.  
  160. Por favor, registra tu visita indicando todos los campos.
  161.  
  162. <br/>
  163. <br/>
  164.  
  165. <?php
  166.  
  167. ;
  168. ?>
  169.  
  170.  
  171.  
  172.        <script type="text/javascript" src="//code.jquery.com/jquery-2.2.4.min.js"></script>
  173.        <script type="text/javascript" src="js/scripts.js"></script>
  174.  
  175.        <script type="text/javascript">
  176.            $(function () {
  177.  
  178.                function fnAlltotal() {
  179.                        var alojamiento_total    = 0, dietas_total    = 0, otrosgastos_total    = 0,
  180.                            desplazamiento_total = 0;
  181.  
  182.                    $('.amount-aloj').each(function () {
  183.                        alojamiento_total += parseFloat($(this).val() || 0);
  184.                    });
  185.                    $('.amount-desp').each(function () {
  186.                        desplazamiento_total += parseFloat($(this).val() || 0);
  187.                    });
  188. $('.amount-dietas').each(function () {
  189.                        dietas_total += parseFloat($(this).val() || 0);
  190.                    });
  191.                    $('.alojamiento').val(alojamiento_total);
  192.                    $('.desplazamiento').val(desplazamiento_total);
  193. $('.dietas').val(dietas_total);
  194.                    $('.total').val((alojamiento_total + desplazamiento_total+ dietas_total).toFixed(2));
  195.  
  196.                }
  197.  
  198.                $('.unit').on('keyup', function () {
  199.                    var self = $(this),
  200.                        qtyVal = self.prev().val();
  201.  
  202.                    self.next().val(qtyVal * self.val());
  203.                    fnAlltotal();
  204.                });
  205.  
  206.                $('.qty').on('keyup', function () {
  207.                    var self = $(this),
  208.                        unitVal = self.next().val();
  209.  
  210.                    self.next().next().val(unitVal * self.val());
  211.                    fnAlltotal();
  212.                });
  213.  
  214.            });
  215.        </script>
  216. <script language="javascript" type="text/javascript">
  217.  function cambia(){
  218.  document.forms[1].elements[0].value='?me vas a pinchar?'
  219. }
  220.  
  221. function descambia(){
  222.  document.forms[1].elements[0].value='pinchame'
  223. }
  224.  
  225.  
  226.  
  227. function gracias(){
  228.  alert('!Gracias por pincharme!')
  229.  
  230.  
  231. }
  232.  </script>
  233.  
  234.  
  235.  
  236.  
  237.  
  238.    </head>
  239.  
  240.    <body>
  241.  
  242.  
  243.        <main>
  244.  
  245.            <div id="invoice">
  246.  
  247.                  <div class="alojamiento-box"> <form name="formulario" method="post" action="formulario1806.php">
  248.                <h3>GASTOS REALIZADOS POR</h3>
  249.                <p>&nbsp;</p>
  250.  <h3>DESPLAZAMIENTO</h3>
  251.                <div class="alojamiento-box">
  252.                    <div>Km.:
  253.                        <input type="text" class="qty" name="cantidadkm" />
  254.                        Unit price:
  255.                        <input type="text" class="unit" value="0.19"  readonly/>Cantidad:
  256.                        <input type="text" class="amount-aloj" readonly />
  257.                  </div>
  258.                    <div>Km.:
  259.                        <input type="text" class="qty"  />
  260.                        Unit price:
  261.                        <input type="text" class="unit" value="0.19" readonly/>Cantidad:
  262.                        <input type="text" class="amount-aloj" readonly />
  263.                  </div>
  264.                  <div class="alojamiento-box">
  265.                    <div>Km.:
  266.                        <input type="text" class="qty"  />
  267.                        Unit price:
  268.                        <input type="text" class="unit" value="0.19" readonly/>Cantidad:
  269.                        <input type="text" class="amount-aloj" readonly />
  270.                  </div>
  271.                    <div>Transporte p&uacute;blico:
  272.                        <input type="text" class="qty" value="1" />Gasto realizado:
  273.                        <input type="text" class="unit" />Cantidad:
  274.                        <input type="text" class="amount-aloj" readonly />
  275.                    </div>
  276.                    <div>Transporte Metropolitano:
  277.                        <input type="text" class="qty" />Gasto Realizado:
  278.                        <input type="text" class="unit" />Cantidad:
  279.                        <input type="text" class="amount-aloj" readonly />
  280.                    </div>Subtotal:
  281.                    <input type="text" class="alojamiento" readonly />
  282.              </div>
  283.  
  284.   <h3>DIETAS</h3>
  285.                <p>&nbsp;</p>
  286.  
  287.                <div class="alojamiento-box">
  288.                    <div>Km.:
  289.                        <input type="text" class="qty"  />
  290.                        Unit price:
  291.                        <input type="text" class="unit" value="0.19" readonly/>Cantidad:
  292.                        <input type="text" class="amount-dietas" readonly />
  293.                  </div>
  294.                    <div>Transporte p&uacute;blico:
  295.                        <input type="text" class="qty" value="1" />Gasto realizado:
  296.                        <input type="text" class="unit" />Cantidad:
  297.                        <input type="text" class="amount-dietas" readonly />
  298.                    </div>
  299.                    <div>Transporte Metropolitano:
  300.                        <input type="text" class="qty" />Gasto Realizado:
  301.                        <input type="text" class="unit" />Cantidad:
  302.                        <input type="text" class="amount-dietas" readonly />
  303.                    </div>Subtotal:
  304.                    <input type="text" class="dietas" readonly />
  305.              </div>
  306.  
  307.              <br>
  308.              <br>
  309.  
  310. DIETAS
  311.  
  312.   <br>
  313.   <br>
  314.  
  315.                <div class="desplazamiento-box">
  316.                    <div>Quantity:
  317.                        <input type="text" class="qty" />Desayunos:
  318.                        <input type="text" class="unit /">Cantidad:
  319.                        <input type="text" class="amount-desp" readonly />
  320.                    </div>
  321.                    <div>Quantity:
  322.                        <input type="text" class="qty" />Gasto realizado:
  323.                        <input type="text" class="unit" />Cantidad:
  324.                        <input type="text" class="amount-desp" readonly />
  325.                    </div>
  326.                    <div>Cantidad:
  327.                        <input type="text" class="qty" />Gasto en Desayunos:
  328.                        <input type="text" class="unit /">Cantidad:
  329.                        <input type="text" class="amount-desp" readonly />
  330.                    </div>
  331.                    <div>Quantity:
  332.                        <input type="text" class="qty" />Gasto realizado:
  333.                        <input type="text" class="unit" />Cantidad:
  334.                        <input type="text" class="amount-desp" readonly />
  335.                         <div>Quantity:
  336.                        <input type="text" class="qty" />Gasto realizado:
  337.                        <input type="text" class="unit" />Cantidad:
  338.                        <input type="text" class="amount-desp" readonly />
  339.                    </div>Subtotal:
  340.                    <input type="text" class="desplazamiento" readonly />
  341.                </div><br />
  342.  
  343.  
  344.  
  345.   <br>
  346.   <br>
  347.  
  348.  
  349.  
  350.  
  351.  
  352.                Total: <input type="text" class="total" readonly />
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.          </div>
  360.          </form>
  361.  
  362.          <center>
  363. <form name="form1">
  364. <input type="button" name="boton"  value="pinchame" onMouseOver="cambia();" onMouseOut="descambia();" onClick="gracias();"></center>
  365. </form>
  366.  
  367.        </main>
  368.  
  369.        <footer>
  370.  
  371.        </footer>
  372.  
  373.    </body>
  374.  
  375. </html>
  376.  
  377.  
  378.  

Este código no es para nada con ánimo de lucro, es para una asociación sin ánimo de lucro, intento aprender para ayudar a su vez. Por eso os pido ayuda.

La historia es que me gustaría enviar a una tabla "controlgastos" tres campos un id_registro con valor NULL, un usuario que sería $_SESSION['uid'] y name="cantidadkm" (luego ya añadiria otros campos con sus names)

En lo que leo de vuestros links la función gracias() del onclick debería "leer" cargar un archivo carga.php (que sería donde pondría el código mysqli)

Este paso cuando el usuario le da al botón es el que por mucho que leo, no veo como hacerlo.

Sé que me direis pobrecito, aun tiene animo, yo también me lo digo. Se que son preguntas chorras y las hago por desconocimiento. A ver si podéis ayudarme.

Muchas Gracias por adelantado.
En línea

bgnumis

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: PHP ON CLICK
« Respuesta #5 en: 19 Junio 2016, 19:23 pm »


Hola,

Dandole muchas vueltas he conseguido poniendo esto:
Código
  1.  
  2. function gracias(){
  3.  alert('!Gracias por pincharme!')
  4.  $.ajax({
  5.  
  6.   type: "POST",
  7.  url: "gastos.php",
  8.  
  9. });
  10.  
  11. }
  12.  

Que se ejecute gasto.php que sólo me insera el campo id_control (porque es null) y lo autoincrmenta phpmyadmin. La historia es que desde el archivo donde está la función gracias() no sé como hacer que viajen por post para que los lea "gastos.php" las variables:

id_usuario que debiera ser $_SESSION['uid'] y "cantidadkm" que debiera ser el valor introducido en el primer ítem del formulario que se llama así con name.

A ver si me podéis ayudar porfa.


La función gastos.php es esta:


Código
  1.  
  2. <?php
  3.  
  4. include("conexion.php");
  5.  
  6.  
  7.  
  8. if ( ! ($_SESSION['autenticado'] == 'SI' && isset($_SESSION['uid'])) )
  9. {
  10. $cantidadkm=$_POST[cantidadkm];
  11.  
  12. $host="localhost";
  13. $db="uytdeft";
  14. $user="ouser";
  15. $pw="@dudsdfsfeffs";
  16.  
  17. $con=mysql_connect($host,$user,$pw) or die ("problemas al conectar");
  18. mysql_select_db($db,$con) or die ("problemas al conectar la bd");
  19.  
  20. mysql_query("INSERT INTO `ugtdef`.`controlgastos` (`id_control`, `id_usuario`, `cantidadkm`) VALUES (NULL, '$_POST[id_usuario]', `cantidadkm`='$cantidadkm')",$con);
  21.  
  22.  
  23.  
  24.  
  25.  
  26. }
  27.  
  28.  
  29. ?>
  30.  
  31.  
  32.  
En línea

bgnumis

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: PHP ON CLICK
« Respuesta #6 en: 19 Junio 2016, 21:54 pm »

Porfa,

Una ayuda. Jjejej. Os mendigo ayuda. Que no lo consigo.

Muchas Gracias por adelantado. Es que no sé como hacer el post para que cuando le de al botón que ejecuta gracias() que ejecuta gasto.php sepa leer cantidadkm y id_usuario.
En línea

gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: PHP ON CLICK
« Respuesta #7 en: 20 Junio 2016, 07:26 am »

Si es muy sencillo, no viste el ejemplo que puse?

La función post de jquery acepta las variables como parametros para enviarlas junto a la petición post:

Código
  1. $.post( "test.php", { name: "John", time: "2pm" } );

En este ejemplo (que lo puedes encontrar en la página de jQuery), name y time son los index con los que tendrás que cogerlos en php:

Código
  1. $name = $_POST['name']; // "John"
  2. $time = $_POST['time']; // "2pm"
En línea

bgnumis

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: PHP ON CLICK
« Respuesta #8 en: 20 Junio 2016, 10:16 am »

Mil gracias Gab, sí, eso lo veo, lo entiendo, pero ahora modificaciones no sé donde me equivoco a ver si puedes ver donde. Resulta que el archivo formulario1806.php ejecuta bien (veo que si en el formulario en el campo (el único que he definido) "cantidadkm" pongo 2 en el footer me muestra dos.

La cuestiójn es que ahora parece que la función onclick gracias() no está funcionando porque ya no me inserta nada en la base de datos ¿llamo mal las variables post para que me lean en gastos.php?

Estos son mis dos códigos:


formulario1806.php:


Código
  1.  
  2.  
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4.  
  5.  
  6. <?php
  7.  
  8.  
  9. //Inicializar una sesion de PHP
  10.  
  11. //Validar que el usuario este logueado y exista un UID
  12. if ( ! ($_SESSION['autenticado'] == 'SI' && isset($_SESSION['uid'])) )
  13. {
  14.    //En caso de que el usuario no este autenticado, crear un formulario y redireccionar a la
  15.    //pantalla de login, enviando un codigo de error        <form name="formulario" method="post" action="index.php">
  16. ?>
  17.        <form name="formulario" method="post" action="index.php">
  18.            <input type="hidden" name="msg_error" value="2">
  19.        </form>
  20.        <script type="text/javascript">
  21.            document.formulario.submit();
  22.        </script>
  23.  
  24. <?php
  25. }
  26.  
  27.    //Conectar BD
  28.    include("conectar_bd.php");  
  29.    conectar_bd();
  30.  
  31.    //Sacar datos del usuario que ha iniciado sesion"Propietario/a de ".$fila['Direccion']." ".$fila['PuertaLocalGaraje']
  32.    $sql = "SELECT   tx_nombre,tx_apellidoPaterno,tx_TipoUsuario,id_usuario, tx_password
  33.            FROM tbl_users
  34.            LEFT JOIN ctg_tiposusuario
  35.            ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
  36.            WHERE id_usuario = '".$_SESSION['uid']."'";        
  37.    $result     =mysql_query($sql);
  38.  
  39.    $nombreUsuario = "";
  40.  
  41. $cif = "";
  42.  
  43.  
  44.    //Formar el nombre completo del usuario
  45.    if( $fila = mysql_fetch_array($result) )
  46.        $nombreUsuario = "".$fila['tx_nombre'];
  47.        $cif = "".$fila['CIF'];
  48.  
  49.  
  50. //Cerrrar conexion a la BD  <form action="insertarvisitas.php" method="POST" name="form">echo '<td>'.'<a href="principal.php?id='.$muestra['ofi'].'">'.'<strong>Ir a Registrar</strong>'.'</a>'.'</td>';
  51. mysql_close($conexio);
  52.  
  53. ?>
  54.  
  55.  
  56. <html lang="es">
  57. <!doctype HTML>
  58. <head>
  59.  
  60.  
  61. <title> Prueba
  62. </title>
  63. <meta charset="utf-8"/>
  64.  
  65. <meta name="viewport" content="width=devide-width,initial-scale=1"/>
  66. <link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/>
  67. <link rel="stylesheet"  href="css/estilos.css" />
  68.  
  69.  
  70. <!--[if lt IE 9]>
  71. <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  72. <![endif]>-->
  73.  
  74. <link rel="stylesheet" href="flexslider.css"  media="screen" />
  75. <script src="jquery.min.js"></script>
  76. <script src="jquery.flexslider-min.js"></script>
  77. <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
  78.  
  79. <!-- Includes for this demo -->
  80. <link rel="stylesheet" href="css/flexslider.css" media="screen" />
  81.  
  82. <!-- Hook up the FlexSlider -->
  83. <script>
  84. $(window).load(function() {
  85. $('.flexslider').flexslider();
  86. });
  87. </script>
  88.  
  89.  
  90.  
  91.    <script type="text/javascript">
  92.    <!--
  93.        $().ready(function() {
  94.            $("#frmlogin").validate();
  95.            $("#usuario").focus();
  96.        });
  97.    // -->
  98.    </script>
  99.  
  100.  
  101.  
  102. </head>
  103. <body>
  104. <header>
  105.  
  106. <!<Cerrrar conexion a la BDlink rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
  107. <!<Cerrrar conexion a la BDlink rel="icon" href="/favicon.ico" type="image/x-icon">
  108.  
  109. <h1>
  110. <a href="index.php" >
  111. <img class="fade" alt="bla bla" src="img/bextlan-logo.jpg" />
  112. </a>
  113.  
  114. </h1>
  115.  
  116.  
  117.  
  118.  
  119. <nav>
  120.  
  121.  
  122.  
  123. <h2>  <td  width="15px" align="center">
  124.        <!-- Proporcionar Link para cerrar sesion -->
  125.        <a href="cerrarSesion.php">Cerrar Sesi&oacute;n &nbsp;</a>
  126.    </td>
  127.  
  128. </h2>
  129.  
  130.  
  131.  
  132.  
  133.  
  134. </nav>
  135.  
  136.  
  137.  
  138.  
  139.  
  140. </header>
  141.  
  142.  
  143.  
  144. <section id="contenido2">
  145. <br/>
  146.  
  147.  
  148. <section id="Mercados2">
  149.  
  150.  
  151. <article id="servicio12">
  152.  
  153. <br/>
  154. <h3><tr>                                              <!-- Dar Bienvenida al usuario -->
  155.    <td  width="100px" align="right">Bienvenid@ <b><?php echo $nombreUsuario ?>&nbsp;&nbsp;</b></td>
  156.  
  157. </tr></h3>
  158. <p>
  159. <br/>
  160.  
  161.  
  162. Por favor, registra tu visita indicando todos los campos.
  163.  
  164. <br/>
  165. <br/>
  166.  
  167. <?php
  168.  
  169. ;
  170. ?>
  171.  
  172.  
  173.  
  174.        <script type="text/javascript" src="//code.jquery.com/jquery-2.2.4.min.js"></script>
  175.        <script type="text/javascript" src="js/scripts.js"></script>
  176.  
  177.        <script type="text/javascript">
  178.            $(function () {
  179.  
  180.                function fnAlltotal() {
  181.                        var alojamiento_total    = 0, dietas_total    = 0, otrosgastos_total    = 0,
  182.                            desplazamiento_total = 0;
  183.  
  184.                    $('.amount-aloj').each(function () {
  185.                        alojamiento_total += parseFloat($(this).val() || 0);
  186.                    });
  187.                    $('.amount-desp').each(function () {
  188.                        desplazamiento_total += parseFloat($(this).val() || 0);
  189.                    });
  190. $('.amount-dietas').each(function () {
  191.                        dietas_total += parseFloat($(this).val() || 0);
  192.                    });
  193.                    $('.alojamiento').val(alojamiento_total);
  194.                    $('.desplazamiento').val(desplazamiento_total);
  195. $('.dietas').val(dietas_total);
  196.                    $('.total').val((alojamiento_total + desplazamiento_total+ dietas_total).toFixed(2));
  197.  
  198.                }
  199.  
  200.                $('.unit').on('keyup', function () {
  201.                    var self = $(this),
  202.                        qtyVal = self.prev().val();
  203.  
  204.                    self.next().val(qtyVal * self.val());
  205.                    fnAlltotal();
  206.                });
  207.  
  208.                $('.qty').on('keyup', function () {
  209.                    var self = $(this),
  210.                        unitVal = self.next().val();
  211.  
  212.                    self.next().next().val(unitVal * self.val());
  213.                    fnAlltotal();
  214.                });
  215.  
  216.            });
  217.  
  218.  
  219.        </script>
  220. <script language="javascript" type="text/javascript">
  221.  function cambia(){
  222.  document.forms[0].elements[43].value='?me vas a pinchar?'
  223. }
  224.  
  225. function descambia(){
  226.  document.forms[0].elements[43].value='pinchame'
  227. }
  228.  
  229. function gracias(){
  230.  alert('!Gracias por pincharme!')
  231.   var parametros = { cantidadkm : "$_POST[cantidadkm]" };
  232.  
  233. $.post( "gastos.php", parametros  );
  234. };
  235.  </script>
  236.  
  237.  
  238.  
  239.  
  240.  
  241.    </head>
  242.  
  243.    <body>
  244.  
  245.  
  246.        <main>
  247.  
  248.            <div id="invoice">
  249.  
  250.                  <div class="alojamiento-box">
  251.                  <form name="formulario" method="post" action="formulario1806.php">
  252.                <h3>GASTOS REALIZADOS POR</h3>
  253.                <p>&nbsp;</p>
  254.  <h3>DESPLAZAMIENTO</h3>
  255.                <div class="alojamiento-box">
  256.                    <div>Km.:
  257.                        <input type="text" class="qty" name="cantidadkm" />
  258.                        Unit price:
  259.                        <input type="text" class="unit" value="0.19"  readonly/>Cantidad:
  260.                        <input type="text" class="amount-aloj" readonly />
  261.                  </div>
  262.                    <div>Km.:
  263.                        <input type="text" class="qty"  />
  264.                        Unit price:
  265.                        <input type="text" class="unit" value="0.19" readonly/>Cantidad:
  266.                        <input type="text" class="amount-aloj" readonly />
  267.                  </div>
  268.                  <div class="alojamiento-box">
  269.                    <div>Km.:
  270.                        <input type="text" class="qty"  />
  271.                        Unit price:
  272.                        <input type="text" class="unit" value="0.19" readonly/>Cantidad:
  273.                        <input type="text" class="amount-aloj" readonly />
  274.                  </div>
  275.                    <div>Transporte p&uacute;blico:
  276.                        <input type="text" class="qty"  />Gasto realizado:
  277.                        <input type="text" class="unit" />Cantidad:
  278.                        <input type="text" class="amount-aloj" readonly />
  279.                    </div>
  280.                    <div>Transporte Metropolitano:
  281.                        <input type="text" class="qty" />Gasto Realizado:
  282.                        <input type="text" class="unit" />Cantidad:
  283.                        <input type="text" class="amount-aloj" readonly />
  284.                    </div>Subtotal:
  285.                    <input type="text" class="alojamiento" readonly />
  286.              </div>
  287.  
  288.   <h3>DIETAS</h3>
  289.                <p>&nbsp;</p>
  290.  
  291.                <div class="alojamiento-box">
  292.                    <div>Km.:
  293.                        <input type="text" class="qty"  />
  294.                        Unit price:
  295.                        <input type="text" class="unit" value="0.19" readonly/>Cantidad:
  296.                        <input type="text" class="amount-dietas" readonly />
  297.                  </div>
  298.                    <div>Transporte p&uacute;blico:
  299.                        <input type="text" class="qty"  />Gasto realizado:
  300.                        <input type="text" class="unit" />Cantidad:
  301.                        <input type="text" class="amount-dietas" readonly />
  302.                    </div>
  303.                    <div>Transporte Metropolitano:
  304.                        <input type="text" class="qty" />Gasto Realizado:
  305.                        <input type="text" class="unit" />Cantidad:
  306.                        <input type="text" class="amount-dietas" readonly />
  307.                    </div>Subtotal:
  308.                    <input type="text" class="dietas" readonly />
  309.              </div>
  310.  
  311.              <br>
  312.              <br>
  313.  
  314. DIETAS
  315.  
  316.   <br>
  317.   <br>
  318.  
  319.                <div class="desplazamiento-box">
  320.                    <div>Quantity:
  321.                        <input type="text" class="qty" />Desayunos:
  322.                        <input type="text" class="unit /">Cantidad:
  323.                        <input type="text" class="amount-desp" readonly />
  324.                    </div>
  325.                    <div>Quantity:
  326.                        <input type="text" class="qty" />Gasto realizado:
  327.                        <input type="text" class="unit" />Cantidad:
  328.                        <input type="text" class="amount-desp" readonly />
  329.                    </div>
  330.                    <div>Cantidad:
  331.                        <input type="text" class="qty" />Gasto en Desayunos:
  332.                        <input type="text" class="unit /">Cantidad:
  333.                        <input type="text" class="amount-desp" readonly />
  334.                    </div>
  335.                    <div>Quantity:
  336.                        <input type="text" class="qty" />Gasto realizado:
  337.                        <input type="text" class="unit" />Cantidad:
  338.                        <input type="text" class="amount-desp" readonly />
  339.                         <div>Quantity:
  340.                        <input type="text" class="qty" />Gasto realizado:
  341.                        <input type="text" class="unit" />Cantidad:
  342.                        <input type="text" class="amount-desp" readonly />
  343.                    </div>Subtotal:
  344.                    <input type="text" class="desplazamiento" readonly />
  345.                </div><br />
  346.  
  347.  
  348.  
  349.   <br>
  350.   <br>
  351.  
  352.  
  353.  
  354.  
  355.  
  356.                Total: <input type="text" class="total" readonly />
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.          <center>
  373.  
  374. <input type="submit" name="boton"  value="pinchame" onMouseOver="cambia();" onMouseOut="descambia();" onClick="gracias();"></center>
  375.  
  376.       </div>
  377. </form>
  378.  
  379.        </main>
  380.  
  381.        <footer>
  382.      <?php echo $_POST[cantidadkm] ?>
  383.        </footer>
  384.  
  385.    </body>
  386.  
  387. </html>
  388.  
  389.  
  390.  


Y el de gastos.php


<?php

include("conexion.php");



if ( ! ( isset($_POST['cantidadkm'])) )
{


$host="localhost";
$db="ddddf";
$user="osftyh";
$pw="@dsdgg19d@";
$cantidadkm=$_POST['cantidadkm'];
$con=mysql_connect($host,$user,$pw) or die ("problemas al conectar");
mysql_select_db($db,$con) or die ("problemas al conectar la bd");

mysql_query("INSERT INTO `ugtdef`.`controlgastos` (`id_control`, `id_usuario`, `cantidadkm`) VALUES (NULL, '', `cantidadkm`='$cantidadkm')",$con);





}

 
?>


¿Por qué no me ejecuta gastos.php? ¿Y no me lee la variable cantidadkm?

Ay, gracias por adelantado.
En línea

gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: PHP ON CLICK
« Respuesta #9 en: 20 Junio 2016, 14:28 pm »

¿Tienes todo ese tochaco de código asi de mal ordenado en un solo archivo? Me duelen los ojos solo de mirarlo por encima. Ordenalo por partes en distintos archivos y dale un estilo adecuado para que sea más facil leerlo y encontrar fallos.

Así por encima veo unos cuantos:

Primero, el atributo language de la etiqueta <script> ya no se usa, quitalo para que no moleste y no de problemas. Tampoco es necesario especificar type="text/javascript" ya que es por defecto.

Segundo, no deberías mover el objeto del parametro de jquery post y la variable php no sé está imprimiendo correctamente (Aquí tienes el fallo):

Código
  1. $.post( "gastos.php", { cantidadkm : "<?= $_POST['cantidadkm'] ?>" } );

En todo caso podrias crear una variable con el valor que imprime php, pero el objeto es mejor dejarlo donde esta:

Código
  1. var cantidadkm = "<?= $_POST['cantidadkm'] ?>";
  2.  
  3. $.post( "gastos.php", { cantidadkm : cantidadkm } );

Si tu versión de PHP es menor a 5.4.0, tendrás que activar short_open_tag o usar los tags completos: <?php echo $variable; ?>

Mejor usa el evento click o on click de jquery (en lugar de una función):

Código
  1. $('.boton').click(function () {
  2.    // código aquí
  3. });

La siguiente manera no falla nunca:

Código
  1. $('.boton').on('click', function () {
  2.    // código aquí
  3. });

En serio, la estructura de tu archivo da pena, no solo que uses mil veces la misma etiqueta una detrás de otra, es que tienes repetidas etiquetas como head body, etc que són únicas. Y por cierto, <!DOCTYPE html> tiene que ir arriba de cualquier código html:

Código
  1. <!DOCTYPE html>
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Duda] Cual es el Valor de de Mause right click down y Mause right click up
Programación Visual Basic
agus0 2 2,754 Último mensaje 15 Julio 2009, 20:48 pm
por agus0
Evitar doble click con click simple. (Fallo mecánico) « 1 2 »
Software
Saberuneko 12 2,907 Último mensaje 2 Septiembre 2014, 19:21 pm
por elezekiel
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines