AIDE PHP
Résolu/Fermé
A voir également:
- AIDE PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Bouton php - Forum PHP
- \R php ✓ - Forum PHP
- Php alert - Forum PHP
22 réponses
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 391
30 sept. 2008 à 11:55
30 sept. 2008 à 11:55
Bonjour,
Après la deuxième ouverture de ton fichier, tu ne lis pas le fichier, mais en fait tu n'as pas besoin de relire ton fichier car la variable $i contient le nombre de visiteur, donc ton code pourrait être
A plus
Après la deuxième ouverture de ton fichier, tu ne lis pas le fichier, mais en fait tu n'as pas besoin de relire ton fichier car la variable $i contient le nombre de visiteur, donc ton code pourrait être
$k=""; for($j=0;$j<(strlen($i));$j++) { $k=substr($i, $j,$j+1); control(); ?><img src="<?php print($image) ?>"/><?php }
A plus
Bonjour,
Voici une solution qui devrait peut être fonctionner :
A+.
<?php /* Date de création: 30/09/2008 */ ?>
<html>
<body>
<?php
$i=0; ==> du numérique
$file=fopen("compteur.txt","r");
==> balaie le fichier
while (!feof($file))
$i =( int) fgets($file); ==> casting en numérique
$i++;
?>
<p>Vous êtes le
<?php echo ($i);
?>
<sup>ème</sup> visiteur</p>
<?php
fclose($file);
$file=fopen("compteur.txt","w");
fputs($file,"$i");
fclose($file);
$file=fopen("compteur.txt","r");
==> positionnement sur le dernier enregistrement
for($j=0;$j<=$i ;$j++)
{
$k = fgets($file);
}
==> extraie chaque caractére et affiche l'image correspondante
for($j=0;$j<strlen($k);$j++)
{
$k=substr($k, $j,$j+1);
control();
?><img src="<?php print($image) ?>"/><?php
}
function control()
{
if($k=="0")
$image="C:/wamp/www/chiffres/zero.jpg";
else
if($k=="1")
$image="C:/wamp/www/chiffres/un.jpg";
else
if($k=="2")
$image="C:/wamp/www/chiffres/deux.jpg";
else
if($k=="3")
$image="C:/wamp/www/chiffres/trois.jpg";
else
if($k=="4")
$image="C:/wamp/www/chiffres/quatre.jpg";
else
if($k=="5")
$image="C:/wamp/www/chiffres/cinq.jpg";
else
if($k=="6")
$image="C:/wamp/www/chiffres/six.jpg";
else
if($k=="7")
$image="C:/wamp/www/chiffres/sept.jpg";
else
if($k=="8")
$image="C:/wamp/www/chiffres/huit.jpg";
else
if($k=="9")
$image="C:/wamp/www/chiffres/neuf.jpg";
}
?>
</body>
</html>
Voici une solution qui devrait peut être fonctionner :
A+.
<?php /* Date de création: 30/09/2008 */ ?>
<html>
<body>
<?php
$i=0; ==> du numérique
$file=fopen("compteur.txt","r");
==> balaie le fichier
while (!feof($file))
$i =( int) fgets($file); ==> casting en numérique
$i++;
?>
<p>Vous êtes le
<?php echo ($i);
?>
<sup>ème</sup> visiteur</p>
<?php
fclose($file);
$file=fopen("compteur.txt","w");
fputs($file,"$i");
fclose($file);
$file=fopen("compteur.txt","r");
==> positionnement sur le dernier enregistrement
for($j=0;$j<=$i ;$j++)
{
$k = fgets($file);
}
==> extraie chaque caractére et affiche l'image correspondante
for($j=0;$j<strlen($k);$j++)
{
$k=substr($k, $j,$j+1);
control();
?><img src="<?php print($image) ?>"/><?php
}
function control()
{
if($k=="0")
$image="C:/wamp/www/chiffres/zero.jpg";
else
if($k=="1")
$image="C:/wamp/www/chiffres/un.jpg";
else
if($k=="2")
$image="C:/wamp/www/chiffres/deux.jpg";
else
if($k=="3")
$image="C:/wamp/www/chiffres/trois.jpg";
else
if($k=="4")
$image="C:/wamp/www/chiffres/quatre.jpg";
else
if($k=="5")
$image="C:/wamp/www/chiffres/cinq.jpg";
else
if($k=="6")
$image="C:/wamp/www/chiffres/six.jpg";
else
if($k=="7")
$image="C:/wamp/www/chiffres/sept.jpg";
else
if($k=="8")
$image="C:/wamp/www/chiffres/huit.jpg";
else
if($k=="9")
$image="C:/wamp/www/chiffres/neuf.jpg";
}
?>
</body>
</html>
Re,
En tenant compte de l'avis éclairé de christounet avec des corrections à de chtites erreurs de ma part :
<?php /* Date de création: 30/09/2008 */ ?>
<html>
<body>
<?php
$i=0;
$file=fopen("compteur.txt","r");
while (!feof($file))
$i =( int) fgets($file);
$i++;
?>
<p>Vous êtes le
<?php echo ($i);
?>
<sup>ème</sup> visiteur</p>
<?php
fclose($file);
$file=fopen("compteur.txt","w");
fputs($file,"$i");
fclose($file);
$k = "";
==> casting en chaine de caractères du compteur (a vérifier quand même si c'est permis...)
$k = (string) $i;
for($j=0;$j<strlen($k);$j++)
{
$m = "";
$m=substr($k, $j,$j+1);
control();
?><img src="<?php print($image) ?>"/><?php
}
function control()
{
if($m=="0")
$image="C:/wamp/www/chiffres/zero.jpg";
else
if($m=="1")
$image="C:/wamp/www/chiffres/un.jpg";
else
if($m=="2")
$image="C:/wamp/www/chiffres/deux.jpg";
else
if($m=="3")
$image="C:/wamp/www/chiffres/trois.jpg";
else
if($m=="4")
$image="C:/wamp/www/chiffres/quatre.jpg";
else
if($m=="5")
$image="C:/wamp/www/chiffres/cinq.jpg";
else
if($m=="6")
$image="C:/wamp/www/chiffres/six.jpg";
else
if($m=="7")
$image="C:/wamp/www/chiffres/sept.jpg";
else
if($m=="8")
$image="C:/wamp/www/chiffres/huit.jpg";
else
if($m=="9")
$image="C:/wamp/www/chiffres/neuf.jpg";
}
?>
</body>
</html>
En tenant compte de l'avis éclairé de christounet avec des corrections à de chtites erreurs de ma part :
<?php /* Date de création: 30/09/2008 */ ?>
<html>
<body>
<?php
$i=0;
$file=fopen("compteur.txt","r");
while (!feof($file))
$i =( int) fgets($file);
$i++;
?>
<p>Vous êtes le
<?php echo ($i);
?>
<sup>ème</sup> visiteur</p>
<?php
fclose($file);
$file=fopen("compteur.txt","w");
fputs($file,"$i");
fclose($file);
$k = "";
==> casting en chaine de caractères du compteur (a vérifier quand même si c'est permis...)
$k = (string) $i;
for($j=0;$j<strlen($k);$j++)
{
$m = "";
$m=substr($k, $j,$j+1);
control();
?><img src="<?php print($image) ?>"/><?php
}
function control()
{
if($m=="0")
$image="C:/wamp/www/chiffres/zero.jpg";
else
if($m=="1")
$image="C:/wamp/www/chiffres/un.jpg";
else
if($m=="2")
$image="C:/wamp/www/chiffres/deux.jpg";
else
if($m=="3")
$image="C:/wamp/www/chiffres/trois.jpg";
else
if($m=="4")
$image="C:/wamp/www/chiffres/quatre.jpg";
else
if($m=="5")
$image="C:/wamp/www/chiffres/cinq.jpg";
else
if($m=="6")
$image="C:/wamp/www/chiffres/six.jpg";
else
if($m=="7")
$image="C:/wamp/www/chiffres/sept.jpg";
else
if($m=="8")
$image="C:/wamp/www/chiffres/huit.jpg";
else
if($m=="9")
$image="C:/wamp/www/chiffres/neuf.jpg";
}
?>
</body>
</html>
Merci a vous deux, le code tourne mieux: j'ai bien le nombre d'icones correspondant au nombre de chiffres de mon .txt. Y'a toujours un pb d'accès aux images...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Tests :
- Peux tu afficher la valeur de $k sur ta page car je suis pas sur du casting en (string)...et vérifier que tu a bien ce qui faut ?.
- Et afficher aussi la valeur de $m dans la boucle avant l'appel de control()....
A+.
Tests :
- Peux tu afficher la valeur de $k sur ta page car je suis pas sur du casting en (string)...et vérifier que tu a bien ce qui faut ?.
- Et afficher aussi la valeur de $m dans la boucle avant l'appel de control()....
A+.
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 391
30 sept. 2008 à 13:32
30 sept. 2008 à 13:32
Bonjour,
Ne dois-tu pas remplacer l'instruction print($image) par echo ($image) ?
A plus
Ne dois-tu pas remplacer l'instruction print($image) par echo ($image) ?
A plus
A rollin'babe: echo ne change rien par rapport a print
A christounet: j'affiche bien $k mais a chaque réaffichage de la page il incrémente de deux
A christounet: j'affiche bien $k mais a chaque réaffichage de la page il incrémente de deux
<?php /* Date de création: 30/09/2008 */ ?>
<html>
<body>
<?php
$i=0;
$file=fopen("compteur.txt","r");
while (!feof($file))
$i =( int) fgets($file);
$i++;
fclose($file);
$file=fopen("compteur.txt","w");
fputs($file,"$i");
fclose($file);
$k = "";
?>
<p>Vous êtes le <?php
$k = (string) $i;
for($j=0;$j<strlen($k);$j++)
{
$m = "";
$m=substr($k, $j,$j+1);
control();
?><img src="<?php print($image) ?>"/><?php
}
function control()
{
if($m=="0")
$image="C:/wamp/www/chiffres/zero.jpg";
else
if($m=="1")
$image="C:/wamp/www/chiffres/un.jpg";
else
if($m=="2")
$image="C:/wamp/www/chiffres/deux.jpg";
else
if($m=="3")
$image="C:/wamp/www/chiffres/trois.jpg";
else
if($m=="4")
$image="C:/wamp/www/chiffres/quatre.jpg";
else
if($m=="5")
$image="C:/wamp/www/chiffres/cinq.jpg";
else
if($m=="6")
$image="C:/wamp/www/chiffres/six.jpg";
else
if($m=="7")
$image="C:/wamp/www/chiffres/sept.jpg";
else
if($m=="8")
$image="C:/wamp/www/chiffres/huit.jpg";
else
if($m=="9")
$image="C:/wamp/www/chiffres/neuf.jpg";
}
?><sup>ème</sup> visiteur</p><?php
?>
</body>
</html>
<html>
<body>
<?php
$i=0;
$file=fopen("compteur.txt","r");
while (!feof($file))
$i =( int) fgets($file);
$i++;
fclose($file);
$file=fopen("compteur.txt","w");
fputs($file,"$i");
fclose($file);
$k = "";
?>
<p>Vous êtes le <?php
$k = (string) $i;
for($j=0;$j<strlen($k);$j++)
{
$m = "";
$m=substr($k, $j,$j+1);
control();
?><img src="<?php print($image) ?>"/><?php
}
function control()
{
if($m=="0")
$image="C:/wamp/www/chiffres/zero.jpg";
else
if($m=="1")
$image="C:/wamp/www/chiffres/un.jpg";
else
if($m=="2")
$image="C:/wamp/www/chiffres/deux.jpg";
else
if($m=="3")
$image="C:/wamp/www/chiffres/trois.jpg";
else
if($m=="4")
$image="C:/wamp/www/chiffres/quatre.jpg";
else
if($m=="5")
$image="C:/wamp/www/chiffres/cinq.jpg";
else
if($m=="6")
$image="C:/wamp/www/chiffres/six.jpg";
else
if($m=="7")
$image="C:/wamp/www/chiffres/sept.jpg";
else
if($m=="8")
$image="C:/wamp/www/chiffres/huit.jpg";
else
if($m=="9")
$image="C:/wamp/www/chiffres/neuf.jpg";
}
?><sup>ème</sup> visiteur</p><?php
?>
</body>
</html>
Re,
Ok mais avec l'affichage de $k si possible et pas de l'image pour le moment.
Je voudrais comprendre pourquoi il incrémente de 2...
(:>)
Ok mais avec l'affichage de $k si possible et pas de l'image pour le moment.
Je voudrais comprendre pourquoi il incrémente de 2...
(:>)
<html>
<body>
<?php
$i=0;
$file=fopen("compteur.txt","r");
while (!feof($file))
$i =( int) fgets($file);
$i++;
/*?>
<p>Vous êtes le
<?php echo ($i);
?>
<sup>ème</sup> visiteur</p>
<?php*/
fclose($file);
$file=fopen("compteur.txt","w");
fputs($file,"$i");
fclose($file);
?>
<p>Vous êtes le
<?php
$k = "";
$k = (string) $i;
for($j=0;$j<strlen($k);$j++)
{
$m = "";
$m=substr($k, $j,$j+1);
control();
?><img src="<?php echo($image) ?>"/><?php
}
?>
<sup>ème</sup> visiteur</p>
<?php
function control()
{
if($m=="0")
$image="C:/wamp/www/chiffres/zero.jpg";
else
if($m=="1")
$image="chiffres/un.jpg";
else
if($m=="2")
$image="C:/wamp/www/chiffres/deux.jpg";
else
if($m=="3")
$image="C:/wamp/www/chiffres/trois.jpg";
else
if($m=="4")
$image="C:/wamp/www/chiffres/quatre.jpg";
else
if($m=="5")
$image="C:/wamp/www/chiffres/cinq.jpg";
else
if($m=="6")
$image="C:/wamp/www/chiffres/six.jpg";
else
if($m=="7")
$image="C:/wamp/www/chiffres/sept.jpg";
else
if($m=="8")
$image="C:/wamp/www/chiffres/huit.jpg";
else
if($m=="9")
$image="C:/wamp/www/chiffres/neuf.jpg";
}
echo ($k);
?>
</body>
</html>
<body>
<?php
$i=0;
$file=fopen("compteur.txt","r");
while (!feof($file))
$i =( int) fgets($file);
$i++;
/*?>
<p>Vous êtes le
<?php echo ($i);
?>
<sup>ème</sup> visiteur</p>
<?php*/
fclose($file);
$file=fopen("compteur.txt","w");
fputs($file,"$i");
fclose($file);
?>
<p>Vous êtes le
<?php
$k = "";
$k = (string) $i;
for($j=0;$j<strlen($k);$j++)
{
$m = "";
$m=substr($k, $j,$j+1);
control();
?><img src="<?php echo($image) ?>"/><?php
}
?>
<sup>ème</sup> visiteur</p>
<?php
function control()
{
if($m=="0")
$image="C:/wamp/www/chiffres/zero.jpg";
else
if($m=="1")
$image="chiffres/un.jpg";
else
if($m=="2")
$image="C:/wamp/www/chiffres/deux.jpg";
else
if($m=="3")
$image="C:/wamp/www/chiffres/trois.jpg";
else
if($m=="4")
$image="C:/wamp/www/chiffres/quatre.jpg";
else
if($m=="5")
$image="C:/wamp/www/chiffres/cinq.jpg";
else
if($m=="6")
$image="C:/wamp/www/chiffres/six.jpg";
else
if($m=="7")
$image="C:/wamp/www/chiffres/sept.jpg";
else
if($m=="8")
$image="C:/wamp/www/chiffres/huit.jpg";
else
if($m=="9")
$image="C:/wamp/www/chiffres/neuf.jpg";
}
echo ($k);
?>
</body>
</html>
Bon,
(;>)...on v y arriver mais je crois qu'on se comprends pas.
Je voudrais ceci dans ton code en fait :
.......................................
$k = "";
$k = (string) $i;
<?php echo ($k);
?>
..........................................
Tu testes et tu me tiens au courant.
A++.
(;>)...on v y arriver mais je crois qu'on se comprends pas.
Je voudrais ceci dans ton code en fait :
.......................................
$k = "";
$k = (string) $i;
<?php echo ($k);
?>
..........................................
Tu testes et tu me tiens au courant.
A++.
<html>
<body>
<?php
$i=0;
$file=fopen("compteur.txt","r");
while (!feof($file))
$i =( int) fgets($file);
$i++;
/*?>
<p>Vous êtes le
<?php echo ($i);
?>
<sup>ème</sup> visiteur</p>
<?php*/
fclose($file);
$file=fopen("compteur.txt","w");
fputs($file,"$i");
fclose($file);
?>
<p>Vous êtes le
<?php
$k = "";
$k = (string) $i;
echo ($k);
/*
for($j=0;$j<strlen($k);$j++)
{
$m = "";
$m=substr($k, $j,$j+1);
control();
?><img src="<?php echo($image) ?>"/><?php
}
?>*/
?>
<sup>ème</sup> visiteur</p><?php
/*
<?php
function control()
{if...}
*/
echo ($k);
?>
</body>
</html>
La avec les commentaires de part et d'autre de l'affichage des images, $k incrémente bien de 1
<body>
<?php
$i=0;
$file=fopen("compteur.txt","r");
while (!feof($file))
$i =( int) fgets($file);
$i++;
/*?>
<p>Vous êtes le
<?php echo ($i);
?>
<sup>ème</sup> visiteur</p>
<?php*/
fclose($file);
$file=fopen("compteur.txt","w");
fputs($file,"$i");
fclose($file);
?>
<p>Vous êtes le
<?php
$k = "";
$k = (string) $i;
echo ($k);
/*
for($j=0;$j<strlen($k);$j++)
{
$m = "";
$m=substr($k, $j,$j+1);
control();
?><img src="<?php echo($image) ?>"/><?php
}
?>*/
?>
<sup>ème</sup> visiteur</p><?php
/*
<?php
function control()
{if...}
*/
echo ($k);
?>
</body>
</html>
La avec les commentaires de part et d'autre de l'affichage des images, $k incrémente bien de 1
Ok,
C'est bon pour toi cette variable ??? (g po tout compris mais po grave..).
Alors :
- Enlève tous les "echo ($k)".
- Affiche et testes maintenant $m stp.
.....................................................
$m = "";
$m=substr($k, $j,$j+1);
echo($m);
control();
....................................................
Testes et vérifie que $m est correctement décomposé - compare avec le "echo ($k)".
A++.
C'est bon pour toi cette variable ??? (g po tout compris mais po grave..).
Alors :
- Enlève tous les "echo ($k)".
- Affiche et testes maintenant $m stp.
.....................................................
$m = "";
$m=substr($k, $j,$j+1);
echo($m);
control();
....................................................
Testes et vérifie que $m est correctement décomposé - compare avec le "echo ($k)".
A++.
le $m fonctionne bien, et affiche la même valeur que $k quand je les 'echo' tous les deux (j'ai réussi a foutre un beau bordel dans mon code avec mes /* et mes ?> X-p)
Non; j'ai toujours le logo avec la feuille en deux morceaux mais les url des images sont bons ("C:/wamp/www/chiffres/un.jpg" etc.)
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 391
30 sept. 2008 à 16:52
30 sept. 2008 à 16:52
Bonjour,
Dans quel répertoire se trouve ta page html, car si tes images sont dans le même répertoire, tu dois mettre comme chemin d'accès$image="un.jpg";, etc.
Si tes images sont dans un sous-répertoire, alors utilses$image="../chiffre/un.jpg"; car je pense qu'il ne faut pas mettre le chemin complet avec la lettre du disque.
A plus
Dans quel répertoire se trouve ta page html, car si tes images sont dans le même répertoire, tu dois mettre comme chemin d'accès$image="un.jpg";, etc.
Si tes images sont dans un sous-répertoire, alors utilses$image="../chiffre/un.jpg"; car je pense qu'il ne faut pas mettre le chemin complet avec la lettre du disque.
A plus