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

Bibliothèques et frameworks PHP Discussion :

[Images] Décomposer un mot pour que chaque lettre soit un GIF [Débutant(e)]


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 24
    Points
    24
    Par défaut [Images] Décomposer un mot pour que chaque lettre soit un GIF
    Bonjour à tous.

    Voilà, j'ai un ptit formulaire...
    Première étape: titre.

    l'utilisateur entre un titre... Exemple: bonjour à tous...

    Ensuite j'ai eu ce script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $string = 'bonjour à tous';
    $lg = strlen($string);
    $i = 0;
    while ($i < $lg)
    {
    echo $string[$i] . '<br>';
    $i ++;
    }
    ?>
    Il est censé décomposé le bonjour à tous en lettre afin que toutes les lettres soit remplacées par un gif.

    Donc B.gif, O.gif; ...

    mais évidement, j'y comprends pas grand chose et je ne vois pas où mettre l'adresse pour les lettres.

    Quelqu'un a t il compris quelque chose? Peut il me dire ce que je dois rajouter??

    Merci de votre réponse...
    Sinon, merci de m'avoir lu...
    Michael

  2. #2
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Voici un code pour récupérer ton nom d'image (ex: b.gif) dans un tableau $image:
    <?php
    $string
    = 'bonjour à tous';
    for (
    $i=0;$i<strlen($tring);$i++){
    &#160;&#160;&#160;&#160;&#160;&#160;
    $image&#91;]= $string&#91;$i].'.gif';
    }
    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 24
    Points
    24
    Par défaut
    salut yobs,

    merci pour ta réponse; Je vois que tu es un expert en php.. mais pas moi.

    En fait, le champ qui contient le titre, s'appelle titre
    Et le répertoire où sont contenues les polices, alphabet...

    Ou dois je placer ces info dans le script?

    Merci de me répondre et de perdre ton temps pour moi.

    michael

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 42
    Points : 29
    Points
    29
    Par défaut
    Moi je dirai qu'au moment de l'affichage peut-etre essayer un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $string = 'bonjour à tous';
    for ($i=0;$i<strlen($string);$i++){
          echo("<img src=\"alphabet/".$string[$i].".gif\">");
    }
    ?>
    A confirmer et surtout a tester !

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 24
    Points
    24
    Par défaut
    bon en fait j'ai fait ce que tu as dit
    donc un formulaire que voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form method="post" action="<a href="http://ns5.wistee.fr/~ligue/deco/php/new.php" target="_blank">http://ns5.wistee.fr/~ligue/deco/php/new.php</a>" name="AVIS">
    titre
    <input name="Titre" size="34" value="titre" type="text"></td></tr>
    <input value="Etape suivante" name="envoyer" type="submit">
    <input value="Recommencer" name="recommencer" type="reset">
    </font></form></body></html>
    et le php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $string = '<?php echo $_POST['titre']; ?>';
    for ($i=0;$i<strlen($string);$i++){
          echo("<img src=\"alphabet/".$string[$i].".gif\">");
    }
    ?>
    mais cela ne fonctionne pas. je dois être idiot. lol

    Merci pour ton aide. Michael

  6. #6
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Salut,

    c'est quoi ce 'echo' pour mettre la valeur dans $string?
    Pas besoin de ca...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $string = $_POST['titre'];
    for ($i=0; $i < strlen($string); $i++){
          echo("<img src=\"alphabet/".$string[$i].".gif\">");
    }
    ?>
    Voir même un peu mieux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    for ($i=0; $i < strlen($_POST['titre']); $i++){
          echo("<img src=\"alphabet/".$_POST['titre'][$i].".gif\">");
    }
    ?>
    Voire même encore mieux, par soucis d'optimisation:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     <?php
    for ($i=0, $strlen = strlen($_POST['titre']); $i < $strlen; $i++){
           echo("<img src=\"alphabet/".$_POST['titre'][$i].".gif\">");
     }
     ?>
    Pourquoi cette dernière solution? Si tu gardes $i < strlen(blabla) comme condition de continuation de ta boucle, alors à chaque itération, tu vas calculer la longueur de ta chaine, qui dans ce cas ci ne change pas du tout. Alors autant mettre une première fois ce calcul dans les initialisations de la boucle ($i = 0, $strlen = strlen($_POST['titre'])), ainsi ca ne sera calculé qu'une seule fois. Mais bon, ca c'est juste parce que j'aime bien chipoter

  7. #7
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Sinon peut-etre ptite "optimisation", la si tu passes une savonette à ton script bonjour le travail, soit gère une exception soit tu fait un truc du style avec les expression réguliere:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    for ($i=0; $i < strlen($_POST['titre']); $i++)
    {
         if (<a href="http://www.php.net/preg_match" target="_blank">preg_match</a>("![a-z0-9]!i",$_POST['Titre'][$i]))
        {
              echo("<img src=\"alphabet/".$_POST['titre'][$i].".gif\">");
        }
        else
        {
              <a href="http://www.php.net/echo" target="_blank">echo</a> 'Lettre invalide';
        }
    }
     ?>
    Après il te faura reglé le probleme des signe de ponctuation etc.

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 24
    Points
    24
    Par défaut
    re,

    j'ai tout essayé, les quatres codes, mais cela ne fonctionne pas...

    michael

  9. #9
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $string = $_POST['titre'];
    for ($i=0;$i<strlen($string);$i++){
          echo '<img src="alphabet/' . $string[$i] . '.gif">');
    }
    ?>
    Tu es sûr de ton path (alphabet/a.gif) ? Tu n'as absolument rien qui s'affiche ou une image vide ?
    Fais echo $string après avoir affecté sa valeur.

  10. #10
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 24
    Points
    24
    Par défaut
    Les fichiers se trouve dans le repertoire alphabet... les lettres sont a.gif, b.gif, ...

    La page est entièrement vide rien n'apparait. (avec les autres codes) .J'ai fait un dump pour vérifier que le champs passait bien et il passe

    Avec ton code, voici ce qui apparait:

    Parse error: syntax error, unexpected ')', expecting ',' or ';' in /home/ligue/domains/ligue.ns5-wistee.fr/public_html/deco/php/new.php on line 38

    voici pour être clair l'endroit ou je mets le fichier:

    http://ns5.wistee.fr/~ligue/deco/php/titre.html

    et l'alphabet se trouve ici:

    http://ns5.wistee.fr/~ligue/deco/php/alphabet/

    voilà voili,

    Michael

  11. #11
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    En effet chtite erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $string = $_POST['titre'];
    for ($i=0;$i<strlen($string);$i++){
          echo '<img src="alphabet/' . $string[$i] . '.gif">';
    }
    ?>
    Un truc m'interpelle : ton fichier a bien une extension .php parce que dans ton dernier post c'est marqué .html (j'espère que c'est juste une erreur de recopie)...

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 24
    Points
    24
    Par défaut
    re,

    le formulaire à une extension html mais le fichier qui contient le code à une extension php..
    Mais cela ne donne rien, rien n'apparaît à l'écran.

    Merci pour ton aide.

    Michael

  13. #13
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Ok, tu as fait un echo $string comme je te l'ai conseillé (mets le reste du code en commentaire à la limite) ?

  14. #14
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 24
    Points
    24
    Par défaut
    excuse moi mais je n'avais pas vu l'écho string... Mais peux tu me dire où je dois mettre ca?

    oui désolé c'est fait je l'ai mis après le code

    Mais cela ne change rien...

    Je te remets mon formulaire et mon php... parce que je maitrise pas tout...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form method="post" action="<a href="http://ns5.wistee.fr/~ligue/deco/php/new.php" target="_blank">http://ns5.wistee.fr/~ligue/deco/php/new.php</a>" name="AVIS">
    titre
    <input name="Titre" size="34" value="titre" type="text"></td></tr>
    <input value="Etape suivante" name="envoyer" type="submit">
    <input value="Recommencer" name="recommencer" type="reset">
    </font></form></body></html>
    Php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
    <body>
    <?php
    var_dump('<pre>', $_POST, '</pre>');?>
    <?php
    $string = $_POST['titre'];
    for ($i=0;$i<strlen($string);$i++){
          echo '<img src="alphabet/' . $string[$i] . '.gif">';
    }
    ?>
    echo $string
    </body>

  15. #15
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Sauf erreur de ma part, dans ton formulaire le nom que tu donne à ta balise titre est 'Titre' donc tu devrais récupérer ta variable avec $_POST['Titre'] et non $_POST['titre'].

    Aussi comme on te la conseillé place un echo string pour vérifier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $string = $_POST['Titre'];
    echo $string;

  16. #16
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    echo $string c'est du code PHP donc il faut le mettre dans les balises PHP quand même <? ?>...

    Mets ça dans ton php (et que ça) et dis-moi ce que tu as comme résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <html>
    <body>
    <?php
    $string = $_POST['titre'];
    echo $string;
    ?>
    </body>
    </html>

    Edit : bien vu Yobs

  17. #17
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 24
    Points
    24
    Par défaut
    Bin oui évidement... Pour un détail et une erreur de ma part je t'ai fait perdre ton temps.

    Mais cela fonctionne maintenant et je t'en remercie... Tu m'as fort aidé.

    Michael

  18. #18
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 24
    Points
    24
    Par défaut
    Bon en fait cela fonctionne très très bien et je t'en remercie... Mais j'ai juste un petit soucis...

    Lorsqu'il crée le gif, il ajoute à coté de celui-ci le titre que j'ai tapé en lettre normale...

    On peut supprimer cela?

    Merci

  19. #19
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Ca doit pas être méchant, donnes la dernière version de ton code pour voir.

  20. #20
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 24
    Points
    24
    Par défaut
    Voila le code que j'utilise...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $string = $_POST['Titre'];
    for ($i=0;$i<strlen($string);$i++){
          echo '<img src="alphabet/' . $string[$i] . '.gif">';
    }
    ?>
    <?php echo $string ;?>
    Et tant que j'y suis... pour l'espace, il me met un carré avec croix rouge (je veux bien mettre un gif mais quoi?)...

    Tu es super sympa

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XML] Fichier XML. Comment faire pour que chaque balise soit différente ?
    Par Jusd'abricot dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 12/11/2009, 16h42
  2. Plusieurs Redemarrage PC client pour que la GPO soit appliquée
    Par vins5467 dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 16/06/2007, 18h52
  3. Réponses: 5
    Dernier message: 08/12/2006, 18h26
  4. CSS: comment faire pour que mes coins soit arrondi
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 16/02/2006, 12h08

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