Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Maties 360 en 22 Octubre 2007, 16:48 pm



Título: Problemas con "header('location: ......');
Publicado por: Maties 360 en 22 Octubre 2007, 16:48 pm
Buenas, como dije en el anterior post, estoy haciendo una clasificacion para una liga de futbol. Y el problema que tenía con el formulario de que cuando ponias actualizar pagina o presionabas F5, se repetia el proceso de introduir los datos a la base de datos.

Y lo que hice para solventarlo fue hacer que el formulario se procesara en otra pagina y que de esa pagina con un "header('location:'); se redirigiera a la página principal.

Un ejemplo:

Código
  1. <?php
  2. header('Location: classificacio.php');
  3.  
  4. include('conexion.php'); //para conectar a la bd
  5.  
  6. $local= $_GET['local'];
  7. $visitant= $_GET['visitant'];
  8. $golslocal= $_GET['golslocal'];
  9. $golsvisitant= $_GET['golsvisitant'];
  10.  
  11. if ($local == $visitant || empty($golslocal) || empty($golsvisitant)) {
  12. echo "Se han producido los siguientes errores:"."<br><br>";
  13.  
  14. if ($local == $visitant) {
  15. echo "-No puede jugar un equipo contra si mismo!";
  16. }
  17. if (empty($golslocal) || empty($golsvisitant)) {
  18. echo "-No has dado ninguna informacion sobre los goles!";
  19. }}
  20.  
  21. else {
  22.  
  23. //y aqui lo demas de que si el '$golslocal' es mas grande que el otro que se ponga este mysql_query();, y etc...
  24.  
  25. }
  26. ?>
  27.  

Y el problema està en que no me detecta los errores de los goles y los de los nombres de los equipos. Se redirecciona solo sin hacer nada, y lo he intentado poner 
despues de las estructuras de control y me salta el típico error del header('Location:');.

Espero que alguien me pueda ayudar.

Salu2


Título: Re: Problemas con "header('location: ......');
Publicado por: alone-in-the-chat en 22 Octubre 2007, 17:00 pm
Una vez que has lanzado mensajes al explorador no puedes lanzar una cabecera puesto que estas ya se han lanzado
por que no pruebas en vez de usar un Header usar un document.location.href de javascript


Saludos


Título: Re: Problemas con "header('location: ......');
Publicado por: Azielito en 22 Octubre 2007, 18:37 pm
Podrias hacer la redireccion con HTML y/o javascript para que te de los errores y entonces te mande a la redireccion :)

o sea
Código
  1. si(local=visitante){
  2. msg("No joda!, no pode jugar contra si mismo!!");
  3. redirecciona("clasificacion.php");
  4. }