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 :

Retenir variable pour la réinsérer dans une construction d'image


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 65
    Points : 33
    Points
    33
    Par défaut Retenir variable pour la réinsérer dans une construction d'image
    Bonjour

    Désolé pour le titre, j'ai du mal à trouver quelque chose de cours et d'explicite.

    En fait, j'essaie de faire un générateur de signature.
    Le script pour créer la signature marche parfaitement, mais avec des variables locales.

    J'ai essayé, via un formulaire, de pouvoir mettre les données de l'utilisateur sur la signature.
    Mais là j'ai un problème de
    Cannot modify header information - headers already sent by

    J'ai donc essayé après de mettre ces informations dans un cookie puis d'aller sur le générateur de signature pour les récupérer. Mais la pareil, ca ne passe pas.

    Mes codes :
    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
    <?php
    $nom_image = "ban.jpg";  // le nom de votre image avec l'extension jpeg
    #$accomp = "100";  // Le texte que vous désirez écrire sur l'image
    $score = $_COOKIE["deja_venu"];
    #$rank = "5890";
    #$money = "77324";
    $size = 10; //taille police
    header("Content-type: image/jpeg");
     
    // on créé l'image à partir de l'image source
    $image = imagecreatefromjpeg($nom_image);
     
    // on créé la couleur et on l'attribue à une variable pour ne pas la perdre
    $textcolor = imagecolorallocate($image, 255, 255, 255);
     
    putenv('GDFONTPATH=' . realpath('.')); //ligne obligatoire !
    $bbox = imagettfbbox ($size, 0, 'a.ttf', $texte);
     
    imagettftext($image, $size, 0, 358, 77, $textcolor, 'a.ttf', $score);
    imagettftext($image, $size, 0, 358, 90, $textcolor, 'a.ttf', $rank);
    imagettftext($image, $size, 0, 358, 103, $textcolor, 'a.ttf', $accomp);
    imagettftext($image, $size, 0, 367, 116, $textcolor, 'a.ttf', $money);
     
    //renvoie une image sous format jpeg
    imagejpeg($image,'',100); 
            ?>
    Donc là j'ai essayé de récupérer la variable du cookie pour la mettre dans score mais comme le cookie ne se crée pas...


    Mon index.php
    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
    <html>
        <head><title>Ma page daccueil</title>
        <body>
            <h1>Bienvenue sur le site de toto </h1>
            <h2>Commencez-donc par vous inscrire :</h2>
            <form name="inscription" method="post" action="index.php">
                Entrez votre pseudo : <input type="text" name="pseudo"/> <br/>
                Entrez votre ville : <input type="text" name="ville"/><br/>
                <input type="submit" name="valider" value="OK"/>
            </form>
            <?php
            if(isset($_POST['valider'])){
                $pseudo=$_POST['pseudo'];
                $ville=$_POST['ville'];
                echo 'Salut '. $pseudo.'de '. $ville.'<br/>Bienvenue sur mon site !';
    // je cree un cookies pour informer le visiteur si il les a desactive
    	setcookie('score', $pseudo, (time() + 3600));
    echo 'test contenu '.$_COOKIE['test']['test'];
            }
            ?>
        </body>
    </html>
    Donc là je place (ou du moins j'essaie) pseudo dans $pseudo pour ensuite le stocker dans un cookie. Mais ca ne marche pas.


    Si quelqu'un à une idée pour résoudre mon problème, le plus simplement possible.
    Je veux juste récupérer les données d'un utilisateur pour les mettre sur la sign.

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour les cookies comme pour les sessions :
    setcookie() définit un cookie qui sera envoyé avec le reste des en-têtes. Comme pour les autres en-têtes, les cookies doivent être envoyés avant tout autre sortie (c'est une restriction du protocole HTTP, pas de PHP). Cela vous impose d'appeler cette fonction avant toute balise <html> ou <head>.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Un truc symple pour résoudre un grand nombre de problèmes est de se rappeler que PHP fait des traitements, renvoie des entêtes au serveur puis du texte, qui sont ensuite transmis au client par le serveur. Ce texte sera analysé par le navigateur pour faire une jolie présentation (tags HTML).

    Un cookie est une entête. Il doit donc être généré AVANT d'envoyer du texte. Le simple tag <html>, même si ça suffit pas à afficher quelque chose, fait parti du texte renvoyé au navigateur.

    Il est donc toujours préférable de faire un maximum de traitements avant de penser à afficher (ou renvoyer vers le navigateur) quoi que ce soit.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/04/2015, 11h28
  2. Réponses: 7
    Dernier message: 03/01/2012, 11h14
  3. Réponses: 8
    Dernier message: 20/06/2008, 09h00
  4. Récupérer une variable pour l'afficher dans un Edit Text
    Par maiza_med dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 30/04/2008, 10h14
  5. [SGBD] Parser une variable pour mettre données dans bdd MySQL
    Par winnie82 dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 15/03/2006, 17h20

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