Comunidad de diseño web y desarrollo en internet online

Reedireccionar else en php

Citar            
MensajeEscrito el 07 Sep 2011 04:22 pm
Hola!!

Tengo un php que funciona bien, el problema es que cuando se realiza la operacion (ingresar datos a sql) me tira un mensaje tipo texto dependienso si hubo error o se realizo la operacion. El problema es que en vez que me aparesca ese mensaje de texto, quiero que me reedireccione a otra pagina, por ejemplo index.html. ya intente haceer varias cosas, pero lo unico que me genera es que el codigo quede inservible.

Anexo el codigo a ver si me pueden ayudar

Código PHP :

<?
include('us_config.php');
    // Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
    if(isset($_POST['username']) && !empty($_POST['username']) &&
    isset($_POST['password']) && !empty($_POST['password']) &&
    isset ($_POST['email']) && !empty($_POST['email'])) {
        // Si entramos es que todo se ha realizado correctamente
      $password = md5($_POST['password']);
      $username = htmlentities($_POST['username']);
      $mail = htmlentities($_POST['email']);
      
        $link = mysql_connect ($dbhost, $dbusername, $dbuserpass);
        mysql_select_db($dbname,$link);
      
      $queEmp = "SELECT username FROM usuarios WHERE username='$username'";
      $resEmp = mysql_query($queEmp, $link) or die(mysql_error());
      $totEmp = mysql_num_rows($resEmp);
      if($totEmp > 0){
      echo "Nombre de usuario no disponible, selecciona otro";
      exit();
      }
      
      $queEmp = "SELECT email FROM usuarios WHERE email='$mail'";
      $resEmp = mysql_query($queEmp, $link) or die(mysql_error());
      $totEmp = mysql_num_rows($resEmp);
      if($totEmp > 0){
      echo "El mail ingresado ya esta registrado";
      exit();
      }
      
        // Con esta sentencia SQL insertaremos los datos en la base de datos
        mysql_query("INSERT INTO usuarios (username,password,email)
        VALUES ('{$username}','{$password}','{$mail}')",$link);

        // Ahora comprobaremos que todo ha ido correctamente
        $my_error = mysql_error($link);

        if(!empty($my_error)) {

            echo "Hubo un error al insertar los valores $my_error";

        } else {

            echo "Los datos han sido introducidos satisfactoriamente haga click aqui para continuar";

        }

    } else {

        echo "Error, no ha introducido todos los datos, intente nuevamente";

    }

?>


Si no es posible o si es dificil, tambien estaba buscando la manera de generar un link, por ejemplo "ah ocurrido un error, haga click aqui para continuar" pero tampoco me deja generar links porque todo me lo toma como texto!!

Si alguien me pudiera ayudar se los agradeceria

=)

Por dex_ter88

20 de clabLevel



 

msie8
Citar            
MensajeEscrito el 07 Sep 2011 06:47 pm
Ya probaste con la opcion header:

Código PHP :

header('Location: http://www.redireccion.com/'); 


Puedes verlo en el manual de php:

Header

Por danmoracr

Claber

128 de clabLevel

1 tutorial

Genero:Masculino  

Web application developer

firefox
Citar            
MensajeEscrito el 07 Sep 2011 08:14 pm
ya lo intente, pero al contrario, el codigo queda inservible D:

Alguna otra sugerencia?

Por dex_ter88

20 de clabLevel



 

msie8
Citar            
MensajeEscrito el 08 Sep 2011 01:40 am
la funcion header no funciona cuando una pagina genera codigo html previo o despues de la misma.
te lanzará un error del tipo 'headers already sent'

La manera menos ortodoxa y que funciona es la siguiente:


Código PHP :


 }else{
   
      ?>
   <script type="text/javascript">

   location.href="http://www.pagina.com";

</script>


<?php


}




saludos

Por sebifrost

61 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Sep 2011 04:34 pm
Este ultimo funciono!!

Gracias!!!!!

Por dex_ter88

20 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.