Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: bgnumis en 14 Junio 2017, 19:17 pm



Título: Envio de variable post
Publicado por: bgnumis en 14 Junio 2017, 19:17 pm
Hola,

estoy intentando que en un formulario como el código que expongo me aparezca la variable "cantidadkm" que envio a través de POST a gastos.php pero sí que envia la variable
Código
  1. $.post( "gastos.php", { cantidadkm: "$_POST[cantidadkm]", id_usuario: "2pm" } );

id_usuario pero no la de cantidadkm.

He puesto el script de javascript en diferentes órdenes pero no lo consigo.

¿Podéis alguno que controle orientarme dónde está el fallo o cómo enviar las variables del formulario?

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



Título: Re: Envio de variable post
Publicado por: engel lex en 14 Junio 2017, 19:20 pm
el javascript no tiene acceso a php... si quieres que el jscript tenga ese valor tendrías que hacer

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


Título: Re: Envio de variable post
Publicado por: bgnumis en 14 Junio 2017, 23:10 pm
Muchísimas Gracias.

He añadido el echo pero no sé por qué me "viaja" el valor 1? El "formulario" me calcula bien los cálculos pero nada no hay manera que viaje a gastos lo que escribo sin embargo el id_usuario sí viaja bien.


Título: Re: Envio de variable post
Publicado por: engel lex en 15 Junio 2017, 00:41 am
creo que no entiendo lo que quieres


Título: Re: Envio de variable post
Publicado por: bgnumis en 15 Junio 2017, 16:55 pm
Sí si que lo entiendes.

Yo quiero que el valor del campo cantidadkm (que es un campo del formulario que pone el usuario de la web) "viaje" por post a gastos.php (que se encarga de recibirlo e insertarlo en la base de datos.

Lo que no sé es por qué cantidadkm me viaja siempre el valor "1" cuando pongo otros valores "20", "30" etc (en el formulario).

Debo de tener algo mal en el código javascript o en el propio forumulario (estoy alterando los ordenes de los códigos etc pero tampoco es eso).