1485 sujets

Web Mobile et responsive web design

Bonjour à tous,

Je teste un site web qui marche bien en IE, Firefox ... sur un mobile (samsung) et je rencontre 2 problèmes.

Le premier :
Dans un formulaire, pour éviter de faire un refresh de la page et de reposter le formulaire, je fais un header:Location ...
J'ai sur le samsung un message d'avertissement me demandant si j'accepte cette redirection. Savez-vous pourquoi

Le deuxième :
Toujours dans un formulaire, j'ai un champ nommé Email. J'entre un email et poste le formulaire. Un peu plus loin, j'ai un autre formulaire avec le même nom de champ. Il pré-rempli le champ avec la première valeur tapée. Comment éviter ça ?

Merci de votre aide
Laurent
Salut,

Première question : Je pense que c'est pour des raisons de sécurité et pour que lu'tilisateur soit au courant des "risques" qu'il prend.

Deuxième question: il te suffit de changer le nom de ton champ dans le formulaire.
Merci N-J d'avoir répondu.

Concernant le champ dans le formulaire, mea culpa j'appelle toujours le même formulaire avec des input text qui portent le même nom.

Par contre, concernant le header:Location, je serai d'accord qu'il affiche un tel message si j'appelais une page d'un autre domaine. Mais là, il s'agit d'une page dans le même domaine. Aucun browser ne m'affiche ce genre de message sauf sur le browser du samsung S5230.
Je n'ai pas trouvé non plus une option permettant de désactiver ce message.
Quelqu'un aurait-il une idée, le même cas ?
Le coup de la confirmation vient peut-être de ça : normallement, en HTTP, un header Location (de type 302 Found, par défaut avec la fonction header de PHP), devrait garder la méthode HTTP.

Donc un Location 302 après un POST recharge la page en POST Smiley confus Les navigateurs "normaux" par contre transforment en GET. Donc le Samsung, qui respecte bien le standard HTTP/1.1, demande confirmation.

Essaye avec le "vrai" header, conçu pour faire un rechargement GET après un POST, le 303 See Other :
header('Location:  http://tonsite.com/tapage.html',  true, 303);