Faire une redirection apres l'execution d'un get

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Faire une redirection apres l'execution d'un get

par charabia » 18 avr. 2007, 14:15

Tu peux faire un window.location="ta_page.php" après ton traitement.

par TimaL » 18 avr. 2007, 12:56

La redirection header ne fonctionne pas :

Warning: Cannot modify header information - headers already sent by (output started at /home.4/c/e/d/index_chheckbox.php:25) in /home.4/c/e/d/index_chheckbox.php on line 1977

En ligne 25 j'ai :

<script language="JavaScript">

Les redirections meta et javascript doivent etre misent dans le header donc je ne peux pas les utiliser dans mon switch n'est ce pas?



Merci

par TimaL » 18 avr. 2007, 12:39

exact dans cette page j'ai un switch pour tester command :

Code : Tout sélectionner

switch($command) { case "renameFile": RenameFile(); break; case "deleteFile": DeleteFile(); break; default: ShowFiles(); }
je vais essayer de rediriger entre la fonction et le break, merci!

[/code]

par charabia » 18 avr. 2007, 12:01

Dans cette page : index_chheckbox.php, à un moment ou un autre j'imagine que tu testes la variable "command" et selon chaque cas tu fais un traitement ou un autre.

C'est au niveau de ces deux traitements que tu dois faire la redirection.

par TimaL » 18 avr. 2007, 11:58

D'accord mais pour que les fonctions s'éxécute je dois avoir dans le lien soit

-index_chheckbox.php?command=renameFile


ou soit


-index_chheckbox.php?command=deleteFile

donc je ne peux pas mettre dans mes deux

form1.action=

l'adresse index_chheckbox.php sinon les deux fonctions ne s'éxécuteront pas.

Bon je pense que je ne comprend pas ce que vous voulez me dire :(

par charabia » 18 avr. 2007, 11:31

Non Timal, Ryle te parle de la page index_chheckbox.php, là où tu vas faire le traitement. C'est là que la redirection va se faire avec l'une des 3 méthodes indiquées par Ryle.

par TimaL » 18 avr. 2007, 11:13

Salut, merci à vous.

C'est ici que je dois faire ma redirection?

Code : Tout sélectionner

<input type="button" name="bouton1" value="Rename" onclick="validerBouton1()" /> <INPUT Type="text" Name="entertext" value="Enter the new name" Size="18" Maxlenght="200"> <input type="button" name="bouton1" value="Delete" onclick="validerBouton2()" />
Merci

Tim

par Ryle » 16 avr. 2007, 11:18

Avant la soumission plutôt qu'avant le clic je dirais :)

Mais même dans l'autre sens, je n'en vois pas trop l'intérêt.. pourquoi ne te contentes tu pas de soumettre le formulaire à index_chheckbox.php et de laisser cette page s'occuper de la redirection avec un header() ou un méta, ou du javascript s'il le faut ? :)

par charabia » 16 avr. 2007, 10:04

Sur ton script tu fais une redirection avant le "clic" sur le bouton submit.

par TimaL » 15 avr. 2007, 14:40

Merci pour vos réponses!

Je pense que je dois utiliser javascript, car mon head en contient déja et j'ai pas mal de echo dans la fonction!


voici le javascript dans le head
<script language="JavaScript">
function validerBouton1()
{
    form1.action="index_chheckbox.php?command=renameFile";
    window.location.href = "fichier2.htm";

    form1.submit();
}

function validerBouton2()
{
    form1.action="index_chheckbox.php?command=deleteFile";
    window.location.href = "fichier2.htm";

    form1.submit();
}
</script>
Je voudrais qu'après avoir exécuté "command" il y'est une redirection sur fichier2.htm. Une fois qu'on a cliqué sur le bouton en fait.


actuellement la redirection n'a pas lieu.

Merci à vous.
Tim

par Ryle » 13 avr. 2007, 15:43

Tant que tu n'as pas envoyé de code au navigateur (echo, print, code html, espace, retour charriot, etc.) c'est possible en php, il te suffit d'utiliser la fonction header() en spécifiant l'adresse vers laquelle rediriger :) :
<?php 
 ... // ton traitement

  header('Location: mapage.php'); // ta redirection
  exit(); // arrête le traitement après la redirection
?>
Edit : Grumpf... grilled :(

par charabia » 13 avr. 2007, 15:41

Après ta fonction tu peux utiliser en PHP : header() et en Javascript : window.location.

Fait une petite recherche dessus tu verras ;)

Faire une redirection apres l'execution d'un get

par TimaL » 13 avr. 2007, 15:32

Bonjour,

voici mon probleme.
J'effectue un get pour traiter une fonction, jai donc apres dans le lien un truc du genre :

www.index.php?command=listfile

est-il possible que juste apres que se soit effectue cette fonction ait lieu une redirection?
Est-ce possible en PHP? Ou faut-il utiliser JavaScript?

Dans un premier temps, j'aurais donc www.index.php?command=listfile puis instantanement apres www.index.php.

Voyez-vous ce que je veux dire?

Merci a vous!
Bon weekend

Tim