Foros del Web » Programando para Internet » PHP »

pasar a la siguiente página una vez identificado

Estas en el tema de pasar a la siguiente página una vez identificado en el foro de PHP en Foros del Web. Hola a todos, A ver si me podéis echar una mano. Tengo la página "pagina.php" en el que tengo el típico formulario de identificacion en ...
  #1 (permalink)  
Antiguo 12/11/2007, 16:56
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
pasar a la siguiente página una vez identificado

Hola a todos,

A ver si me podéis echar una mano.

Tengo la página "pagina.php" en el que tengo el típico formulario de identificacion en el que se solicita al usuario "nombre de usuario" y "contraseña". Además he creado la funcion php "identificar(nombre_usuario, contrasena)" que se ejecuta al recargarse la página "pagina.php" (en el formulario tengo <action="pagina.php"> )y recoger los datos del formulario y cuando hay un error de identificacion escribe en la página "pagina.php" un error tipo "usuario o contraseña desconocidos"....pero...que pasa si no hay error de identificacion??? No sé como hacer que, una vez identiciado correctamente al usuario, pase a la siguiente página del site.


¿Habría que hacer algo así como cambiar en el formulario de menara dinámica <action="pagina.php"> por <action="siguiente_pagina.php">? Es necesario javascript?

Espero que me podáis ayudar, como podréis comprobar soy un principiante y estoy un poco perdido.

Un saludo.
  #2 (permalink)  
Antiguo 12/11/2007, 17:00
Avatar de liebe13  
Fecha de Ingreso: octubre-2006
Ubicación: peru
Mensajes: 224
Antigüedad: 17 años, 6 meses
Puntos: 3
Re: pasar a la siguiente página una vez identificado

amio ponle una condicion para ver si es correcto o no
  #3 (permalink)  
Antiguo 12/11/2007, 17:03
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: pasar a la siguiente página una vez identificado

no me queda claro porque no veo el código, pero creo que con un header('LOCATION siguiente_pagina.php') puedes resolver tu error, aunque tienes que tomar en cuenta que no exista ninguna salida a pantalla como echo, print, etc.. antes del header.

saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 12/11/2007, 17:38
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: pasar a la siguiente página una vez identificado

Muchas gracias por vuestras respuestas,

Voy a probar la solucion de Eits.

Para resumir el problema: tengo un formulario en el que al hacer "submit" se me recarga la pagina (ya que tengo en el formulario la etiqueta (no se si" etiqueta" es el nombre correcto) "<action="pagina.php">"). El tema es, que si se cumple una condicion, no quiero que se me vuelva a cargar "pagina.php", sino que quiero que se carge "siguiente_pagina.php".

Os pongo el código por si aclara el problema:

Código:
<head>
<?php 
	function identificar($email,$password){
		......
		......}?>

<script type="text/javascript">
	function validar(f){
		if (f.email.value=="" || f.contrasena.value=="") alert ('Introduce email y contraseña.')
		else f.submit();
	}
	</script>

<?php 
	if (isset($_POST['email']) and isset($_POST['contrasena'])) $id_ok=identificar($_POST['email'],$_POST['contrasena'] );?>
</head>

<body>

 <form name="form_identificacion" action="ppr_portada.php" method="post">
 
	  email:<input type="text" name="email" value="" /><br>
	  contraseña: <input type="password" name="contrasena" /><br>
	  
	  <?php if($id_ok=="error") echo "Email o Contrase&ntilde;a desconocidos." ?></td>
	   
	  <input type="button" name="aceptar" value="Aceptar" onclick="validar(this.form)"/></td>
		
 </form>

</body>
</html>
Muchas gracias otra vez.
  #5 (permalink)  
Antiguo 12/11/2007, 17:43
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: pasar a la siguiente página una vez identificado

Cita:
Iniciado por eits Ver Mensaje
no me queda claro porque no veo el código, pero creo que con un header('LOCATION siguiente_pagina.php') puedes resolver tu error, aunque tienes que tomar en cuenta que no exista ninguna salida a pantalla como echo, print, etc.. antes del header.

saludos
Hola Eits,

Voy a probar esto, pero... me surge una duda, como se pasarían las variables del formulario por POST?.

saludos.
  #6 (permalink)  
Antiguo 12/11/2007, 18:20
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: pasar a la siguiente página una vez identificado

a ver si entendí, tu estas haciendo todo el proceso de pedir datos y comprobarlos en la misma pagina ¿correcto?, de ser así, lo del header no funcionaria, yo lo pondria en dos páginas
1.- index.php
Código PHP:
<form action='valida.php' method='post'>
<!-- codigo del formulario-->
<?php
if(!empty$_GET[x]){echo 'usuario o contrase&ntilde;a incorrecto';}
?>
</form>
2.- valida.php
Código PHP:
session_star();
$link=@mysql_connect("localhost","root","pass") or die('Error->'.mysql_error());;
@
mysql_select_db("DB",$link) or die('Error->' .mysql_error());
$result=@mysql_query('aqui la consulta',$link) or die('Error->'.mysql_error());
if(
mysql_num_rows($result)>0){
//existe el usuario
$_SESSION['autorizado']='si';
header ('LOCATION siguiente_pagina.php');
}
else{
//no existe el usuario
session_destroy();
header ('LOCATION index.php?x=1');

poner todo el código en la misma página, es mas complejo ya que no podrás utilizar el header, para mi, lo mejor es dividr.
espero que te sirva o te de una idea y si aun quieres usarlo en la misma página dimelo y con gusto te ayudaré a resolverlo.

suerte y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 13/11/2007, 03:19
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: pasar a la siguiente página una vez identificado

He probado la solución con dos páginas que me has propuesto...me ha funcionado perfectamente!!! Problema resuelto.

Muchas gracias por las molestias que te has tomado.

Un saludo.
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 05:17.