Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema con redirección en PHP

Estas en el tema de Problema con redirección en PHP en el foro de Frameworks JS en Foros del Web. Hola. Estoy haciendo formularios en PHP, y tengo un problema. Hasta ahora venia haciendo que todos los formularios redireccionen a una página (el action), y ...
  #1 (permalink)  
Antiguo 01/04/2008, 16:27
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Problema con un form

Hola.
Estoy haciendo formularios en PHP, y tengo un problema.
Hasta ahora venia haciendo que todos los formularios redireccionen a una página (el action), y ahí tiraba un mensaje si era correcto o no lo llenado en el campo.
Pero no lo quiero hacer mas asi, porque es molesto.

Quiero que si algun campo esta mal lleno o falta llenar, tire un alert (ventanita), y si esta bien que redireccione a una pagina.

Se puede hacer con php esto ? Hay que usar AJAX ? Alguien tiene algun ejemplito ?

Gracias
  #2 (permalink)  
Antiguo 01/04/2008, 17:12
 
Fecha de Ingreso: febrero-2006
Ubicación: Quito
Mensajes: 68
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Problema con un form

mira este ejemplo http://www.elcodigo.net/cgi-bin/DBre...ave=131&info=4 utiliza javascript busca en google hay muchos ejemplos

Saludos...
  #3 (permalink)  
Antiguo 01/04/2008, 17:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problema con un form

Se necesita para eso usar JavaScript primeramente.

Te muevo al foro adecuado.

Saludos.
  #4 (permalink)  
Antiguo 01/04/2008, 17:55
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Re: Problema con un form

Cita:
Iniciado por nan_do9 Ver Mensaje
mira este ejemplo http://www.elcodigo.net/cgi-bin/DBread.cgi?tabla=scripts&campo=0&clave=131&info=4 utiliza javascript busca en google hay muchos ejemplos

Saludos...
Tu ejemplo me sirve, pero sigo sin enteder algo.
Ese ejemplo valida si el campo esta en blanco o no, y yo no solo tengo que hacer eso, sino tambien consultas a mi base de datos para ver si son datos que puedo procesar o no. Como se hace eso en medio de un codigo javascript ?
AJAX ?

Quiero un simple ejemplito !! pleaseee !!!

Última edición por razer; 01/04/2008 a las 20:58
  #5 (permalink)  
Antiguo 01/04/2008, 23:19
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Re: Problema con un form

Investigue un poco mas el tema.
Encontre una guia muy interesante que me sirve:
http://www.desarrolloweb.com/articulos/validar-usuario-en-ajax.html

Código:
<?
//incluímos la clase ajax
require ('xajax/xajax.inc.php');

//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();

function procesar_formulario($form_entrada){
   //creo el xajaxResponse para generar una salida
   $respuesta = new xajaxResponse('ISO-8859-1');

   //validación
   $error_form = "";
   if ($form_entrada["nombre"] == "")
      $error_form = "Debes escribir tu nombre";
   elseif ($form_entrada["apellidos"] == "")
      $error_form = "Debes escribir tus apellidos";
   elseif (!isset($form_entrada["acepto"]))
      $error_form = "Debes aceptar los términos y condiciones";
      
   //compruebo resultado de la validación
   if ($error_form != ""){
      //Hubo un error en el formulario
      //en la capa donde se muestran mensajes, muestro el error
      $respuesta->addAssign("mensaje","innerHTML","<span style='color:red;'>$error_form</span>");
   }else{
      //es que no hubo error en el formulario
      $salida = "Hemos procesado esto:<p>";
      $salida .= "Nombre: " . $form_entrada["nombre"];
      $salida .= "<br>Apellidos: " . $form_entrada["apellidos"];
      
      //mostramos en capa mensaje el texto que está todo correcto
      $respuesta->addAssign("mensaje","innerHTML","<span style='color:blue;'>Todo correcto... Muchas gracias!</span>");
      //escribimos en la capa con id="capaformulario" el texto que aparece en $salida
      $respuesta->addAssign("capaformulario","innerHTML",$salida);
      
      //tenemos que devolver la instanciación del objeto xajaxResponse
   }
   return $respuesta;
}
//registramos la función creada anteriormente al objeto xajax
$xajax->registerFunction("procesar_formulario");

//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequests();
?>
<html>
<head>

   <title>Enviar y procesar un formulario con Ajax y PHP</title>
   <?
   //En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
   $xajax->printJavascript("xajax/");
   ?>
</head>

<body>
<h1>Recibir y procesar formulario con Ajax y PHP</h1>
<div id="mensaje">
Rellena los datos de este formulario y pulsa "Enviar"
</div>
<br />
<div id="capaformulario">
<form id="formulario">
Nombre: <input type="text" name="nombre" />
<br />
Apellidos: <input type="text" name="apellidos" />
<br />
<input type="checkbox" name="acepto" value="1" /> Acepto los términos y condiciones ;)
<br />
<input type="button" value="Enviar" onclick="xajax_procesar_formulario(xajax.getFormValues('formulario'))" />
</form>
</div>

</body>
</html>
El tema es que no me funciona
Cuando clickeo el boton no aparece ningun texto debajo. Alguien tiene idea?
Tengo muchas sospechas que sea problema de las librerias de ajax. NUNCA use Ajax ni me interesa, solo quiero hacer esto (osea, no tengo NADA instalado acerca de ajax, yo uso EasyPHP con mysql y apache y nada mas).
Vi que en el codigo requeria un .ini.php archivo ajax, por lo cual lo busque en internet y me lo baje. Pero esto seria lo unico ?
Que es todo lo que necesito para que este script me funcione?

GRAX
  #6 (permalink)  
Antiguo 01/04/2008, 23:34
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
Re: Problema con un form

El problema es tu version del xajax, probe con una version anterior y funciona a la perfeccion , descargalo aqui:{xajax v0.24}, y veras que funciona. Te recomiendo que uses...
Esto:
Código PHP:
<?php
  
/*Este es el estilo XML, super recomendado*/
?>
en ves de:

Código PHP:
<?
  
/*Este es el estilo corto, nada recomendado*/
?>
Saludos...
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #7 (permalink)  
Antiguo 01/04/2008, 23:42
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Re: Problema con un form

Listo ahi me funciona, muchas gracias !!!

Una ultima pregunta.
Si quiero que el error lo diga al lado del input como hago ?
Por ejemplo tengo 2 inputs, nombre y apellido. Y el error esta EN EL NOMBRE (el apellido es correcto) entonces quiero que lo diga al lado o debajo del input ese.

Segun tengo entendido esto es lo que se encarga de mostrarlo:
Código:
 <div id="mensaje"></div>
Pero como decirle DONDE ??

Última edición por razer; 01/04/2008 a las 23:51
  #8 (permalink)  
Antiguo 02/04/2008, 01:11
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Problema con un form

Hola razer

Prueba esto:

Código:
document.getElementById('mensaje').innerHTML = 'Mensaje de error';
Saludos,
  #9 (permalink)  
Antiguo 02/04/2008, 11:35
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Re: Problema con un form

Donde pongo eso? no entiendo.
  #10 (permalink)  
Antiguo 02/04/2008, 13:34
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Re: Problema con un form

Sigo teniendo otro problema.
Si los datos son bien ingresados, quiero redireccionar a una página.

Use
Código:
header("Location:add.php");
(tambien probe con el meta de html haciendo un echo con php)
pero me tira error de XML. Como puedo hacer esto? no solo necesito redireccionar sino tener en la otra pagina los datos ingresados en el formulario.

no es para agregar o actualizar mi base de datos, eso lo hago ahi dentro, es para hacer otras cosas que quiero que lo muestre en otra pagina.

me estoy basando en el codigo que postie, alguien sabe?
gracias
  #11 (permalink)  
Antiguo 02/04/2008, 20:35
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Re: Problema con un form

UPPPPPPP
Alguien que me ayude porfa que no puedo seguir y no encuentro nada

cuando apreto el boton de submit me aparece un alert y me dice The XML response that was returned from the server is invalid.
y me muestra todo lo que recibio, osea, todo el codigo de la pagina a la cual quize redireccionar.

el redirect lo quiero hacer en la funcion procesar_formulario para que vean el codigo de arriba.

Última edición por razer; 02/04/2008 a las 20:45
  #12 (permalink)  
Antiguo 02/04/2008, 23:50
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Problema con redirección en PHP

Hola, les cuento:

Tengo un formulario.html que hace un action a un register.php
En ese mismo register necesito hacer una redirección, pero no me anda. Si la redirección la pongo en el formulario.html me anda (lo probé).

Les muestro ambos codigos:


formulario.html
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>roScripts.com - ajax validation form</title>
	<script type="text/javascript" src="js/mootools.js"></script>
	<script type="text/javascript">
		window.addEvent('domready', function(){
	                $('registerForm').addEvent('submit', function(e) {
	                    new Event(e).stop();
	                    var log = $('log_res').empty().addClass('ajax-loading');
	                    this.send({
	                        update: log,
	                        onComplete: function() {
	                            log.removeClass('ajax-loading');
	                        }
	                    });
	                });
	            });
	</script>
	<style type="text/css">

		body {
			font:0.7em Arial, helvetica, sens-serif;
			color:#567475;
		}
		.input {
			border: 1px solid #99b3b4;
			width: 220px;
			background: #e4ebeb;
			font: 11px verdana, sans-serif;
			color:#443;
			padding:3px;
			margin-bottom:4px;
			outline:none;
		}
		.input:focus {
			border:1px solid #567475;
			background: #e4ebeb;
		}
		.submit-btn {
			width: 54px;
			height: 20px;
			background: #743 url(http://www.roscripts.com/images/submit.gif) no-repeat;
			outline: none;
		}
		.submit-btn:hover {
			background: #069 url(http://www.roscripts.com/images/submit.gif) no-repeat 0 -20px;
		}
		div#container {
			border:1px solid #99b3b4;
			padding:15px;
			margin:auto;
			width:400px;
		}
		#log_res {
			height:auto;
			padding:15px;
			margin:100px auto 20px auto;
			width:400px;
		}
		#log_res p {
			margin:0;
			padding:4px 0 4px 0;
		}
		#log_res.ajax-loading
			{background: url(http://www.roscripts.com/images/spinner.gif) no-repeat center;
		}
		.error {
			color:red;
			margin:0;
			padding:0;
		}

	</style>
<!--
                     ____                               __
                    /\  _`\                  __        /\ \__
          _ __   ___\ \,\L\_\    ___   _ __ /\_\  _____\ \ ,_\   ____
         /\`'__\/ __`\/_\__ \   /'___\/\`'__\/\ \/\ '__`\ \ \/  /',__\
         \ \ \//\ \L\ \/\ \L\ \/\ \__/\ \ \/ \ \ \ \ \L\ \ \ \_/\__, `\
          \ \_\ \____/\ `\____\ \____\ \_\  \ \_\ \ ,__/\ \__\/\____/
           \/_/ \/___/  \/_____/\/____/ \/_/   \/_/\ \ \/  \/__/\/___/
                                                    \ \_\
                                                     \/_/
                                                Making your world easy
-->
</head>
<body>
	<div id="log">
		<div id="log_res">
		<!-- SPANNER -->
		</div>
	</div>
	<div id="container">
	<form method="post" id="registerForm" action="register.php">
          <table align="center" cellpadding="2" cellspacing="0">
            <tr>
              <td style="width:120px"><div align="left"><strong><LABEL for="First_name">First name:</LABEL></strong></div></td>
              <td><div align="left" class="string">
                <input name="First_name" type="text" class="input" id="First_name" value="" size="32" /></div>
              </td>
            </tr>
            <tr>
              <td style="width:120px"><div align="left"><strong><LABEL for="Last_name">Last name:</LABEL></strong></div></td>
              <td><div align="left">
                <input name="Last_name" class="input" type="text" id="Last_name" value="" size="32" /></div></td>
            </tr>
            <tr>
              <td style="width:120px"><div align="left"><strong><LABEL for="Username">Username:</LABEL></strong></div></td>
              <td><div align="left">
                <input name="Username" type="text" class="input" id="Username" value="" size="32" /></div>
              </td>
            </tr>
            <tr>
              <td style="width:120px"><div align="left"><strong><LABEL for="Password">Password:</LABEL></strong></div></td>
              <td><div align="left">
              <input name="Password" type="password" class="input" id="Password" value="" size="32" /></div></td>
            </tr>
            <tr>

              <td style="width:120px"><div align="left"><strong><LABEL for="re_Password">Re-type Password:</LABEL></strong></div></td>
              <td><div align="left">
              <input name="re_Password" type="password" class="input" id="re_Password" value="" size="32" /></div></td>
            </tr>
            <tr>

              <td style="width:120px"><div align="left"><strong><LABEL for="Email">Email:</LABEL></strong></div></td>
              <td><div align="left">
              <input name="Email" type="text" class="input" id="Email" value="" size="32" /></div></td>
            </tr>
            <tr>
              <td colspan="2"><div align="right">
                  <input type="image" name="register" class="submit-btn" src="http://www.roscripts.com/images/btn.gif" alt="submit" title="submit" />
              </div></td>
            </tr>
          </table>
        </form>
        </div>
</body>
</html>


y este es el register.php
Código:
<?php

	include('functions.php');

	if ($_POST['First_name']=='' || strlen($_POST['First_name'])<3)
	{
		$errors[] = 'First name is required and must contain 3 characters or more';
	}

	if ($_POST['Last_name']=='' || strlen($_POST['Last_name'])<3)
	{
		$errors[] = 'Last name is required and must contain 3 characters or more';
	}

	if ($_POST['Username']=='' || alpha_numeric($_POST['Username'])==FALSE)
	{
		$errors[] = 'Username is required and must be alpha-numeric';
	}

	if ($_POST['Password']=='' || alpha_numeric($_POST['Password'])==FALSE)
	{
		$errors[] = 'A password is required and must be alpha-numeric';
	}

	if ($_POST['Password']!=$_POST['re_Password'])
	{
		$errors[] = 'The two passwords must match';
	}

	if (valid_email($_POST['Email'])==FALSE)
	{
		$errors[] = 'Please supply a valid email address';
	}

	if(isset($errors))
	{
		echo '<p class="error"><b>The following errors occured</b></p>';
		while (list($key,$value) = each($errors))
		{

			echo '<span class="error">'.$value.'</span><br />';
		}
	}
	else {
		
		//do something here----store to db, send email
		echo '<p><b>Success!</b></p>';
		echo '<span>Your registration was successfully processed. You may login and start using your account. Thank you for registering !</span>'; 
		echo "<meta http-equiv='refresh' content='0;url=desauto.php'>";
	
	}

?>
Como pueden observar en el register.php, la redireccion esta al final. Es esta LINEA:
Código:
echo "<meta http-equiv='refresh' content='0;url=desauto.php'>";
pero NO ME DA BOLA. dice el mensaje de arriba pero no redirecciona y no me dice nada. Alguien tiene idea?
Probe con header(location:link.php); de php y no solo no me da bola, sino que me da el siguiente error: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\ajax_validation\register.php:47) in c:\program files\easyphp1-8\www\ajax_validation\register.php on line 50

Alguien por favor que me diga una forma de redirección y que funcione, es sencillo pero ya no se que hacer

Última edición por razer; 03/04/2008 a las 01:12
  #13 (permalink)  
Antiguo 03/04/2008, 05:35
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
Re: Problema con redirección en PHP

Si usas header() tiene que funcionar

Para que no te de error de cabeceras ya enviadas tienes que poner:

antes que nada en el script:

Código PHP:
<?
ob_start
();
?>
Entre medias tu código:

Código PHP:
header("Location: desauto.php"); 
al final en el script:
Código PHP:
<?
ob_end_flush
();
?>
Con eso debería de funcionar al menos usando header(), usando un meta a mitad de código no he probado.

Un saludo
__________________
[+]
[+]
  #14 (permalink)  
Antiguo 03/04/2008, 10:06
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Problema con un form

Movido al foro de AJAX desde JavaScript.

Saludos,
  #15 (permalink)  
Antiguo 03/04/2008, 11:20
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Re: Problema con redirección en PHP

Muchas gracias, me anda (con lo del header), pero no hace exactamente lo que buscaba.
Esta el formulario y cuando apreto el boton hace el header pero carga la pagina debajo del formulario. Yo lo que busco es que carge una pagina totalmente nueva.

Debe ser por el AJAX esto. Osea, los errores en el form SI quiero que los diga debajo del form, pero si esta todo OK que carge una pagina nueva. No tengo idea que tocar
  #16 (permalink)  
Antiguo 03/04/2008, 12:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problema con redirección en PHP

Hola razer,

Si estas usando AJAX, no puedes hacer la redirección vía PHP, tienes que usar JavaScript en tu html y usar la propiedad location del objeto window:
Código:
window.location = "tupagina.php";
Saludos.
  #17 (permalink)  
Antiguo 03/04/2008, 12:46
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Re: Problema con redirección en PHP

Te entiendo GatorV, pero cómo me doy cuenta en la parte del html/javascript cuando es lo que quiero hacer?
En el PHP tengo un if y un else, y se que si entra por el else es la redirección que quiero hacer, pero si no lo puedo hacer por el PHP, en la pagina HTML COMO SE donde poner el script de redireccion ?
Esta ahi posteado el HTML.
  #18 (permalink)  
Antiguo 03/04/2008, 12:51
Avatar de j_aroche
Server Ninja
 
Fecha de Ingreso: agosto-2006
Ubicación: iPhone: 14.624481,-90.487457
Mensajes: 2.066
Antigüedad: 17 años, 8 meses
Puntos: 223
Re: Problema con redirección en PHP

Cita:
En el PHP tengo un if y un else, y se que si entra por el else es la redirección que quiero hacer, pero si no lo puedo hacer por el PHP, en la pagina HTML COMO SE donde poner el script de redireccion ?
Lo que debes hacer es ver cual es la respuesta del PHP desde tu JS/Ajax y decidir si debes hacer una redirección o imprimir el error.
__________________
Blog: JavierAroche.com - Twitter: @j_aroche
  #19 (permalink)  
Antiguo 03/04/2008, 13:04
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Claro, ya lo se eso. Pero como hacerlo ????
Disculpa mi ignorancia, soy nuevo en esto. Estoy acostumbrado a manejarme con variables, y no se practicamente nada de javascript.

Esto es lo que me marea:

Código:
<div id="log">
		<div id="log_res">
		<!-- SPANNER -->
		</div>
Mediante esos divs yo hago los respectivos anuncios si hay error o no. El tema es que no es una variable, como hago para decirle if($log == "OK") o algo similar ?

Hay que tocar algo acá ?

Código:
	<script type="text/javascript">
		window.addEvent('domready', function(){
	                $('registerForm').addEvent('submit', function(e) {
	                    new Event(e).stop();
	                    var log = $('log_res').empty().addClass('ajax-loading');
	                    this.send({
	                        update: log,
	                        onComplete: function() {
	                            log.removeClass('ajax-loading');
	                        }
	                    });
	                });
	            });
	</script>
Si hay que tocar algo ahi estoy mas perdido aun, porque no entiendo nada de eso.
Necesito hacer ESO solo y ya estoy hecho, por eso no me interesa mucho aprender. Es un simple script, la idea de mi web es hacerla en PHP que de eso si se, jejejej.

Si alguien me da una mano....
Gracias y disculpa.

UPPPPP alguna ayuda? necesito entregar el trabajo mañana

Última edición por GatorV; 03/04/2008 a las 15:36
  #20 (permalink)  
Antiguo 03/04/2008, 14:58
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 225
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Problema con redirección en PHP

revisa el response text del ajax , si estuvieses trabajando con ajax puro creeo q seria un poco mejor pero creeo q eso es una libreria no las manejo pero trata de ver como sabes si te devolvio algo deberia venir vacio el response text si no devolvio nada y lleno si devolvio algo probalo no se o trata de pasar variables entre php y javascript no se si se pueda jaja de todos modos revisa
  #21 (permalink)  
Antiguo 03/04/2008, 15:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problema con redirección en PHP

Traslado tu tema a AJAX ya que tiene mas que ver por allá que en PHP.

Saludos.
  #22 (permalink)  
Antiguo 03/04/2008, 16:06
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Re: Problema con redirección en PHP

Es que ya se lo que hay que hacer talcual, pero no se hacerlo !!!!!!!!!!!!!!!!!!!!!!!!!!!

tengo un xajaxResponse en una variable $respuesta, en esa misma funcion la variable termina retornandose. Como hago para que lo que retorne haga que se redireccione a una nueva pagina. Con innerHTML modifico datos y anda. Pero lo otro, como HAGOOOOOOOOOOOOOOOO
  #23 (permalink)  
Antiguo 03/04/2008, 16:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problema con redirección en PHP

Ya te comente, puedes hacer algo así, por decir en tu respuesta PHP:
Código PHP:
echo "OK|" $html
Luego en tu Javascript:
Código:
     var respuesta = ajax.responseText.split( "|" );
     if( respuesta[0] == "OK" ) {
              window.location = "turedireccion.php";
     } else {
              // tu proceso AJAX normal para validar.
      }
Saludos.
  #24 (permalink)  
Antiguo 03/04/2008, 17:07
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Re: Problema con redirección en PHP

Eso lo intente y no funciona.
En la parte correspondiente del PHP puse echo "OK|"; (es adentro de un else, puse eso y NADA MAS. Es el register.php, el action del form)

Y en el index adapte el javascript que tenia con lo que me has dicho:

Código:
	<script type="text/javascript">
	

              // tu proceso AJAX normal para validar.
      	window.addEvent('domready', function(){
	                $('registerForm').addEvent('submit', function(e) {
	                    new Event(e).stop();
	                    var log = $('log_res').empty().addClass('ajax-loading');
	                    this.send({
	                        update: log,
	                        onComplete: function() {
	                            log.removeClass('ajax-loading');
			                    var respuesta = ajax.responseText.split( "|" );
			                 	if( respuesta[0] == "OK" ) {
							             window.location = "turedireccion.php";
							    } 
					        }
	                    });
	                });
	            });
	   
	</script>
Y no pasa nada. Osea, aparece el texto debajo del formulario "OK|" pero no hace ninguna redireccion.
ayuda

Última edición por razer; 03/04/2008 a las 17:17
  #25 (permalink)  
Antiguo 03/04/2008, 21:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problema con redirección en PHP

¿Que librería estas usando para tus procesos AJAX?

Saludos.
  #26 (permalink)  
Antiguo 03/04/2008, 22:04
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Re: Problema con redirección en PHP

Ya lo solucioné. Gracias igualmente por la ayuda.

Las variables que mande como innerHTML puse TODO el formulario.
  #27 (permalink)  
Antiguo 03/04/2008, 22:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problema con redirección en PHP

Seria bueno que publicaras el código con la solución, por si otros usuarios se llegan a plantear la misma duda que tu.

Saludos.
  #28 (permalink)  
Antiguo 24/06/2008, 15:19
Avatar de Jossephb  
Fecha de Ingreso: marzo-2007
Ubicación: Medellin
Mensajes: 24
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Problema con redirección en PHP

Si, sería bueno que nos mostrarás como lo pudiste solucionar... Gracias..
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:17.