AccueilAideRechercherIdentifiez-vousInscrivez-vous

Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
21 Mai 2012 à 22:12:42

Connexion avec identifiant, mot de passe et durée de la session
Rechercher
    avancée

News

Stats
8763 Messages dans 1087 Fils de discussion par 1000 Membres
Dernier membre: totor 94
+  PHP Astux
|-+  Langages Web
| |-+  PHP, ASP ... (serveur)
| | |-+  [Réglé] Récolter une variable qui ne soit pas variable
Pages: [1] 2   Bas de page
Imprimer
Auteur Fil de discussion: [Réglé] Récolter une variable qui ne soit pas variable  (Lu 1410 fois)
jp
Membre Junior
**
Messages: 73


« le: 04 Janvier 2011 à 20:43:50 »

Bonjour tout le monde et bananée 2011 Grimaçant

Oui je sais, certains vont se dire, ça y est, il est devenu comme sa limace  Clin d'oeil

Je m'explique, je ne cherche pas un code tout fait, non déjà simplement une méthode, car je patine.

1. Je possède une page qui récapitule le total des téléchargements
2. Par exemple sur un logiciel, le compteur m'indique "1000"
3. Je souhaiterais AVANT que j'actualise cette page récapitulative (suivez-moi bien) de stocker
    en variable cet affichage "1000"
4. Lorsque j'actualise cette page, que j'ai par exemple au dessous :

1000 (nombre mémorisé AVANT actualisation de la page)
1007 (nombre après actualisation de la page)

bon... tout ça c'est opérationnel, SAUF l'affichage du nombre AVANT l'actualisation de la page !

J'espère que c'est clair, sinon demandez des précisions.

C'est hier j'avais eu cette idée, je me suis dit, tiens je vais voir...

Notons que j'ai tenté des trucs, comme par exemple affecter une variable qui stocke le nombre avant la ligne qui affiche le résultat, mais marche pôô  Lèvres scellées

Notons aussi que ce fameux nombre à afficher (nombre mémorisé AVANT actualisation de la page), figure en HTML pur dans le code source de la page.

Merci d'avance si vous avez des pistes Roulement des yeux
 


  

 
« Dernière édition: 07 Janvier 2011 à 12:19:03 par jp » Journalisée
laudu60100
Membre Complet
***
Messages: 119


« Répondre #1 le: 04 Janvier 2011 à 22:26:16 »

Je te rappelle, le php écrie le code source html.
Mais derrière c'est du php.

Bon, si j'ai bien compris, tu veux un compteur qui fait +1 à chaque téléchargement ??

Moi, j'ai ma ptite méthode pour ce systeme, mais elle ne plaira pas à Matthieu. Normal, je ne sais pas faire fonctionner une base de donnée mycql. ptetre qu'un jour...  Roulement des yeux
Donc pour moi, il te suffit d'écrire sur une page compteur ou ça en est et de l'include dans ta page ou le chiffre doit être afficher.

Pour faire le + 1 à chaque téléchargement :
Code:
<?php

$Page_compteur 
"compteur.php"// Nom de la page

if (file_exists($Page_compteur)) // On teste si la page existe
{// Si oui :
include $Page_compteur// on l'insère
unlink($Page_compteur); // on la supprime

$num++; // on ajoute 1 à la variable récupérée grâce à l'insertion
$pour_num '<'.'?'.'p'.'h'.'p'.' '.'$'.'num'.' = '.$num.';'.' ?'.'>'// on crée le code php pour la page qu'on va recréer

fwrite(fopen($Page_compteur'a'),$pour_num); // On recrée le fichier avec la nouvelle variable
}
else
{
//Si non :

$num=1// Par défault, le compteur est à 1.
$pour_num '<'.'?'.'p'.'h'.'p'.' '.'$'.'num'.' = '.$num.';'.' ?'.'>'// on crée le code php pour la page qu'on va créer

fwrite(fopen($Page_compteur'a'),$pour_num); // On creer le fichier et on écrie le code avec la variable à l'intérieure.
}

?>


Code pour afficher le compteur :
Code:
<?php
function affiche_compteur()
{

$Page_compteur "compteur.php"// Nom de la page

if (file_exists($Page_compteur)) // On teste si la page existe
{// Si oui :
include $Page_compteur// on l'insère
return $num;
}
else
{
//Si non :
return 0;
}
}
?>

Le programme a été téléchargé <u><b><?php echo affiche_compteur() ?></b></u> fois !


Voila !  Grima&ccedil;ant Grima&ccedil;ant
Je te conseil d'attendre l'avis de Matthieu, qui lui, je pense, te fera un code avec la base de donnée ce qui doit etre plus pratique que la page externe, ou les infos sont enregistrées. Clin d'oeil
« Dernière édition: 05 Janvier 2011 à 16:20:06 par laudu60100 » Journalisée
laudu60100
Membre Complet
***
Messages: 119


« Répondre #2 le: 04 Janvier 2011 à 22:45:57 »

Je savais bien que j'avais vu un truc dans ce genre, sur ce site et je l'ai retrouvé !!!  Grima&ccedil;ant Grima&ccedil;ant Grima&ccedil;ant
http://www.php-astux.info/script-compteur-telechargements.php

Apres, lecture vite faite, ça à l'air plus compliqué que mon pitit fichier externe...
« Dernière édition: 04 Janvier 2011 à 22:48:06 par laudu60100 » Journalisée
jp
Membre Junior
**
Messages: 73


« Répondre #3 le: 05 Janvier 2011 à 10:51:35 »

Hello  Sourire

Laurent merci, mais je me suis très très mal expliqué alors  Tire la langue

Nan, le compteur et tout et tout marche impec !

Je cherche un moyen de récolter le résultat (HTML) de ce comptage AVANT  un rafraichissement de page, car si je rafraichis la page en question, ça effectue l'opération PHP de lecture d'un fichier TXT issus d'un code PHP.

Exemple, le matin j'ai le compteur qui indique 1000, je souhaite en fin de journée de voir la différence entre ces 1000 et la nouvelle valeur.

Autrement dit, que le 1000 RESTE  affiché et à côté l'incrémentation que j'aurais automatiquement lors du refresh de la page.

Alors comment "geler" ce "1000" ? tout est là ! (c'est bête comme choux, mais pas évident...)

Si pas encore clair, demande.

Merci  Clin d'oeil
Journalisée
laudu60100
Membre Complet
***
Messages: 119


« Répondre #4 le: 05 Janvier 2011 à 12:18:58 »

Ah !

En gros, tu veux savoir combien de fois il a été téléchargé par jour ?
Faire un tableau statistique ??
Journalisée
jp
Membre Junior
**
Messages: 73


« Répondre #5 le: 05 Janvier 2011 à 12:27:02 »

Heuuuu oui et non, en fait ce serait de savoir tout bêtement comme "geler" un nombre.

Pas facile à expliquer Sourire

Mais peut-être pas de rapport avec le PHP ici en ce cas.

Journalisée
laudu60100
Membre Complet
***
Messages: 119


« Répondre #6 le: 05 Janvier 2011 à 12:56:30 »

Ta chose est possible, mais le problème c'est quand est ce que tu veux que ce soit "gelé" ?
A quel moment ça doit se geler ?
« Dernière édition: 05 Janvier 2011 à 13:30:51 par laudu60100 » Journalisée
jp
Membre Junior
**
Messages: 73


« Répondre #7 le: 05 Janvier 2011 à 15:55:01 »

Ben, plus je tente d'y penser et plus je ne sais par quel bout prendre ce problème  Ind&eacute;ci

Écoute je pensais (par exemple) éditer à la mano à côté d'une valeur ; la valeur du matin.

Ensuite lors de chaque rafraichissement de page, j'aurais ainsi les deux valeurs, par exemple  :

1000 (valeur écrire en dur à la mano dans code HTML)
1007 (valeur vers le soir auto-incrémentée via code PHP)

Une histoire de ouf  Clin d'oeil

Mais paradoxalement très basique, mais pour mettre ça en pratique = bonbons.

Si tu as saisi ce que je tente d'exposé c'est déjà pas mal, car je vais encore devenir chèvre avec ça  Souriant

Ben non si c'est pas possible, j'en ferais pas une maladie.

Jusque là je faisais de cette façon "intuitivement" :
1. Le matin j'ouvrais la page PHP totalisant les downloads
2. Le matin idem, j''ouvrais la même page PHP (donc j'obtiens deux pages identiques l'une à côté de l'autre)
3. Au cours de la journée, je rafraichissais la seconde page, alors je pouvais comparer les deux pages (sans toucher à la première servant de référence)

@+
 
« Dernière édition: 05 Janvier 2011 à 16:01:35 par jp » Journalisée
laudu60100
Membre Complet
***
Messages: 119


« Répondre #8 le: 05 Janvier 2011 à 16:07:56 »

ah ok je crois que j'ai compris.
c'est possible, je vais te faire ça.  Grima&ccedil;ant
« Dernière édition: 05 Janvier 2011 à 16:14:19 par laudu60100 » Journalisée
jp
Membre Junior
**
Messages: 73


« Répondre #9 le: 05 Janvier 2011 à 16:38:19 »

Ben je suis content d'avoir réussi à faire comprendre ça, déjà que moi j'ai du mal, des fois à me comprendre  Clin d'oeil

@+
Journalisée
laudu60100
Membre Complet
***
Messages: 119


« Répondre #10 le: 05 Janvier 2011 à 17:03:58 »

C'est fait, par contre, pour que ça marche, il faut que tu utilise les scripts que je t'ai fais plus haut.
Ou alors, tu me montre le script qui te permet d'enregistrer le +1.

Mais ça se trouve, j'ai mal compris ta chose donc, je te l'ai mis en teste ici :
http://eukalyptus.solidwebhost.com/Pour_JP/admin_compteur.php
Il affiche X si le conteur est à 0, clique sur le lien pour augmenter le compteur. J'aurai pu mettre 0 donc, si ça te dérange, je mes 0 à la place de X.
J'espère que tu comprendras le fonctionnement.  Sourire

Code:
<?php

$compteur 
"compteur.php";
$compteur_fige "compteur_fige.php";


function 
ecrire_num($Page)
{

    if (
file_exists($Page))
    {
include $Page;
    echo $num;
    }
    else
    {
echo "X";
    }

}


if (isset(
$_GET["geler"]))
{

    if (
file_exists($compteur))
    {
include $compteur;
    }
    else
    {
$num "'X'";
    }

    if (
file_exists($compteur_fige))
    {
unlink($compteur_fige);
    }

$pour_num '<'.'?'.'p'.'h'.'p'.' '.'$'.'num'.' = '.$num.';'.' ?'.'>'
fwrite(fopen($compteur_fige'a'),$pour_num);

?>

<script>window.location="<?php echo $_SERVER['PHP_SELF']; ?>"</script>
<?php

}
else
{
?>


<table style="border:1px Solid">
<tr>
<td style="width:50px;height:20px;border:1px Solid">
Avant
</td>
<td style="width:50px;height:20px;border:1px Solid">
Maintenant
</td>
</tr>
<tr>
<td style="width:50px;height:50px;border:1px Solid">
<?php echo ecrire_num($compteur_fige); ?>
</td>
<td style="width:50px;height:50px;border:1px Solid">
<?php echo ecrire_num($compteur); ?>
</td>
</tr>
</table>
<input type="button" value="Enregistrer" onclick="geler_compteur()">


<script>
function geler_compteur()
{
window.location="?geler"
}

</script>

<?php
}
?>

« Dernière édition: 05 Janvier 2011 à 17:10:38 par laudu60100 » Journalisée
jp
Membre Junior
**
Messages: 73


« Répondre #11 le: 05 Janvier 2011 à 19:08:10 »

Whaouuuu  Grima&ccedil;ant

Bon, faut que je me penche dessus afin de décortiquer ça tranquillement, et à petites doses.

Moi qui pensais que c'était bien plus simple, je suis gâté  Clin d'oeil

Mais si c'est donc impossible de faire plus simple, je me ferais une raison.

Ce coup là je souhaite avec tes indications ci-dessus, me débrouiller tout seul comme un grand.

Merci encore Laurent.

@+  Clin d'oeil

PS : Attention au site que tu m'indiques, il est redouté car des bêbêtes...  Roulement des yeux
Journalisée
laudu60100
Membre Complet
***
Messages: 119


« Répondre #12 le: 05 Janvier 2011 à 21:10:23 »

Ok ok, si tu as des soucis, pas de problème !!  Grima&ccedil;ant

PS : Attention au site que tu m'indiques, il est redouté car des bêbêtes...  Roulement des yeux
??
Journalisée
jp
Membre Junior
**
Messages: 73


« Répondre #13 le: 06 Janvier 2011 à 12:28:00 »


> PS : Attention au site que tu m'indiques, il est redouté car des bêbêtes...  Roulement des yeux
> ??

Extension WOT de FireFox !

Au fait je viens de trouver un algo super !

La solution c'est DEUX fichier text de stockage du nombre (Matthieu ne lis pas lol)

1. L'un de ces fichier sera exactement le même
2. L'autre fichier sera le "récepteur commandé" de celui ci-dessus
3. Un bouton commandera l'affectation du fichier 1 vers son double
4. Le premier fichier sera toujours incrémenté automatiquement
5. Le fichier "double" servira ainsi de comparateur
6. Possible d'effectuer une opé sur ces deux variables, afin d'en déduire l'écrart

Alors pas hyper simple et bonne mon idée ?  Grima&ccedil;ant

Ton code plus haut me servira aussi, je vais piocher dedans.

@+

Journalisée
laudu60100
Membre Complet
***
Messages: 119


« Répondre #14 le: 06 Janvier 2011 à 12:59:25 »

1. L'un de ces fichier sera exactement le même
2. L'autre fichier sera le "récepteur commandé" de celui ci-dessus
3. Un bouton commandera l'affectation du fichier 1 vers son double
4. Le premier fichier sera toujours incrémenté automatiquement
5. Le fichier "double" servira ainsi de comparateur
6. Possible d'effectuer une opé sur ces deux variables, afin d'en déduire l'écrart

Alors pas hyper simple et bonne mon idée ?  Grima&ccedil;ant

Bah justement le point 1 2 3 4 et 5 de ton message sont exactement ce que font les 3 codes que j'ai fais.
2 fichiers dont l'un qui est incrémenté à chaque téléchargement, et l'autre qui sert de comparateur  Clin d'oeil

Pour le 6, oui, c'est possible et je te ferais ça plus tard, car la, je n'ai pas le temps  Clin d'oeil
Journalisée
Pages: [1] 2   Haut de page
Imprimer
Aller à:  

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
Amber design by Bloc | XHTML | CSS