Foros del Web » Programando para Internet » PHP »

No actualiza la pagina al enviar formulario

Estas en el tema de No actualiza la pagina al enviar formulario en el foro de PHP en Foros del Web. Hola mastr@s: Mi problema es No actualiza la pagina al enviar formulario El formulario llama (action) a la misma pagina pero no la actualiza no ...
  #1 (permalink)  
Antiguo 09/02/2005, 14:00
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
No actualiza la pagina al enviar formulario

Hola mastr@s:

Mi problema es No actualiza la pagina al enviar formulario
El formulario llama (action) a la misma pagina pero no la actualiza no se por que??

Lo envia mediante un jpg q hace de boton y entra en la funcion Comprobar() aqui comprueba todos los campos y hasta aqui ok pero cuando en la ultima linea entra (solo cuando todos los campos estan OK)
document.Formulario.submit();

Lo envia ya que me inserta los datos en una base de datos pero no actualiza la pagina. Tendria que aparecer un mensaje diciendo "LOS DATOS SE REGISTRARON OK ..." ya que le mando en un campo oculto una variable y al recibirla muestra este mensaje

y si pongo un bottom submit si que la actualiza y si me muestra el mensaje pero esto no me vale por 2 motivos 1 diseño y 2 por que tengo q llamar antes a la funcion Comprobar()

OJO: No actualiza la pagina pero si inserta los datos en una base de datos ES COMO SI ENVIARA EL FORMULARIO POR DETRAS Y NO LO MOSTRARA EN EL NAVEGADOR

Muchas gracias y un abrazo de un PHPero+
__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #2 (permalink)  
Antiguo 09/02/2005, 14:37
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
... sugeriria mostraras tu código. ... me doy a la idea de que es problema de "leer" la imagen que utilizas para enviar.
if(isset($_POST['name_de_imagen'])) {
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 09/02/2005, 15:08
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
Thanks

Pero el problema es que no actualiza la pagina envia el formulario pero no actualiza la pagina.

Si pongo un boton submit normal si pero con un jpg onclick="comprobar()" manda los campos del formulario a la pag de destino (action) pero no la muestra

un saludo de un PHPero+
kco
__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #4 (permalink)  
Antiguo 09/02/2005, 15:12
 
Fecha de Ingreso: enero-2005
Ubicación: Valparaiso - Chile
Mensajes: 116
Antigüedad: 19 años, 2 meses
Puntos: 0
mira, es que si no pones ninguna instruccion al principio de la pagina que compruebe el submit entonces no te va a actualizar nada.

Lo que tienes que hacer es

....
codigo que actualzia base de datos
....
if (isset($_POST['lo que sea que es el submit']))
{
echo "sus datos han sido guardados";
}
else
{

y aqui pones todo el resto de codigo que te carga el formulario, etc. entonces la primera evz que se cargue la pagina te va a correr este ELSE pq no hay un submit, pero una vez que manden los datos te va a salir el mensaje de arriba o lo que quieras poner.
  #5 (permalink)  
Antiguo 09/02/2005, 16:22
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
Raro Raro Raro Raro ......

Gracias pero asi esta hecho lo que pasa es que al no recargar la pagina no entra otra vez en el if pero si guada los datos en la base de datos (es rarisimo ya he hecho mogollon de pag parecidas y nunca me ha pasado esto). os dejo el codigo para ver si pillais el problema si pongo un boton submit normal envez de un JPG si que la recarga

lo mas curioso es q si guarda los datos en la base de datos pero NO RECARGA LA PAGINA

alta_cliente.php


<?php
session_name("SES");
session_start ();

header( "Expires: Mon, 20 Dec 1998 01:00:00 GMT" );
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
?>
<html>
<head>
<title>AMBARSTOCK.COM</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK href="css/estilo.css" rel=stylesheet>
</head>
<script language="JavaScript">
<!--
function Quitar_Espacios_JS(CUAL){

while (document.getElementById(CUAL).value.charAt(0) == " ")
document.getElementById(CUAL).value = document.getElementById(CUAL).value.substr(1, document.getElementById(CUAL).value.length - 1);

while (document.getElementById(CUAL).value.charAt(docume nt.getElementById(CUAL).value.length - 1) == " ")
document.getElementById(CUAL).value = document.getElementById(CUAL).value.substr(0, document.getElementById(CUAL).value.length - 1);


return document.getElementById(CUAL).value;
}

//-->
function Comprobar(){

if ( ( (document.formulario.Condiciones.checked) != "1" ) )
{
alert("Ha de aceptar las condiciones de uso para darse de alta como cliente");
return;
}


if ( ( (document.formulario.Nombre.value) == "" ) )
{
alert("No ha escrito su Nombre");
return;
}


if ( ( (document.formulario.Apellido.value) == "" ) )
{
alert("No ha escrito su Apellido");
return;
}


if ( ( (document.formulario.E_Mail.value) == "" ) )
{
alert("No ha escrito su E_Mail");
return;
}



if ( ( (document.formulario.Contrasena.value) == "" ) )
{
alert("No ha escrito su Contrasena");
return;
}


if ( ( (document.formulario.Confirmar.value) == "" ) )
{
alert("No ha escrito su Confirmar Contrasena");
return;
}


if ( ( (document.formulario.Confirmar.value) != (document.formulario.Contrasena.value) ) )
{
alert("La contraseña y su confirmacion no coinciden");
return;
}


if ( ( (document.formulario.Direccion.value) == "" ) )
{
alert("No ha escrito su Direccion");
return;
}


if ( ( (document.formulario.Cod_Postal.value) == "" ) )
{
alert("No ha escrito su Cod_Postal");
return;
}


if ( ( (document.formulario.Ciudad.value) == "" ) )
{
alert("No ha escrito su Ciudad");
return;
}


if ( ( (document.formulario.Pais.value) == "0" ) )
{
alert("No ha seleccionado su Pais");
return;
}


if ( ( (document.formulario.Europeo.value) == "0" ) )
{
alert("No ha seleccionado si Pertenece a la Communidad Economica Europea");
return;
}

document.formulario.submit();
}
//-->
</script>
<body topmargin="0" bgcolor="#475364">
<?php

$Host = "localhost";
$User = "";
$Password = "";
$DBName = "ambar";
$TableName_Clientes = "clientes";

$Link = mysql_connect ($Host, $User, $Password);

?>
<?php

if ($Alta_Cliente == 1){

print("<table width=\"500\" border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"4\" class=\"gris\">");
print("<tr><td class=gris>");

//estudio el check de recibir novedades
if ($Novedades == 1){
$Novedades = "SI Recibir";
}else{
$Novedades = "NO Recibir";
}


//estudio el check de Condiciones
if ($Condiciones == 1){
$Condiciones = "SI Acepto Condiciones";
}else{
$Condiciones = "NO Acepto Condiciones";
}

$Fecha_Alta = date("Y-m-d");
$Ultima_Visita = date("Y-m-d H:i:00");
$Num_Visitas = 0;

//GRABO LOS DATOS EN BDD
$Query_Alta = "INSERT INTO $TableName_Clientes
(Apellido, Nombre, E_Mail, Contrasena, Direccion,
Cod_Postal, Ciudad, Pais, Telefono, Fax, Empresa, Novedades,
Fecha_Alta, Ultima_Visita, Num_Visitas, Nom_Empresa, Europeo )
VALUES
('$Apellido', '$Nombre', '$E_Mail', '$Contrasena', '$Direccion',
'$Cod_Postal', '$Ciudad', '$Pais', '$Telefono', '$Fax', '$Empresa', '$Novedades',
'$Fecha_Alta', '$Ultima_Visita', '$Num_Visitas', '$Nom_Empresa', '$Europeo')";
// '$Fecha_Alta', '$Ultima_Visita', '$Num_Visitas')";


print("<br>$Query_Alta<br>");


if (mysql_db_query ($DBName, $Query_Alta, $Link)) {
print ("Las datos se registraron en la base de datos!<BR>");
} else {
print ("ERROR AL CONECTARSE CON LA BASE DE DATOS!! Los datos no se ha podido grabar.<BR>Int&eacute;ntelo de nuevo m&aacute;s tarde.<br>");
}

print("</td></tr></table>");
}else{
?>
__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #6 (permalink)  
Antiguo 09/02/2005, 16:23
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
<form action="alta_cliente.php" method="post" name="formulario" >
<table width="760" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="estilo">
<tr align="center">
<td class="gris"><img src="images/registro/cabecera_reg.gif" width="760" height="62" hspace="0" vspace="0"></td>
</tr>
<tr>
<td align="center">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="estilo">
<tr>
<td><img src="images/registro/datos_perso.jpg" width="180" height="28"></td>
</tr>
<tr align="center">
<td> <table width="560" border="0" cellpadding="0" cellspacing="2" class="VER_10_NEGRO">
<tr>
<td width="20%" align="right"><strong>* </strong>Nombre : </td>
<td width="30%" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Nombre" type="text" class="VER_10_NEGRO" id="Nombre" onBlur="Quitar_Espacios_JS('Nombre')"></td>
<td width="20%" align="right"><strong>* </strong>Contrasena
:</td>
<td width="30%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Contrasena" type="password" class="VER_10_NEGRO" id="Contrasena" onBlur="Quitar_Espacios_JS('Contrasena')"></td>
</tr>
<tr>
<td align="right"><strong>* </strong>Apellido :</td>
<td align="left"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Apellido" type="text" class="VER_10_NEGRO" id="Apellido" onBlur="Quitar_Espacios_JS('Apellido')"></td>
<td align="right"><strong>* </strong>Confirmar&nbsp;&nbsp;&nbsp;&nbsp;<br>
Contrasena :</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Confirmar" type="password" class="VER_10_NEGRO" id="Confirmar" onBlur="Quitar_Espacios_JS('Confirmar')"></td>
</tr>
<tr>
<td align="right"><strong>* </strong>E_Mail :</td>
<td align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="E_Mail" type="text" class="VER_10_NEGRO" id="E_Mail" onBlur="Quitar_Espacios_JS('E_Mail')"></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<br> </td>
</tr>
<tr>
<td height="10"><img src="images/registro/ralla.jpg" width="100%" height="1"></td>
</tr>
<tr>
<td><img src="images/registro/direccion.jpg" width="120" height="28"></td>
</tr>
<tr align="center">
<td> <table width="560" border="0" cellpadding="0" cellspacing="2" class="VER_10_NEGRO">
<tr>
<td width="20%" align="right"><span class="VER_10_NEGRO_BOLD">*
</span>Direccion :</td>
<td width="30%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Direccion" type="text" class="VER_10_NEGRO" id="Direccion" onBlur="Quitar_Espacios_JS('Direccion')"></td>
<td width="20%" align="right"><strong>* </strong>Pais :</td>
<td width="30%"> &nbsp;&nbsp;&nbsp;&nbsp;
<select name="Pais" id="Pais" class="VER_10_NEGRO">
<option value="0" selected>Elija Pa&iacute;s</option>
<option value="AFGHANISTAN">AFGHANISTAN</option>
<option value="ALBANIA">ALBANIA</option>
<option value="ALGERIA">ALGERIA</option>
</select> </td>
</tr>
<tr>
<td width="20%" align="right"><strong>* </strong>Ciudad :</td>
<td width="30%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Ciudad" type="text" class="VER_10_NEGRO" id="Ciudad" onBlur="Quitar_Espacios_JS('Ciudad')">
</td>
<td width="20%" align="right">Telefono :</td>
<td width="30%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Telefono" type="text" class="VER_10_NEGRO" id="Telefono" onBlur="Quitar_Espacios_JS('Telefono')">
</td>
</tr>
<tr>
<td width="20%" align="right"><strong>* </strong>Codigo Postal
:</td>
<td width="30%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Cod_Postal" type="text" class="VER_10_NEGRO" id="Cod_Postal" onBlur="Quitar_Espacios_JS('Cod_Postal')"></td>
<td width="20%" align="right">Fax :</td>
<td width="30%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Fax" type="text" class="VER_10_NEGRO" id="Fax2" onBlur="Quitar_Espacios_JS('Fax')"></td>
</tr>
<tr>
<td width="20%">&nbsp;</td>
<td width="30%">&nbsp; </td>
<td width="20%">&nbsp;</td>
<td width="30%">&nbsp; </td>
</tr>
<tr>
<td colspan="3" align="right"><strong>* </strong>Pertenece a
la Communidad Economica Europea :</td>
<td width="30%"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <select name="Europeo" class="VER_10_NEGRO" id="Europeo">
<option value="0" selected>Elija Opcion</option>
<option value="Si">Si</option>
<option value="No">No</option>
</select> </td>
</tr>
</table>
<br> </td>
</tr>
<tr>
<td height="10"><img src="images/registro/ralla.jpg" width="100%" height="1"></td>
</tr>
<tr>
<td><img src="images/registro/actividad.jpg" width="120" height="28"></td>
</tr>
<tr align="center">
<td> <table width="560" border="0" cellpadding="0" cellspacing="2" class="VER_10_NEGRO">
<tr>
<td width="20%" align="right">Nombre de&nbsp;&nbsp;<br>
Empresa :</td>
<td width="30%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Nom_Empresa" type="text" class="VER_10_NEGRO" id="Nom_Empresa" onBlur="Quitar_Espacios_JS('Nom_Empresa')"></td>
<td width="20%" align="right">Empresa o&nbsp;&nbsp;<br>
particular :</td>
<td width="30%"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<select name="Empresa" id="Empresa" class="VER_10_NEGRO">
<option selected>Particular</option>
<option>Agencia Publicidad</option>
<option>Canal Televisi&oacute;n</option>
<option>Depart. Comunicaci&oacute;n</option>
<option>Depart. Marketing</option>
<option>Dise&ntilde;ador Indep.</option>
<option>Editorial</option>
<option>Estudo Dise&ntilde;o</option>
<option>Escuela/Universidad</option>
<option>Preprensa</option>
<option>Revista/Prensa</option>
<option>Productor Indep.</option>
<option>Otro</option>
</select></td>
</tr>
</table>
<br> </td>
</tr>
<tr align="center">
<td> <table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/registro/azul.jpg">
<tr>
<td align="center"> <table width="560" border="0" cellpadding="2" cellspacing="2" class="VER_10_NEGRO">
<tr align="center">
<td colspan="2" class="VER_9_NEGRO"><em><strong>* datos
obligatorios</strong></em></td>
</tr>
<tr>
<td width="273" height="32" align="right">Recibir Newsletters
de &Aacute;mbar-stock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td width="281">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input name="Novedades" type="checkbox" id="Novedades" value="1" checked>
<input name="Alta_Cliente" type="hidden" id="Alta_Cliente" value="1"></td>
<td align="right">
<a href="javascript:" onClick="Comprobar()"><img src="images/registro/enviar.gif" width="79" height="32" border="0">
</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="right">Acepto las <a href="javascript:" class="VER_10_NEGRO"><u>Condiciones
Generales</u></a> del sitio &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td> <input name="Condiciones" type="checkbox" id="Condiciones" value="1" >
<span class="VER_9_NEGRO"><em>Indespensable para dar
de alta la inscripci&oacute;n</em></span></td>
</tr>
</table> <img src="images/registro/desc_gratis.gif" width="760" height="22"></td>
</tr>
</table></td>
</tr>
</table>
<?php include("pie.php");?>
</td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>
__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #7 (permalink)  
Antiguo 10/02/2005, 03:01
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
...
... No sé ni como decir el que hayas puesto todo tu código... Por tu propia ayuda, para poder ayudarte mejor... hay que enfocarse. Uno ve eso y ni ganas dan de analizarlo... Por lo menos pudiste poner tu código entre sus respectivas etiquetas. ... Pero bueno, para la otra.

y después de todo, aparentemente sí era lo mencionado:
cambia tu línea if ($Alta_Cliente == 1){
por if (isset($_POST['Alta_Cliente'])){

y avisanos del resultado. Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 10/02/2005, 04:02
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
Gracias siento lo del codigo.

No funciona, asi porque tengo configurado el servidor las variables globales a on osea que si que reconoce $Alta_Cliente == 1

Lo que pasa es que no actualiza la pagina RARORARORARO

Entra an la funcion Comprobar() mira q esten rellenados los campos pero no actualiza la pagina

Si pongo un boton submit normal si la actualiza ¿ POR QUE ? Alguien lo sabe

Un abrazo de un PHPero+
kco
__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #9 (permalink)  
Antiguo 10/02/2005, 05:21
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
el por qué seguro es respuesta de JavaScript...

te cuento que yo solo cambie esa línea que te menciono y me funcionó sin problemas. Sabes que existe un equivalente a $_POST... prueba!. Suerte!

.. y lo del código ... sin cuidado, es más un consejo para que te puedan (podamos, sí podemos ) ayudar...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 10/02/2005 a las 05:24
  #10 (permalink)  
Antiguo 30/03/2005, 11:49
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
El problema esta en el enlace:

<a href="javascript:" onClick="Comprobar()">

asi hace el funcionamiento raro, envia el formulario pero no actualiza la pagina de destino.

Si pongo asi el enlace funciona correctamente:

<a href="javascript:Comprobar()">

No se muy bien porque pero asi es.

Muchas gracias y un abrazo de un PHPero+
kco
__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #11 (permalink)  
Antiguo 30/03/2005, 14:35
 
Fecha de Ingreso: febrero-2004
Ubicación: Bogotá, Colombia
Mensajes: 191
Antigüedad: 20 años, 2 meses
Puntos: 1
creo q el link esta mal, es decir, si lo q quiero es q cuando hagan click en un link se ejecute el formulario o llame a una funcion javascript seria asi:

<a href=\"destino.php\" onClick=\"javascript:Confirmar();\">

y deberia funcionar bien, ahora, si no se esta ejecutando el formulario lo pondria asi

<a href=\"#\" onClick=\"formulario.submit();\">

ojala funcione
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




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