Jeux de variable!

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Jeux de variable!

Re: Jeux de variable!

par Ryle » 09 avr. 2011, 11:07

Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton Image en haut à droite de la réponse qui te semble la plus pertinente.

Re: Jeux de variable!

par bibibleu » 09 avr. 2011, 00:45

Salut,
Je dois avoir fait une erreur d'écriture car ça fonctionne à perfection aujourd'hui!
Je ne suis pas débutant pour rien! :0)

Bon au moins je comprends mieux les variables dynamiques et je vais sûrement pousser, comme tu me le suggères, mieux refaire mon code plus tard.
Pour le moment, j'ai compris le principe et j'ai réussi à faire ce que je voulais! C'est un pas de plus!

J'aime vraiment tes explications, tu partages beaucoup!

C'est TRÈS apprécié!
MERCI !!!

Re: Jeux de variable!

par moogli » 07 avr. 2011, 20:47

heu qu'a tu testé exactement ?

je viens de tester avec la console php
<?php
$date = date('Ymd');
echo $date; //=> 20110407
$titre = 'T_'.$date;
$T_20110407 = 'test';
echo $$titre; // => test 
?>
en version 5.3.5 ainsi qu'en 5.3.6

a tu testé ce code ?
n'a tu pas fait une erreur de recopie ?
voici deux exemples sur deux versions différentes de php
en php4.4
en php 5.2

ça fonctionne au poil :)

Après pour ce qui est de ton fonctionnement ne peut pas utiliser un fichier plat ou une table de base de donnée (mysql, sqlite etc) qui pourrait dans tous les cas être beaucoup plus simple.

l'utilisation des variables dynamique est extrêmement puissant mais très peut facile a réutiliser (te souviendra tu de ce tu a fait dans un an ?).
Perso j'utilise soit un fichier contenant un tableau sérialisé (cf serialize) avec en index les dates (au format Ymd si tu veut c'est pratique) afin de faire un simple if (isset ($tablo[ date('Ymd') ])) echo $tablo[ date('Ymd') ]; else echo 'Date non prevu cas par defaut ? ...';
Ou alors une table de SGBD te permettant de faire une recherche sur un champ date et ainsi améliorer ton système (pourquoi pas évoluer vers un système avec plusieurs infos par jour et un choix aléatoire etc etc).

Bref il y a la, je pense, un choix technique à faire afin d'avoir un système plus simple et plus maintenable ;)


@+

Re: Jeux de variable!

par bibibleu » 07 avr. 2011, 10:47

Salut Moogli,

J'ai fait le test avec ce que tu m'as écrit, j'ai aussi lu toute la page sur le sujet.
J'ai testé avec le changement et il se passe rien et même pour testé, j'ai copié un code dans l'article que tu m'as référé et ça fonctionne pas?!?!?
Je viens de vérifier et le serveur ou je suis est en < Version PHP 5.3.6 >, ça peut-être une différence?

Je te remercie pour ton aide, j'aime beaucoup apprendre!

A+

Re: Jeux de variable!

par moogli » 07 avr. 2011, 03:11

salut,

tu n'a pas besoin de " pour afficher une variable (c'est même anti performant) tu peut donc faire echo $T_20110406;

et donc à la fin utiliser les variables dynamique echo $$Titre;

un peu de lecture sur les variables dynamique http://www.phpdebutant.org/article119.php

@+

Jeux de variable!

par bibibleu » 07 avr. 2011, 01:05

Bonjour, Ca va être plus simple de vous exposé ce que je veux faire et vous aller mieux comprendre comment m'aider!
Je veux faire une page qui affiche du texte différent à chaque jour. Je réussi à le faire manuellement, mais automatiquement je ne trouve pas!

Voici mes variable pour la date du 2011-04-06.

putenv("TZ=US/Eastern");
$Date = date("Ymd");
$Titre = "T_$Date";
$T_20110406 = "Les 10 dernières minutes du GP de France 1979."; //Titre


Ce qui fonctionne (manuellement) très bien est :
<?php echo "$T_20110406"; ?>

Ce qui ne fonctionne pas est le mode automatique :
<?php echo "$".$Titre; ?>
Au lieu d'afficher la phrase de la variable, ca affiche la variable ($T_20110406)

Merci de me dire ou est mon erreur de compréhension et comment je devrais faire pour ce genre de variable pour que j'affiche mon texte.

Merci à l'avance,