Foros del Web » Programando para Internet » PHP »

Volver a enviar datos que ya han sido enviados

Estas en el tema de Volver a enviar datos que ya han sido enviados en el foro de PHP en Foros del Web. Hola a todos! A ver si me consigo explicar... he hecho un formulario donde con los datos introducidos se hace una operación matemática y se ...
  #1 (permalink)  
Antiguo 05/02/2010, 10:26
 
Fecha de Ingreso: mayo-2009
Ubicación: Fuerteventura
Mensajes: 324
Antigüedad: 14 años, 11 meses
Puntos: 19
Pregunta Volver a enviar datos que ya han sido enviados

Hola a todos!

A ver si me consigo explicar... he hecho un formulario donde con los datos introducidos se hace una operación matemática y se muestra el resultado en la misma página, y los campos no pierden los valores introducidos. ¿Es posible que esos datos que ya han sido enviados por POST se puedan enviar de nuevo para, a su vez, enviarlos por mail?

He conseguido con else cambiar el botón enviar cuando se han enviado los datos, ¿es posible enviar los datos que todavía están en los inputs mediante este botón hacienco caso omiso al action del formulario?

Disculpadme si estoy diciendo o hacien alguna burrada, estoy aprendiendo php y estoy bastante verde ;)

Salud!
  #2 (permalink)  
Antiguo 05/02/2010, 10:29
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Volver a enviar datos que ya han sido enviados

Con javascript. se puede cambiar el action del formulario..
O, por que no cambias el action de la misma manera que cambias el boton Enviar?
  #3 (permalink)  
Antiguo 05/02/2010, 10:29
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Volver a enviar datos que ya han sido enviados

Muy confusa tu duda, primero preguntas de enviar un mail tras enviar el formulario, luego dices de enviar los datos (a donde? al mail?) sin enviar el formulario...
  #4 (permalink)  
Antiguo 05/02/2010, 11:04
 
Fecha de Ingreso: mayo-2009
Ubicación: Fuerteventura
Mensajes: 324
Antigüedad: 14 años, 11 meses
Puntos: 19
Respuesta: Volver a enviar datos que ya han sido enviados

Cita:
Iniciado por darkasecas Ver Mensaje
Con javascript. se puede cambiar el action del formulario..
O, por que no cambias el action de la misma manera que cambias el boton Enviar?
Gracias por responder darkasecas, el botón lo cambio comprobando que $_POST está vacío, si lo está aparece el primer botón, y si no el botón con el que quiero enviar los datos de los inputs por correo. El problema que veo a esto es que al enviar los datos por mail con el segundo botón que aparece la opción del cálculo quedaría inutilizada.

Cita:
Iniciado por Vun Ver Mensaje
Muy confusa tu duda, primero preguntas de enviar un mail tras enviar el formulario, luego dices de enviar los datos (a donde? al mail?) sin enviar el formulario...
Te explico... y mas abajo pongo el código del experimento para que lo veáis, en principio los datos introducidos en los inputs se envían con $_POST para hacer el cálculo y luego quiero que esos mismos datos se puedan enviar por mail si el usuario quiere.

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  2. "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  3.  
  4. <html>
  5.     <head>
  6.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7.  
  8.         <title>Contador de palabras</title>
  9.         <style type="text/css">
  10.             <!--
  11.             body {
  12.                 background-color: #1c1a2f;
  13.                 font: 80% Geneva, Arial, Helvetica, sans-serif;
  14.                 color: #fff;
  15.             }
  16.            
  17.             #container {
  18.                 width: 800px;
  19.                 margin:0 auto;
  20.             }
  21.            
  22.             h1 {
  23.                 font-size: 3em;
  24.                 margin: 1em 0;
  25.             }
  26.            
  27.             a {
  28.                 color: #f90;
  29.                 font-size: 1.4em;
  30.             }
  31.            
  32.             fieldset {
  33.                 margin: 1em 0;
  34.             }
  35.            
  36.             #nombre label, #email label, #mensaje label {
  37.                 display: block;
  38.                 margin-top: 8px;
  39.             }
  40.             -->
  41.         </style>
  42.     </head>
  43.  
  44.     <body>
  45.         <div id="container">
  46.         <h1>Contador de palabras</h1>
  47.        
  48.         <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" accept-charset="utf-8">
  49.             <fieldset id="tipo">
  50.                 <legend>1. Tipo de traducci&oacute;n<span class=
  51.                 "required">*</span></legend>
  52.  
  53.                 <p><input name="traduccion" type="radio" class=
  54.                 "radio" value="general" <?php
  55.                 if (isset($_POST['traduccion']) && $_POST['traduccion'] == 'general') {
  56.                     echo "checked='checked'";
  57.                 }
  58.                 ?> /> Traducci&oacute;n
  59.                 General</p>
  60.  
  61.                 <p><input name="traduccion" type="radio" class=
  62.                 "radio" value="tecnica" <?php
  63.                 if (isset($_POST['traduccion']) && $_POST['traduccion'] == 'tecnica') {
  64.                     echo "checked='checked'";
  65.                 }
  66.                 ?>
  67.                 /> Traducci&oacute;n
  68.                 T&eacute;cnica</p>
  69.             </fieldset>
  70.  
  71.             <fieldset id="idiomas">
  72.                 <legend>2. Idiomas<span class=
  73.                 "required">*</span></legend>
  74.  
  75.                 <p><label for="idioma">Idiomas de Salida:<span
  76.                 class="required">*</span></label> <select id=
  77.                 "salida" name="salida">
  78.                     <option value="0">
  79.                         Elige Idioma...
  80.                     </option>
  81.  
  82.                     <option value="en" <?php if($_POST['salida']== 'en'){ echo " selected"; } ?>>
  83.                         Ingl&eacute;s
  84.                     </option>
  85.  
  86.                     <option value="es" <?php if($_POST['salida']== 'es'){ echo " selected"; } ?>>
  87.                         Espa&ntilde;ol
  88.                     </option>
  89.  
  90.                     <option value="fr" <?php if($_POST['salida']== 'fr'){ echo " selected"; } ?>>
  91.                         Franc&eacute;s
  92.                     </option>
  93.                 </select></p>
  94.  
  95.                 <p><label for="idioma">Idiomas de Llegada:<span
  96.                 class="required">*</span></label> <select id=
  97.                 "llegada" name="llegada">
  98.                     <option value="0">
  99.                         Elige Idioma...
  100.                     </option>
  101.  
  102.                     <option value="en" <?php if($_POST['llegada']== 'en'){ echo " selected"; } ?>>
  103.                         Ingl&eacute;s
  104.                    
  105.  
  106.                     <option value="es" <?php if($_POST['llegada']== 'es'){ echo " selected"; } ?>>
  107.                         Espa&ntilde;ol
  108.                    
  109.  
  110.                     <option value="fr" <?php if($_POST['llegada']== 'fr'){ echo " selected"; } ?>>
  111.                         Franc&eacute;s
  112.                    
  113.                 </select></p>
  114.             </fieldset>
  115.  
  116.             <fieldset id="palabras">
  117.                 <legend>3. N&uacute;mero de Palabras<span class=
  118.                 "required">*</span></legend>
  119.  
  120.                 <p><label for="palabras">N&uacute;mero de
  121.                 palabras:<span class="required">*</span></label>
  122.                 <?php
  123.                 echo "<input type='text' name='palabras' id='palabras' value='".$_POST["palabras"]."' />";
  124.                 ?>
  125.                 </p>
  126.             </fieldset>
  127.             <?php
  128.             if ( empty($_POST)) {
  129.             ?>
  130.             <p><input type="submit" value="calcular presupuesto" /></p>
  131.             <?php
  132.             } else {
  133.             ?>
  134.             <?php
  135.             $gen = 0.05;
  136.             $tec = 0.07;
  137.             $palabras = $_POST['palabras'];
  138.             $traduccion = $_POST['traduccion'];
  139.            
  140.             if ($traduccion == "general") {
  141.             $total = $gen * $palabras;
  142.             echo "<p>El total del presupuesto asciende a <strong>$total &euro;</strong></p>";
  143.             } else {
  144.                 $total = $tec * $palabras;
  145.             echo "<p>El total del presupuesto asciende a <strong>$total &euro;</strong></p>";
  146.             }
  147.             ?>
  148.             <fieldset>
  149.             <legend>4. Envía tu propuesta<span class=
  150.             "required">*</span></legend>
  151.            
  152.                 <div id="nombre">
  153.                 <label for="nombre">Nombre:</label> <input
  154.                 name="nombre" type="text" />
  155.                 </div>
  156.                
  157.                 <div id="email">
  158.                 <label for="email">Email:</label> <input
  159.                 name="email" type="text" />
  160.                 </div>
  161.                
  162.                 <div id="mensaje">
  163.                 <label for="mensaje">Tu mensaje:</label>
  164.                 <textarea name="mensaje" cols="30" rows=
  165.                 "6"></textarea>
  166.                 </div>
  167.                 <p><input type='submit' value='enviar presupuesto' /></p>
  168.             </fieldset>
  169.             <?php
  170.             }
  171.             ?>
  172.         </form>
  173.         </div>
  174.     </body>
  175. </html>

Salud! y gracias por vuestras respuestas
  #5 (permalink)  
Antiguo 05/02/2010, 11:27
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Volver a enviar datos que ya han sido enviados

Una forma sencilla y sin meterte a javascript ni nada, es que cuando envie el formulario se genere un segundo formulario con campos tipo ocultos con los datos insertados y dicho formulario tenga su action="enviomail.php" donde haces el envio

¿te servira?
  #6 (permalink)  
Antiguo 05/02/2010, 11:29
 
Fecha de Ingreso: mayo-2009
Ubicación: Fuerteventura
Mensajes: 324
Antigüedad: 14 años, 11 meses
Puntos: 19
Respuesta: Volver a enviar datos que ya han sido enviados

Cita:
Iniciado por Vun Ver Mensaje
Una forma sencilla y sin meterte a javascript ni nada, es que cuando envie el formulario se genere un segundo formulario con campos tipo ocultos con los datos insertados y dicho formulario tenga su action="enviomail.php" donde haces el envio

¿te servira?
¡Por supuesto! No se me había ocurrido, muchas gracias por tu ayuda

Salud!
  #7 (permalink)  
Antiguo 05/02/2010, 11:32
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Volver a enviar datos que ya han sido enviados

de nada hombre, tambien podrias hacerlo con variables de sesion, bueno, cualquier cosa escribe aqui, me suscribi al tema asi me avisa si escribes.

Saludos y a liarla en carnavales jaja

Etiquetas: enviados, enviar, volver
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:14.