IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

envoi d'un cookie en milieu de page


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut envoi d'un cookie en milieu de page
    Bonsoir,

    je voudrais n'envoyer un cookie qu'en milieu d'une page, après avoir fait un test ; comme je sais qu'il faut le placer en tout début de page, j'ai voulu insérer dans la page qui contient le test une iframe avec le fichier PHP qui envoie le cookie. Mais ça ne marche pas : comment faire ?

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    ce qu'il faut faire c'est séparer les calculs de l'affichage
    comme ça dans un 1er temps tu fais les calculs, les tests et l'envoi de cookie et ensuite dans un 2e temps tu fais l'affichage de la page

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Merci, ça a marché ;en gros, j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ?>
    <iframe src="action_seconnecter2.php" width="0" height="0"></iframe>
    <?php
     
    $sql='update `login` set `connecte`=1 where login="'.$login.'"';
    $result1 = mysql_query($sql) or die(mysql_error());
    echo "Vous &ecirc;tes connect&eacute<br>";
    où l'envoi de cookie est dans "action_seconnecter2.php", mais si je mettais la 2e partie (de $sql=...à l'echo) dans une seconde iframe, celle-ci n'étais pas exécutée...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    nosferapti t'a donné la solution,
    Puisque ton PHP finira par envoyer un html au visiteur, tu peux faire tout tes test même si cela fait 100 lignes, puis creer ton cookies
    Et la tu commences tes ECHO ou en fermant ?>
    directement ton html !

    Mais fais trés attention aux IFRAMES déjas certains prudents interdisent javascript, mais encore plus de visiteurs n'affichent plus les IFRAMES
    là ou sont les pub, les trojan et surtout une fuite immédiate de ta session.

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    OK pour l'averto, mais à part une iframe, je ne vois pas d'autre solution...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Mais si tu donnes l'Url ou mieux le PHP complet de ta page on pourrait t'aider

    Je ne connais pas de cas ou un IFRAME ne soit incontournable

  7. #7
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    OK,

    voici la fonction qui contient l'iframe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    function seconnecter()
    {
    ?><a href="index1.php">Retour au forum</a><br><br><?php
    $id_conn = connect();
     
    $login=stripslashes($_POST['login']);
    $pwd=stripslashes($_POST['pwd']);
     
    $pwd=md5($pwd);
     
    if ($_SESSION["connecte"]==1)
        {echo "Vous êtes d&eacute;j&agrave; connect&eacute;";
    	 }
    else	{
    $OK=0;
    $sql="select login,pwd from `login`";
    $sql = stripslashes($sql);
    $result = mysql_query($sql) or die(mysql_error());
     
     while ($ligne=mysql_fetch_array($result,MYSQL_NUM))
     {
    if (($ligne[0]==$login)&&($ligne[1]==$pwd))
    {
    ?>
    <iframe src="action_seconnecter2.php" width="0" height="0"></iframe>
    <?php
     
    $sql='update `login` set `connecte`=1 where login="'.$login.'"';
    $result1 = mysql_query($sql) or die(mysql_error());
    echo "Vous &ecirc;tes connect&eacute<br>";
     
    $OK=1;
    } 
    }
    if ($OK==0) echo "pseudo ou mot de passe incorrect ";
    }
    close($id_conn);
     
    }
    ?>
    (Rien en début de fichier) et ce que j'ai mis au début de la page qui appelle cette fonction (le reste n'a aucun intérêt) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php session_start();if (! $_COOKIE["connecte"]) { $connecte=0; /*setcookie("connecte","true",time()+3214080000);*/} else $connecte=1;$_SESSION["connecte"]=$connecte;
    if (!$_COOKIE["login"]) { setcookie("login",$_POST['login'],time()+3214080000);} ?>
    et le fichier contenu dans l'iframe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php  session_start(); setcookie("connecte","true",time()+3214080000);
    setcookie("login",$_SESSION["login"],time()+3214080000);
     ?>
    S'il y a une solution, ça m'intéresse.

  8. #8
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par nosferapti Voir le message
    ce qu'il faut faire c'est séparer les calculs de l'affichage
    comme ça dans un 1er temps tu fais les calculs, les tests et l'envoi de cookie et ensuite dans un 2e temps tu fais l'affichage de la page
    quand j'ai écrit ce message je ne pensais pas l'iframe

    tu peux mettre directement la fonction "setcookie" dans la fonction "seconnecter"
    ensuite tu sors l'affichage du lien et les "echo" de la fonction "seconnecter" et tu fais tout cet affichage après l'appel de "seconnecter"

  9. #9
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Pourquoi changer un truc qui marche ? De plus l'echo est contenu dans une boucle while (cf ci-dessus), donc ça ne serait pas facile à faire...

  10. #10
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Pourquoi changer un truc qui marche ?
    justement ça ne fonctionne pas c'est pour ça que tu nous demandes notre avis, non ?
    mais ensuite si tu n'essayes pas ce qu'on te propose, je ne vois pas comment on peut t'aider

  11. #11
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par nosferapti Voir le message
    justement ça ne fonctionne pas c'est pour ça que tu nous demandes notre avis, non ?
    mais ensuite si tu n'essayes pas ce qu'on te propose, je ne vois pas comment on peut t'aider
    Si en ayant utilisé ce que tu avais proposé, ça marchait () mais essayer la nouvelle proposition est loin d'être évident.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Cookies] Erreur cookie php milieu de page chez Free
    Par fabiofabio dans le forum Langage
    Réponses: 7
    Dernier message: 11/02/2008, 15h30
  2. Figure en milieu de page, comment la remonter ?
    Par enneite dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 6
    Dernier message: 24/11/2007, 19h01
  3. Réponses: 7
    Dernier message: 20/02/2007, 13h22
  4. Lancer une fonction js en milieu de page
    Par Anonymus dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/02/2007, 10h08
  5. Réponses: 15
    Dernier message: 02/03/2006, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo