Foros del Web » Programando para Internet » PHP »

redirigir a otra pagina al ejecutar una funcion

Estas en el tema de redirigir a otra pagina al ejecutar una funcion en el foro de PHP en Foros del Web. Hola a todos, tengo una duda yo tengo un formulario de ingreso de datos y al darle al boton enviar quiero correr una funcion que ...
  #1 (permalink)  
Antiguo 26/11/2012, 11:59
 
Fecha de Ingreso: octubre-2012
Mensajes: 12
Antigüedad: 12 años, 1 mes
Puntos: 0
redirigir a otra pagina al ejecutar una funcion

Hola a todos, tengo una duda yo tengo un formulario de ingreso de datos y al darle al boton enviar quiero correr una funcion que me muestre en una pagina aparte toda la informacion que se guardo, el problema es que no se como hacer esa redireccion de pagina o como mostrar los resultados en otra pagina. Alguna ayuda, la parte de codigo donde llamo a la funcion es la siguiente:

<?PHP
require_once('mysql_result.php');
require_once('GenerarSolicitud.php');
if(isset($_POST['enviar'])){


//Variables
$Nombre = $_POST['Nombre'];
$Apellido = $_POST['Apellido'];
$Correo = $_POST['Email'];
$direccion = "localhost";
$usuario = "Usuario";
$password = "pass";
$conexion = mysql_connect($direccion, $usuario, $password);
mysql_select_db("MiBD", $conexion);
$fecha = date("Y-m-d H:i:s"); // Fecha actual

// Insertar la solicitud en la Base de Datos
$instruccion = "INSERT INTO Solicitud(Nombre, Apellido, Correo) VALUES('".$Nombre."', '".$Apellido."', '".$Correo."')";
$consulta = mysql_query($instruccion, $conexion);
$id = mysql_insert_id();
$auditnum = str_pad($id,6,"0",STR_PAD_LEFT);
mysql_close($conexion);

//funcion para mostrar en pantalla los datos
Presentacion_Datos($Nombre, $Apellido, $Correo)

}
?>


mi funcion va asi:

function Presentacion_Datos($nombre, $apellido, $correo){
//Mensaje
$mensaje = '
<html>
<head>
<title>Solicitud</title>
</head>
<body>
<div id="Header">
<table height="98" border="0" style="width: 1007px"> <tr>
<td style="width: 86px">
</td>
<td align="center" class="auto-style1" style="width: 682px"><h2>Solicitud</h2></td>
</tr>
</table>
</div>

<div id="body">
&nbsp;<p>Estimado, '.$nombre. ' ' . $apellido. '</p>
<p>le presentamos a continuaci&oacute;n la informaci&oacute;n proporcionada en la p&aacute;gina:</p>
<table>
<tr>
<td style="width: 145px"><strong>Nombre:</strong></td><td style="width: 855px">'.$nombre. ' ' .$apellido.'</td>
</tr>
<tr>
<td style="width: 145px"><strong>Correo electr&oacute;nico:</strong></td><td style="width: 855px">'.$correo.'</td>
</tr>
<tr>
<td colspan="2" style="width: 1000px"><br>En caso de que los datos no esten correctos, por favor escribe al correo</td>
</tr>
</table>
</div>
<br>
<hr width="1087">
</body>
</html>';
echo $mensaje;
}
  #2 (permalink)  
Antiguo 27/11/2012, 04:47
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: redirigir a otra pagina al ejecutar una funcion

donde estas metiendo la funcion Presentacion_Datos vemos lo que contiene pero no su ubicacion

1 - en la pagina donde llamas a la funcion puedes crear sessiones con los datos nombre apellido correo y donde llamas a la funcion un simple header(location:hacia la pagina donde deseas mostrar los datos)

2 - en vez de la funcion creas una pagina con los datos que contiene la funcion pero sin estar en una funcion , y pasas en vez de los datos $nombre por variables por las sessiones que creaste en la anterior pagina

esto si lo que quieres es mostrarlos en otra pagina si lo quieres mostrar en la misma
Código PHP:
Ver original
  1. <?PHP
  2. require_once('mysql_result.php');
  3. require_once('GenerarSolicitud.php');
  4. if(isset($_POST['enviar'])){
  5.  
  6.  
  7. //Variables
  8. $Nombre = $_POST['Nombre'];
  9. $Apellido = $_POST['Apellido'];
  10. $Correo = $_POST['Email'];
  11. $direccion = "localhost";
  12. $usuario = "Usuario";
  13. $password = "pass";
  14. $conexion = mysql_connect($direccion, $usuario, $password);
  15. mysql_select_db("MiBD", $conexion);
  16. $fecha = date("Y-m-d H:i:s"); // Fecha actual
  17.  
  18. // Insertar la solicitud en la Base de Datos
  19. $instruccion = "INSERT INTO Solicitud(Nombre, Apellido, Correo) VALUES('".$Nombre."', '".$Apellido."', '".$Correo."')";
  20. $consulta = mysql_query($instruccion, $conexion);
  21. $auditnum = str_pad($id,6,"0",STR_PAD_LEFT);
  22. mysql_close($conexion);
  23.  
  24. //funcion para mostrar datos
  25. function Presentacion_Datos($nombre, $apellido, $correo){
  26.  
  27. $mensaje = '
  28. <html>
  29. <head>
  30. <title>Solicitud</title>
  31. </head>
  32. <body>
  33. <div id="Header">
  34. <table height="98" border="0" style="width: 1007px"> <tr>
  35. <td style="width: 86px">
  36. </td>
  37. <td align="center" class="auto-style1" style="width: 682px"><h2>Solicitud</h2></td>
  38. </tr>
  39. </table>
  40. </div>
  41.  
  42. <div id="body">
  43. &nbsp;<p>Estimado, '.$nombre. ' ' . $apellido. '</p>
  44. <p>le presentamos a continuaci&oacute;n la informaci&oacute;n proporcionada en la p&aacute;gina:</p>
  45. <table>
  46. <tr>
  47. <td style="width: 145px"><strong>Nombre:</strong></td><td style="width: 855px">'.$nombre. ' ' .$apellido.'</td>
  48. </tr>
  49. <tr>
  50. <td style="width: 145px"><strong>Correo electr&oacute;nico:</strong></td><td style="width: 855px">'.$correo.'</td>
  51. </tr>
  52. <tr>
  53. <td colspan="2" style="width: 1000px"><br>En caso de que los datos no esten correctos, por favor escribe al correo</td>
  54. </tr>
  55. </table>
  56. </div>
  57. <br>
  58. <hr width="1087">
  59. </body>
  60. </html>';
  61. echo $mensaje;
  62. }
  63.  
  64. //funcion para mostrar en pantalla los datos
  65. Presentacion_Datos($Nombre, $Apellido, $Correo);
  66.  
  67. }
  68. ?>

aunque tambien lo puedes hacer sin ninguna funcion si lo quieres mostrar en la misma pagina

Última edición por webankenovi; 27/11/2012 a las 05:12

Etiquetas: formulario, funcion, html, mysql, redirigir, sql, variables, usuarios
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 20:18.