header location vers iframe

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 : header location vers iframe

Re: header location vers iframe

par Mezixx » 10 avr. 2018, 14:43

Oui d'accord mais je n'y connais rien en ajax...as tu as exemple à me donner ?

Re: header location vers iframe

par kevin254kl » 10 avr. 2018, 12:40

Bonjour,

J'éviterais d'utiliser des iframes, https://stackoverflow.com/questions/362 ... d-practice
Avec de l'ajax et css cela serait plus propre, ce n'est que mon humble avis.

Re: header location vers iframe

par Mezixx » 10 avr. 2018, 08:17

Merci d'avoir pris le temps de me répondre.

Concernant la première solution, j'ai déjà essayé et en fait c'est la page dans son ensemble qui apparait dans l'iframe...

Concernant la deuxième option, c'est un peu flou pour moi pourrais tu me donner un ou deux exemples?

Comme tu as du le voir au dessus, j'utilise déjà les SESSION avec mon HEADER LOCATION profil.php?id=".$_SESSION['id']); ... c'est cela que je devrai injecter dans l'URL ?mais je ne trouve pas le code avec l'attribut src...

Sinon j'ai déjà vu un ou deux sujet concernant la modification de la src mais c'était en javascript (onsubmit) et je ne n'ai pas réussi à mettre cela en place...

Re: header location vers iframe

par @rthur » 10 avr. 2018, 01:16

Je confirme, header(location) fonctionne en PHP donc côté serveur.
Or là tu veux faire un changement côté client (intervenir sur une iframe)

Tu as 2 possibilités :
- soit tu envoies ton formulaire dans l'iframe, cela évite de recharger toute la page.
Par exemple :

Code : Tout sélectionner

<form method="POST" action="" target="iframe"> <input type="email" name="mailconnect" placeholder="Mail" /> <input type="password" name="mdpconnect" placeholder="Mot de Passe" /> <input type="submit" name="formconnexion" value="Se Connecter" /> </form>
- soit tu fais le traitement d'identification dans ta page principale, et par contre une fois identifié, tu passes un paramètre soit dans l'url de l'iframe (via l'attribut src de la balise iframe) soit via un cookie, soit dans une session pour indiquer que l'utilisateur est connecté et donc faire un traitement spécifique.

header location vers iframe

par Mezixx » 09 avr. 2018, 23:55

Bonsoir,

après de nombreuses recherches, je ne trouve pas de réponse à ma question...je m'explique :

Sur mon site j'ai mis en place une zone d'authentification.
J'ai voulu cette zone d'authentification sur ma page principale.

Cette page principale possède une iframe qui reçoit les pages "appelées" par les différents liens du site. C'est un peu l'espace de vie principal du site, tout passe par cette iframe générale ... ET TOUT FONCTIONNE PARFAITEMENT.

Mon problème :

Mon utilisateur s'identifie via le formulaire suivant :

...
<form method="POST" action="">
<input type="email" name="mailconnect" placeholder="Mail" />
<input type="password" name="mdpconnect" placeholder="Mot de Passe" />
<input type="submit" name="formconnexion" value="Se Connecter" />
</form>


Si mon utilisateur est bien existant ce dernier est redirigé vers une page profil.php contenant son profil grâce au code :

...
header("location: profil.php?id=".$_SESSION['id']);


alors que moi je voudrai que la page profil.php (avec sa variable SESSION) s'affiche dans mon iframe principale composée comme ceci :

...
<iframe name="iframe"></iframe>



j'ai consulté pas mal de forum ou on parle de l'option javascript pour simuler un "target", de l'impossibilité de ciblé une iframe en php...j'ai retourné des bouts de code dans tous les sens mais cela ne marche pas...je seche...

Merci d'avance pour votre aide (en espérant avoir été clair dans mes propos...)