Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   php y mensaje de javascript (https://www.clubdelphi.com/foros/showthread.php?t=28423)

ctronx 19-12-2005 19:56:05

php y mensaje de javascript
 
saludos, tengo un formulario en la pagina principal.php y tengo en el action="grabar.php" el cual graba sin problemas un registro en mysql,

Como puder hacer para que al presionar el boton me grabe el registro y me salgar una mensaje de "registro grabado" y me deje en la misma pagina del formulario o sea principal.php.

lo estoy intentando con un alert( "registro grabado" ) de Javascript pero no consigo que grabe y me mande este mensaje.

alguien tiene alguna idea ó sugerencia.

de antemano muchas gracias.

roman 19-12-2005 20:13:06

En principio no puedes quedarte en la misma página y hacer el grabado al mismo tiempo. Recuerda que PHP corre en el servidor mientras que JavaScript lo hace en el cliente.

Si bien podrías usar alguna técnica de AJAX (léase HTTPRequest) para tal efecto, bien pudiera bastarte con dirigir el destino del formulario (Action) a sí mismo. Al principio del script compruebas si la llamada viene de un POST ($_SERVER['REQUES_METHOD']). De ser así, sabes que ya se hizo la solicitud de grabado, haces la consulta SQL para hacer el grabado y luego pones el código javascript para el cuadro de infromación. Al cerrarse éste prosigues con el desplegado normal de la página, esto es, presentando nuevamente el formulario.

// Saludos

dec 19-12-2005 20:13:07

Hola,

Más o menos podría hacerse así:


Código PHP:

<script type="text/javascript">

/* Alerta al usuario de que se grabó un registro
   y, acto seguido, carga la página "principal.php"
*/
function RegistroGrabado() {
  alert("Registro grabado!);
  document.location = 'principal.pnp';
}

</script>

<?php

// Preparamos la consulta
$consulta "INSERT INTO tabla (campo1, campo2) VALUES ('valor1', 'valor2);

// Lanzamos la consulta
$resultado = mysql_query($consulta);

if (!
$resultado) // ¿Ocurrió algún error?
  die(mysql_error(); // Lo mostramos y terminamos

/* Si llegamos aquí escribimos en el documento la función
   de JavaScript que nos interesa en este caso
*/
echo "
<script type='text/javascript'>RegistroGrabado();</script>";

?>


ctronx 20-12-2005 02:19:05

voy a probar sus sugerencias a como me resulta.


gracias.


La franja horaria es GMT +2. Ahora son las 06:26:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi