Foros del Web » Programando para Internet » PHP »

Configurar fomulario

Estas en el tema de Configurar fomulario en el foro de PHP en Foros del Web. Amigos Al momento de darle "Enviar datos" a mi formulario me dice "REGISTRO AÑADIDO", y para volver a ingresar datos tengo que volver a "atras" ...
  #1 (permalink)  
Antiguo 08/10/2008, 12:59
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Configurar fomulario

Amigos

Al momento de darle "Enviar datos" a mi formulario me dice "REGISTRO AÑADIDO", y para volver a ingresar datos tengo que volver a "atras" en el Browser y eso no lo quiero.

¿Como hago para que al dar clic en "Enviar datos" los envíe y mantenga el formulario ahí mismo? sin necesidad de presionar "atras" ??
me explico??

muuuuchas gracias
--
Codigo de Formulario:
Código PHP:
<form action='grabar.php' method='post' onSubmit="javascript:document.form.reset();">
    
  <
table width="23%" border="0" align="center">
    <
tr
      <
td width="9%"><div align="left"><font size="2"><strong>Nombre/Apellido</strong></font></div></td>
      <
td width="91%"><input type="text" name="p_v1" valu></td>
    </
tr>
    <
tr
      <
td><div align="left"><font size="2"><strong>Anexo</strong></font></div></td>
      <
td><input type="text" name="p_v2" size="8"></td>
    </
tr>
    <
tr
      <
td><div align="left"><font size="2"><strong>Departamento</strong></font></div></td>
      <
td><select name="p_v3" id="p_v3">
          <
option>OFE</option>
          <
option>Pre-contracting</option>
          <
option>Contabilidad</option>
          <
option>Automatizaci&oacute;n</option>
          <
option>Gerencia</option>
          <
option>Recepci&oacute;n</option>
        </
select></td>
    </
tr>
    <
tr
      <
td><div align="left"><font size="2"><strong>Tipo Problema</strong></font></div></td>
      <
td><select name="p_v4" id="p_v4">
          <
option>Hardware</option>
          <
option>Software</option>
          <
option>Internet</option>
          <
option>Intranet</option>
          <
option>ERP</option>
          <
option>Otros</option>
        </
select></td>
    </
tr>
    <
tr
      <
td><div align="left"><font size="2"><strong>Problema</strong></font></div></td>
      <
td><textarea name="p_v5" id="p_v5"></textarea></td>
    </
tr>
    <
tr
      <
td><div align="left"><font size="2"><strong>Soluci&oacute;n</strong> </font></div></td>
      <
td><textarea name="p_v6" id="p_v6"></textarea></td>
    </
tr>
  </
table>
  <
hr width=330 color="#FF0000">
  <
p align="center"
    <
input type="submit" name="Submit" value="Enviar Datos">
    <
input type="reset" name="Submit2" value="Limpiar">
  </
p

--------------------
Codigo de grabar.php
Código PHP:
<?
$base
="formulario";

$tabla="datos";

$v1=$_POST['p_v1'];
$v2=$_POST['p_v2'];
$v3=$_POST['p_v3'];
$v4=$_POST['p_v4'];
$v5=$_POST['p_v5'];
$fecha=date("d-m-y-H-i");

$conexion=mysql_connect("localhost","root","admin");

mysql_select_db($base,$conexion);

mysql_query("INSERT INTO $tabla (NOMBRE, ANEXO, DPTO, PROBLEMA, SOLUCION, FECHA) VALUES ('$v1', '$v2', '$v3', '$v4', '$v5', '$fecha');"$conexion);
if (
mysql_errno($conexion)==0){echo "<h2><CENTER>Registro AÑADIDO</CENTER></b></H2>";
}else{
if (
mysql_errno($conexion)==1062){echo "<h2>No ha podido añadirse el registro<br>Ya existe un campo con este DNI</h2>";
}else{
$numerror=mysql_errno($conexion);
$descrerror=mysql_error($conexion);
echo 
"Se ha producido un error nº $numerror que corresponde a: $descrerror <br>";
}

}
mysql_close();

?>

Última edición por dilagos; 08/10/2008 a las 13:05
  #2 (permalink)  
Antiguo 08/10/2008, 13:14
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: Configurar fomulario

usa la funcion header();


Código PHP:

<? 
$base
="formulario"

$tabla="datos"

$v1=$_POST['p_v1']; 
$v2=$_POST['p_v2']; 
$v3=$_POST['p_v3']; 
$v4=$_POST['p_v4']; 
$v5=$_POST['p_v5']; 
$fecha=date("d-m-y-H-i"); 

$conexion=mysql_connect("localhost","root","admin"); 

mysql_select_db($base,$conexion); 

mysql_query("INSERT INTO $tabla (NOMBRE, ANEXO, DPTO, PROBLEMA, SOLUCION, FECHA) VALUES ('$v1', '$v2', '$v3', '$v4', '$v5', '$fecha');"$conexion); 
if (
mysql_errno($conexion)==0){echo "<h2><CENTER>Registro AÑADIDO</CENTER></b></H2>"



header ("Location : pagina.com"); //con esta linea



}else{ 
if (
mysql_errno($conexion)==1062){echo "<h2>No ha podido añadirse el registro<br>Ya existe un campo con este DNI</h2>"
}else{ 
$numerror=mysql_errno($conexion); 
$descrerror=mysql_error($conexion); 
echo 
"Se ha producido un error nº $numerror que corresponde a: $descrerror <br>"



mysql_close(); 

?>
  #3 (permalink)  
Antiguo 08/10/2008, 13:24
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Configurar fomulario

AMIGO

Lo hice y al enviar muestra:

[I]Registro AÑADIDO
Warning: Cannot modify header information - headers already sent by (output started at C:\Archivos de programa\xampp\htdocs\soporte\grabar.php:18) in C:\Archivos de programa\xampp\htdocs\soporte\grabar.php on line 22
?>
  #4 (permalink)  
Antiguo 08/10/2008, 13:26
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: Configurar fomulario

Lo que pasa es que no has de tener codigo html ni ninguna salida al navegador antes de usar la funcion header
  #5 (permalink)  
Antiguo 08/10/2008, 13:28
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Configurar fomulario

Cita:
Iniciado por jaronu Ver Mensaje
Lo que pasa es que no has de tener codigo html ni ninguna salida al navegador antes de usar la funcion header
JEJE, quedé igual
..
Que código tengo que utilizar para configurar esa salida?
porfavor

gracias
  #6 (permalink)  
Antiguo 08/10/2008, 13:29
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: Configurar fomulario

Tienes etiquetas html o algun echo antes del header??
  #7 (permalink)  
Antiguo 08/10/2008, 13:35
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Configurar fomulario

nada de nada
está tal cual te puse el código ahí
solo agregué la línea que me pusiste arriba
esta:

header ("Location : pagina.com");
  #8 (permalink)  
Antiguo 08/10/2008, 13:37
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: Configurar fomulario

Y el echo que tienes justo antes del header??

revisa bien el codigo
  #9 (permalink)  
Antiguo 08/10/2008, 13:38
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Configurar fomulario

ahh claro
este:
{echo "<h2><CENTER>Registro AÑADIDO</CENTER></b></H2>";
  #10 (permalink)  
Antiguo 08/10/2008, 13:41
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: Configurar fomulario

si ese echo has de quitar pues segun tienes el codigo

si inserta que redirja y si no que muestre el error, pero quita el echo
  #11 (permalink)  
Antiguo 08/10/2008, 13:46
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Configurar fomulario

Lo hice y quedó así

Código PHP:
if (mysql_errno($conexion)==0);
header ("Location : pagina.com"); 
}else{ 
if (
mysql_errno($conexion)==1062){echo "<h2>No ha podido añadirse el registro<br>Ya existe un campo con este DNI</h2>"
}else{ 
$numerror=mysql_errno($conexion); 
$descrerror=mysql_error($conexion); 
echo 
"Se ha producido un error nº $numerror que corresponde a: $descrerror <br>"



mysql_close(); 


Pero al momento de Enviar datos, me da este error:
Parse error: parse error, unexpected '}' in C:\Archivos de programa\xampp\htdocs\soporte\grabar.php on line 21
  #12 (permalink)  
Antiguo 08/10/2008, 13:53
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: Configurar fomulario

pues aqui:

if (mysql_errno($conexion)==0);

te falta quitar el punto y coma y poner un corchete el punto y coma es para finalizar sentencias en php y en esa linea no has de poner un punto y coma

if (mysql_errno($conexion)==0) {

es esa la linea 21, porque php define muy bien donde estan sus errores o los tuyos
  #13 (permalink)  
Antiguo 08/10/2008, 13:56
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Configurar fomulario

Al darle enviar datos muestra una pagina nueva que muestra esto:
?>

pero igual los guarda
  #14 (permalink)  
Antiguo 08/10/2008, 14:27
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Configurar fomulario

Jaronu,
ahora sigue grabando pero igual muestra una página en blanco cuando graba.
ahora si que no sé
jeje
  #15 (permalink)  
Antiguo 08/10/2008, 14:40
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: Configurar fomulario

es que donde te puse pagina.php has de poner la pagina donde quieres que se redirija y no pagina.php es solo un ejemplo

header ("Location : pagina_donde_quieras_redirijir.com");
  #16 (permalink)  
Antiguo 09/10/2008, 11:29
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Configurar fomulario

AMigo
Probé y no me funciona
Puse la pagina que queria que abriera, o sea la misma del formulario y sigue mostrando una pagina en blanco al Momento de Enviar los Datos.

Como hago para que al dar clic en "Enviar Datos" me aparesca un mensaje en pantalla, como un popup, y no una pantalla en blanco??
  #17 (permalink)  
Antiguo 09/10/2008, 11:58
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: Configurar fomulario

para un popup habras de usar javascript, por ejemplo

y lo de la pantalla en blanco es por que algo del codigo estara mal, no postaeste la ultima parte del codigo que modificaste y no adivino a saber que pusiste

un saludo
  #18 (permalink)  
Antiguo 09/10/2008, 12:21
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Configurar fomulario

Asi lo tengo ahora y funciona, pero en esa pantalla en blanco puse un vinculo para volver al formulario.
Pero la idea es que quede como te mencioné

Código PHP:
<?
$base
="formulario";

$tabla="datos";

$v1=$_POST['p_v1'];
$v2=$_POST['p_v2'];
$v3=$_POST['p_v3'];
$v4=$_POST['p_v4'];
$v5=$_POST['p_v5'];
$v6=$_POST['p_v6'];
$v7=$_POST['p_v7'];
$fechadate("y-m-d");

$conexion=mysql_connect("172.22.82.8","root","admin");

mysql_select_db($base,$conexion);

mysql_query("INSERT INTO $tabla (NOMBRE, APELLIDO, ANEXO, DPTO, TIPO, PROBLEMA, SOLUCION, FECHA) VALUES ('$v1', '$v2', '$v3', '$v4', '$v5', '$v6', '$v7', '$fecha');"$conexion);
if (
mysql_errno($conexion)==0){
echo 
"<hr width=408 color=red>";
echo 
'<style type="text/css"> <!-- A { text-decoration: none } --> </style>';
echo 
'<a href="http://172.22.82.8/soporte/formulario.html");return false"><h2><center>REGISTRO AGREGADO, VOLVER</center></h2></a>';
echo 
"<hr width=408 color=red>";

}else{
if (
mysql_errno($conexion)==1062){echo "<h2>No ha podido añadirse el registro<br>Ya existe un campo con este DNI</h2>";
}else{
$numerror=mysql_errno($conexion);
$descrerror=mysql_error($conexion);
echo 
"Se ha producido un error nº $numerror que corresponde a: $descrerror <br>";
}

}
mysql_close();

?>
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 00:10.