2011-11-06 3 views
0

Est-il possible de désactiver la vérification de l'erreur 310 (Redirection de boucle) ou existe-t-il un navigateur (anciennement) qui ne possède pas cette fonction de vérification? Je l'ai besoin pour un script php que j'ai écrit qui vérifie un fichier avec file_get_contents, et il sait quel fichier il est par un id je lui passe, puis il redirige vers la même page avec un ID différent.Désactiver la boucle de redirection

Merci!

+1

L'erreur devrait venir lorsque vous redirigez autant de fois, pas seulement un couple. –

+0

Cela ressemble au type de script qui doit être exécuté dans la ligne de commande, pas un navigateur. – adlawson

+0

comment pourrais-je l'exécuter dans un terminal, est-ce que j'utiliserais python? – Hadrian

Répondre

3

Au lieu d'utiliser header("Location: ...");, essayez ceci:

die('<script type="text/javascript">location.href = "'.$new_location.'";</script>'); 

Cela contourner l'erreur de boucle de redirection.

EDIT: Mieux encore:

die('Some progress information here... 
    <script type="text/javascript"> 
      setTimeout(function() {location.href = "'.$new_location.'"},50); 
    </script>'); 

De cette façon, vous pouvez afficher des informations de progression.

+0

Ca marche juste !!!!!! GÉNIAL! Donc, pour expliquer, je construis une application pour Facebook, et j'ai besoin de ce script pour une chose très cruciale dans mon application. Quand il sera prêt je serai sûr de mentionner votre aide dans les crédits. Merci!! – Hadrian

+0

Maintenant le prochain problème ... Quand je reçois un objet valide, il est stocké dans la base de données et d'accord, mais il jette alors un id invalide. ------- Donc, ça va comme ça, je fais un $ _GET pour recevoir l'ID, puis il ajoute 1, donc $ newid = $ _GET ['id'] + 1, mais au lieu de faire ce que je imaginé il renvoie une valeur comme: ------ si je mets l'id = 112838412062991 il traite, il est valide et enregistre les données dans ma base de données, mais ensuite sur l'ID suivant, il retourne: 1.1283841206299E + 14 . Et il comprend ce nouvel identifiant comme nombre décimal. – Hadrian

+0

Les chiffres sont trop grands, évidemment. Restez moins de 2^32 si vous savez ce qui est bon pour vous. Soit cela ou utiliser une extension comme BC Math. –

Questions connexes