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 :

Free/local : générer une image PHP


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut Free/local : générer une image PHP
    Bonjour à tous,

    J'ai cherché, bcp cherché.... mais en vain.

    Voici le problème.
    Je ne suis pas codeur loin de là, mais simple bidouilleur.
    Pour sécuriser le livre d'or de mon site je suis en train de mettre en place une captcha. La première étape concerne la génération d'images en php. En local tout va bien, l'image s'affiche. En revanche à distance lorsque je fais l'essai sur le serveur Free, rien ne s'affiche à part le alt précisé dans le code.

    J'ai fait un phpinfo() et manifestement les librairies DG sont chargées sur le serveur de Free.

    Vous avez une idée ?

    Si besoin j'apporte plus de renseignements, genre le code ou une capture de ce que me raconte le serveur.

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Il serait interressant d'avoir le code source.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Merci de ta réponse,

    Le code source alors :

    fichier image.php (donc l'image générée)
    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
    <?php
    session_start();
    header("Content-type: image/png");
    $liste = "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $code = '';
    while(strlen($code) != 6) {
       $code .= $liste[rand(0,36)];
    }
    $_SESSION['code']=$code;
    $img = imageCreate(70, 20) or die ("Problème de création GD");
    $background_color = imagecolorallocate ($img, 255, 255, 255);
    $ecriture_color = imagecolorallocate ($img, 0, 0, 0);
    $code_police=5;
    header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
    header('Cache-Control: no-store, no-cache, must-revalidate');
    header('Cache-Control: post-check=0, pre-check=0', false);
    imageString($img, $code_police,(70-imageFontWidth($code_police) * strlen("".$code.""))/2,0, $code,$ecriture_color);
    imagepng($img,'',30);
    imageDestroy($img);
    ?>
    et le bout de code appelant dans le formulaire :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <fieldset>
    <legend> Ecrivez votre petit mot </legend>
    <span style="font-size: 10pt ; font-weight: bold ; color: red ;">Recopiez le code de vérification suivant : </span><br /></blink><img src="image.php" alt="pb à signaler svp" />
    <input type="text" name="verif" size="10" maxlength="5" /><br />
    <textarea name="message" rows="11" cols="71"></textarea></center><br />
    <input type="submit" value="Envoyer" />
    </textarea>
    </fieldset>

    Voilà, donc aucun pb en local mais sur le serveur de Free pas moyen..

    Au passage le phpinfo()
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    GD Support 	enabled
    GD Version 	bundled (2.0.28 compatible)
    FreeType Support 	enabled
    FreeType Linkage 	with freetype
    T1Lib Support 	enabled
    GIF Read Support 	enabled
    GIF Create Support 	enabled
    JPG Support 	enabled
    PNG Support 	enabled
    WBMP Support 	enabled
    XBM Support 	enabled

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

    est-ce que le fichier image.php est placé au même endroit que le fichier de ton formulaire?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Oui il l'est, j'ai quasiment tout à la racine à part le morceau de site qui concerne la version anglaise.

    Dsl j'ai vu que vous avez édité mon précédent post.. A moins que ce ne soit automatique ?

    PS : ok merci Julp je viens de voir.. prochaine fois j'oublierai pas

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re,

    je viens de tester tes scripts sur mon espace perso free et j'ai en accédant directement à la page http://login.free.fr/image.php l'erreur suivante:

    Warning: session_start() [function.session-start]: open(/mnt/104/sda/4/a/dreamzzzz/sessions/sess_0fccbbe9b0e0530efe215a640c0e4574, O_RDWR) failed: No such file or directory (2) in /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php on line 2

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php:2) in /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php on line 2

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php:2) in /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php on line 2

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php:2) in /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php on line 3

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php:2) in /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php on line 14

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php:2) in /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php on line 15

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php:2) in /mnt/104/sda/4/a/dreamzzzz/gen_img/image.php on line 16
    ‰PNG  IHDRF ¦Ù;PLTEÿÿÿUÂÓ~RIDAT™c`À'î¿ß|ü˜ÕpãX‚”•cb¥3ÎÈ1H³˜%Ò €YlÉ€,9‰c0KB"Å Ä’à18–eÉCL¦Ö*TeRdôIEND®B`‚
    Warning: Unknown(): open(/mnt/104/sda/4/a/dreamzzzz/sessions/sess_0fccbbe9b0e0530efe215a640c0e4574, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

    Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/104/sda/4/a/dreamzzzz/sessions) in Unknown on line 0

    Ce qui semble poser problème sur free c'est le stockage sur les informations de session. (session.savepath). Il ne semble pas trouver le chemin vers le repertoire mentionné par free.

    En recherchant sur le net j'ai trouvé un post expliquant ce problème.

    http://forum.salemioche.net/ftopic2456.php

    Il faut en fait crééer un repertoire sessions à la racine pour pouvoir stocker les informations sessions.

    Après avoir effectué cette manipulation, l'image s'affiche correctement sur mon espace free.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Merci. Alors j'ai fait qq manips, le tout en vérifiant que ça continue de fonctionner en local.

    J'ai créé le fameux répertoire "sessions" dans lequel j'ai mis "image.php".
    "image.php" est fait de telle sorte que session_start () en est la toute première ligne (comme tout à l'heure celà-dit).

    Résultat j'arrive pas à le faire fonctionner comme tu y es arrivé toi.

    Je dois pas avoir fait ce qu'il faut...

  8. #8
    Invité
    Invité(e)
    Par défaut
    Non,il ne faut pas mettre image.php dans le repertoire sessions, il faut le laisser où il était!
    Il faut juste créer le repertoire sessions à la racine de ton serveur


    tu dois donc avoir l'arborescence suivante sur ton serveur free:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    / -> racine du site
    form.html
    image.php
    sessions/ -> repertoire session qui va contenir les données de session

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Génial !! Ca fonctionne !!
    un grand merci à toi mygale

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 15/05/2006, 16h34
  2. Réponses: 3
    Dernier message: 02/12/2005, 13h23
  3. Comment générer une image dynamiquement ?
    Par K20 dans le forum Langage
    Réponses: 12
    Dernier message: 19/11/2005, 01h27
  4. [ImageMagick] Générer une image à partir de plusieurs images ?
    Par fichtre! dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 16/02/2005, 15h32
  5. [ImageMagick] Comment générer une image d'un code à entrer ?
    Par MiJack dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 16/01/2005, 21h29

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