Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2006, 01h14   #1
Invité régulier
 
Inscription : avril 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 56
Points : 7
Points : 7
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 :
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
Liondd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 04h15   #2
Membre émérite
 
Avatar de Yobs
 
Inscription : avril 2004
Messages : 675
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2004
Messages : 675
Points : 808
Points : 808
Envoyer un message via MSN à Yobs
Voici un code pour récupérer ton nom d'image (ex: b.gif) dans un tableau $image:
Citation:
<?php
$string
= 'bonjour à tous';
for (
$i=0;$i<strlen($tring);$i++){
      
$image[]= $string[$i].'.gif';
}
?>
Colorez votre code PHP sur les forums grâce à Developpez.com
__________________
Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés
Yobs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2006, 23h49   #3
Invité régulier
 
Inscription : avril 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 56
Points : 7
Points : 7
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
Liondd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2006, 23h56   #4
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 42
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 42
Points : 14
Points : 14
Moi je dirai qu'au moment de l'affichage peut-etre essayer un truc dans le genre :

Code :
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 !
jfjava2002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 00h14   #5
Invité régulier
 
Inscription : avril 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 56
Points : 7
Points : 7
bon en fait j'ai fait ce que tu as dit
donc un formulaire que voici:

Code :
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 :
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
Liondd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 08h44   #6
Membre expérimenté
 
Développeur Web
Inscription : 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 : 538
Points : 538
Salut,

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

Code :
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 :
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 :
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
bkill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 09h02   #7
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 30
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 30
Points : 11
Points : 11
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 :
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.
InDaWinD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 11h25   #8
Invité régulier
 
Inscription : avril 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 56
Points : 7
Points : 7
re,

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

michael
Liondd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 11h59   #9
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Code :
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.
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 12h21   #10
Invité régulier
 
Inscription : avril 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 56
Points : 7
Points : 7
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
Liondd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 12h28   #11
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
En effet chtite erreur.

Code :
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)...
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 13h35   #12
Invité régulier
 
Inscription : avril 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 56
Points : 7
Points : 7
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
Liondd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 13h45   #13
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Ok, tu as fait un echo $string comme je te l'ai conseillé (mets le reste du code en commentaire à la limite) ?
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 13h55   #14
Invité régulier
 
Inscription : avril 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 56
Points : 7
Points : 7
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 :
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 :
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>
Liondd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 14h09   #15
Membre émérite
 
Avatar de Yobs
 
Inscription : avril 2004
Messages : 675
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2004
Messages : 675
Points : 808
Points : 808
Envoyer un message via MSN à Yobs
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 :
1
2
$string = $_POST['Titre'];
echo $string;
__________________
Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés
Yobs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 14h09   #16
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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 :
1
2
3
4
5
6
7
8
<html>
<body>
<?php
$string = $_POST['titre'];
echo $string;
?>
</body>
</html>

Edit : bien vu Yobs
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 15h02   #17
Invité régulier
 
Inscription : avril 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 56
Points : 7
Points : 7
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
Liondd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 15h43   #18
Invité régulier
 
Inscription : avril 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 56
Points : 7
Points : 7
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
Liondd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 15h48   #19
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Ca doit pas être méchant, donnes la dernière version de ton code pour voir.
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 15h54   #20
Invité régulier
 
Inscription : avril 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 56
Points : 7
Points : 7
Voila le code que j'utilise...

Code :
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
Liondd est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h15.


 
 
 
 
Partenaires

Hébergement Web