Redirection avec un header

Redirection avec un header - PHP - Programmation

Marsh Posté le 03-05-2007 à 06:45:41    

Bonjour à tous,
 
j'ai un problème quand vient le temps de faire une redirection avec un header. Pour faire une histoire courte, la redirection se fait si l'on utilise ie mais pas firefox. Si l'on utilise firefox le browser n'en fini pas de charger la page (enfin il ne charge rien du tout) et ce qu'il y a avant ma redirection est bien exécuté.
 
Ça fait quelques années déjà que j'ai codé ce truc en amateur alors soyez indulgent à ce que je vais balancer ci-dessous. Ce n'est qu'un bête script pour rentrer des données dans une base et la redirection se fait à la toute fin. Merci.
 

Code :
  1. <?php
  2. session_start();
  3. $forum = $HTTP_SESSION_VARS['cat'];
  4. $pseudo = $HTTP_POST_VARS['pseudo'];
  5. $passwd = $HTTP_POST_VARS['mdp'];
  6. $sujet = $HTTP_POST_VARS['sujet'];
  7. $message = $HTTP_POST_VARS['message'];
  8. //Tests
  9. if (empty($forum) || empty($pseudo) || empty($passwd) || empty($sujet) || empty($message))
  10. {
  11. die("<div align=\"center\"><link rel=\"stylesheet\" href=\"style1.css\" type=\"text/css\">Tous les champs doivent être remplis.<br><a href=\"javascript:history.back()\">Revenir en arrière</a></div>" );
  12. exit;
  13. }
  14. include("pastouche/cprim.inc" );
  15. $lienbdd = mysql_connect("$host", "$login", "$mdp" );
  16. mysql_select_db("$bdd" );
  17. $cherchepseudo = mysql_query ("SELECT pseudo FROM membres WHERE pseudo = '$pseudo'" );
  18. $trueorfalse = mysql_fetch_array ($cherchepseudo);
  19. if ($trueorfalse == false)
  20. {
  21. die("<div align=\"center\"><link rel=\"stylesheet\" href=\"style1.css\" type=\"text/css\">Votre identifiant ou votre mot de passe est incorrect.<br><a href=\"javascript:history.back()\">Revenir en arrière</a></div>" );
  22. exit;
  23. }
  24. $passcrypt = crypt($passwd,12);
  25. $cherchepasswd = mysql_query ("SELECT passwd, nbmess, id FROM membres WHERE pseudo = '$pseudo'" );
  26. $resultat = mysql_fetch_array ($cherchepasswd);
  27. $supercaca = $resultat['passwd'];
  28. $upnbmess = $resultat['nbmess'];
  29. $utilisateurid = $resultat['id'];
  30. if ($supercaca != $passcrypt)
  31. {
  32. die("<div align=\"center\"><link rel=\"stylesheet\" href=\"style1.css\" type=\"text/css\">Votre identifiant ou votre mot de passe est incorrect.<br><a href=\"javascript:history.back()\">Revenir en arrière</a></div>" );
  33. exit;
  34. }
  35. mysql_close($lienbdd);
  36. if ($forum == 1)
  37. {
  38. die("<div align=\"center\"><link rel=\"stylesheet\" href=\"style1.css\" type=\"text/css\">Hep galopin, on s'amuse pas à changer les paramètres ici.<br><a href=\"javascript:history.back()\">Revenir en arrière</a></div>" );
  39. exit;
  40. }
  41. //Fonctions
  42. $increments = time() - (7*60*60);
  43. $postdate = date("Y-m-d H:i:s",$increments);
  44. $upnbmess++;
  45. $upnbmess2 = $upnbmess;
  46. //transmission
  47. include("pastouche/cforum.inc" );
  48. $liendb = mysql_connect("$host", "$login", "$mdp" );
  49. mysql_select_db("$bdd" );
  50. $sql = "INSERT INTO messages (categorie, idauteur, pseudoauteur, messagecontenu, messagetitre, datemess, lastmodif) VALUES ('$forum','$utilisateurid','$pseudo','$message','$sujet','$postdate','$postdate')";
  51. mysql_query($sql);
  52. $sql2 = "UPDATE membres SET nbmess ='$upnbmess2' WHERE id ='$utilisateurid'";
  53. mysql_query($sql2);
  54. $sql3 = "SELECT nbmess FROM forums WHERE idforums='$forum'";
  55. $result = mysql_query ($sql3);
  56. $truc = mysql_fetch_array ($result);
  57. $nbmess = $truc['nbmess'] + 1;
  58. $sql4 = "UPDATE forums SET nbmess ='$nbmess', lastmodif ='$postdate'  WHERE idforums ='$forum'";
  59. mysql_query($sql4);
  60. mysql_close($liendb);
  61. $antiflood = time();
  62. $antiflood2 = $antiflood + 30;
  63. $HTTP_SESSION_VARS['antiflood'] = "$antiflood2";
  64. if (!empty($HTTP_COOKIE_VARS["MACAVERNE"]))
  65. {
  66. $tab_var = split(";;",$HTTP_COOKIE_VARS["MACAVERNE"]);
  67. setcookie("MACAVERNE","$tab_var[0];;$tab_var[1];;$postdate",time()+14515200);
  68. }
  69. header("Location:?id=pforum&fo=vforum&f=$forum" );
  70. ?>

Reply

Marsh Posté le 03-05-2007 à 06:45:41   

Reply

Marsh Posté le 07-05-2007 à 01:31:31    

Je pense qu'en respectant les normes ça devrait aller mieux ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed