Ver Mensaje Individual
  #11 (permalink)  
Antiguo 11/04/2013, 09:57
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años
Puntos: 84
Respuesta: atributo action de form ¿no recarga/refresca la página?

Cita:
Iniciado por emprear Ver Mensaje
Bueno, es probable, porque ni siquiera se sabe cual es tu problema


lo que supone que index_conectar.php es el archivo y action="index_conectar.php"



Si el action y el nombre de archivo son coincidentes, al presionar submit, la acción redirige al mismo archivo (no recarga nada, recargar o refrescar es la acción producida por accionar el boton recargar del navegador, F5)



aclarado lo de recargar, obvio, si el action es el mismo archivo, vuelve a mostrar el formulario, ¿que esperabas?, y tu form original, pese a los errores, y dejando a un lado el onClick="validar();, que no se sabe que hace, hace eso.

Si eventualmente hubiese algún error en la validación (alguno de los campos vacíos, por ejemplo), y querés recuperar los valores no vacíos, se hace lo que te indiqué.

Concluyendo, si no se entiende lo que querés hacer, seguramente cualquier código que te propongamos va a resultarte irrelevante
ahh vale, creo que no me expliqué bien.

tengo un documento llamado index_conectar.php y otro documento llamado conectar.php.

ambos documentos son pruebas de la utilización de los objetos con php, es decir php orientado a objetos.

en index_conectar.php ocurren dos actividades (dejo el documento completo más abajo):

1- muestro el contenido de una tabla.

2- muestro un formulario para introducir información en la tabla.

en conectar.php (si quieren dejo el código completo también) guardo las clases y los métodos tanto para conectar, para leer como para insertar datos en la base de datos.

el problema es el siguiente. cuando introduzco un dato nuevo en el formulario el formulario resetea pero no aparece más arriba lo que introduje en el formulario.
yo pienso que cuando se envía un formulario se refresca la página y con ello se muestra arriba lo introducido porque se vuelve a ejecutar el documento.

este es el index_conectar.php en su totalidad (el último form es irrelevante, se puede quitar y seguiría ocurriendo lo mismo)

Código PHP:
Ver original
  1. <?php
  2.    
  3.     include("conectar.php");
  4. ?>
  5.  
  6. <HTML>
  7.     <HEAD>
  8.         <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  9.         <!--<SCRIPT type="text/javascript" language="javascript" src="javascript.js"></SCRIPT>-->
  10.     </HEAD>
  11.     <body onLoad="limpiar();">
  12.         <h2>Listado de comentarios en la tabla libro_de_visitas</h2>
  13.         <?php
  14.             $trabajo= new Trabajo();
  15.             $visitas=$trabajo->get_visitas();
  16.             for($i=0;$i<sizeof($visitas);$i++)
  17.             {
  18.                 echo "por ".$visitas[$i]["nombre"];
  19.                 echo "<br>";
  20.                 echo $visitas[$i]["texto"];
  21.                 echo "<br>";
  22.             }
  23.         ?>
  24.         <hr>
  25.         <?php
  26.         if(isset($_POST['boton']))
  27.         {
  28.         $comentarios=new Trabajo();
  29.         $comentarios->add_visitas($_POST['nombres'],$_POST['textos']);
  30.         }
  31.         ?>
  32.         <h2>formulario para introducir datos en la tabla libro_de_visitas</h2>
  33.         <form name="ingresa_datos" method="post" action="index_conectar.php">
  34.             <table width="400px" align="center">
  35.                 <tr>
  36.                     <td align="center" width="400" valign="top" colspan="2">
  37.                         <p>ingrese su comentario</p>
  38.                     </td>
  39.                 </tr>
  40.                 <tr>
  41.                     <td valign="top" align="left">
  42.                         su nombre
  43.                     </td>
  44.                     <td valign="top" align="left">
  45.                         <input type="text" name="nombres">
  46.                     </td>
  47.                 </tr>
  48.                 <tr>
  49.                     <td valign="top" align="left">
  50.                         su mensaje
  51.                     </td>
  52.                     <td valign="top" align="left">
  53.                         <textarea name="textos" cols="35" rows="5"></textarea>
  54.                     </td>
  55.                 </tr>
  56.                 <tr>
  57.                     <td valign="top" align="center" colspan="2">
  58.                         <input type="submit" name="boton" value="Deje su mensaje" onClick="validar();"></input>
  59.                     </td>
  60.                 </tr>
  61.             </table>
  62.         </form>
  63.         <table>
  64.             <tr>
  65.                 <td colspan="2">
  66.                     <form><input type="text"></input></form>
  67.                 </td>
  68.             </tr>
  69.         </table>
  70.     </body>
  71. </HTML>

gracias emprear por tu paciencia