Problème insertion cmpteur en php

et comme avec ca :

<?php $file=fopen("count.txt", "r+"); fscanf($file, "%d", $count); $count++; rewind($file); fputs($file, $count); fclose($file); echo "Cette page a été vue ".$count." fois"; ?>

ca marche mieux ?

  • <?php au lieu de <? plus trop supporté (depend du reglage du php.ini)
  • le commentaire mal fermé
  • header après l’ouverture du flux.

pour le header, met le plutot dans le .php3 du squelette ou alors tout
au debut.
Il faut que rien n’ait été envoyé dans le flux pour envoyer un header,
dès qu’un caractere est renvoyé (y compris un malheureux saut de ligne à
la fin de mes_options.php3), l’envoi du header provoque une erreur.

Non sa ne marche pas mieux, c’est pareil qu’avant, même en supprimant la ligne avec le header…

Warning: fopen(count.txt): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\la boucherie\testspip\inc-public.php3(60) : eval()'d code on line 29

Warning: fscanf(): supplied argument is not a valid File-Handle resource in c:\program files\easyphp1-7\www\la boucherie\testspip\inc-public.php3(60) : eval()'d code on line 30

Warning: rewind(): supplied argument is not a valid stream resource in c:\program files\easyphp1-7\www\la boucherie\testspip\inc-public.php3(60) : eval()'d code on line 32

Que veulent dire ces messages d’erreur ?, on dirait qu’il n’accepte pas les différentes fonctions php…

ZOUKLOVER62 a écrit :

[..]
*Warning*: fopen(count.txt): failed to open stream: No such file or
directory in *c:\program files\easyphp1-7\www\la
boucherie\testspip\inc-public.php3(60) : eval()'d code* on line *29*

Le fichier n'a pas pu être ouvert, soit pour un problème de droit (Windows ne le gère pas, donc c'est pas ça); soit parce que le fichier count.txt n'existe pas.

Essaye de créer le fichier dans un premier temps.

A+

ZOUKLOVER62@aol.com a écrit :

Non sa ne marche pas mieux, c'est pareil qu'avant, même en supprimant la ligne avec le header...
*Warning*: fopen(count.txt): failed to open stream: No such file or directory in *c:\program files\easyphp1-7\www\la boucherie\testspip\inc-public.php3(60) : eval()'d code* on line *29*

ben la il est assez clair : il dit qu'il ne peut pas ouvrir le fichier.
Soit il n'existe pas, soit il n'a pas les droits dessus.

Attention, tel que tu ecris, le fichier doit etre à la racine (meme si ton squelette est dans un sous repertoire, c'est relatif au fichier appelé initialement)

*Warning*: fscanf(): supplied argument is not a valid File-Handle resource in *c:\program files\easyphp1-7\www\la boucherie\testspip\inc-public.php3(60) : eval()'d code* on line *30*

*Warning*: rewind(): supplied argument is not a valid stream resource in *c:\program files\easyphp1-7\www\la boucherie\testspip\inc-public.php3(60) : eval()'d code* on line *32*
**

la suite doit decouler de la premiere erreur

Que veulent dire ces messages d'erreur ?, on dirait qu'il n'accepte pas les différentes fonctions php...

si, si, il est pas difficile comme ecureuil... il mange de tout, meme du PHP !

Spip ne touche pas du tout au php que tu mets dans les squelettes, la seule chose qu'il fait, c'est detecter s'il y en a pour savoir si il doit "executer" le cache qu'il a produit, ou si c'est du pur HTML qu'il peut renvoyer directement.

tu peux mettre tout le php que tu veux, tu peux meme le générer avec des boucles/balises/filtre tant que le <?php est dans le squelette lui meme (sinon, il faut mettre ** sur la balise et c'est pas tres bon pour la securité)

@++

ZOUKLOVER62@aol.com a écrit :

et comme avec ca :
<?php

$file=fopen("count.txt", "r+");
fscanf($file, "%d", $count);
$count++;
rewind($file);
fputs($file, $count);
fclose($file);
echo "Cette page a été vue ".$count." fois";
?>

ca marche mieux ?

- <?php au lieu de <? plus trop supporté (depend du reglage du php.ini)
- le commentaire mal fermé
- header après l'ouverture du flux.

pour le header, met le plutot dans le .php3 du squelette ou alors tout
au debut.
Il faut que rien n'ait été envoyé dans le flux pour envoyer un header,
dès qu'un caractere est renvoyé (y compris un malheureux saut de ligne à
la fin de mes_options.php3), l'envoi du header provoque une erreur.

Non sa ne marche pas mieux, c'est pareil qu'avant, même en supprimant la ligne avec le header...
*Warning*: fopen(count.txt): failed to open stream: No such file or directory in *c:\program files\easyphp1-7\www\la boucherie\testspip\inc-public.php3(60) : eval()'d code* on line *29*

*Warning*: fscanf(): supplied argument is not a valid File-Handle resource in *c:\program files\easyphp1-7\www\la boucherie\testspip\inc-public.php3(60) : eval()'d code* on line *30*

*Warning*: rewind(): supplied argument is not a valid stream resource in *c:\program files\easyphp1-7\www\la boucherie\testspip\inc-public.php3(60) : eval()'d code* on line *32*
** Que veulent dire ces messages d'erreur ?, on dirait qu'il n'accepte pas les différentes fonctions php...

------------------------------------------------------------------------

Je serais toi, je ferais mon script que je glisserais dans un fichier compteur.php à la racine et dans la page que tu veux tu fais: <?php include ("compteur.php") ; ?>

MA