Page 1 sur 1

Une variable dans le <title>

Posté : 03 janv. 2013, 13:55
par thierry35800
Bonjour,
Je souhaite rajouter une variable dans le title, mais celle ci ne semble pas déclarée.
Le code php de ma page est ici :
3w.locations-campingcar.fr/textarea.txt

Il s'agit de la variable $ville dans le <title>

Pourtant on la retrouve en ligne 2730 <?php echo $ville; ?>
et elle est bien reconnue à cet endroit.

C'est pour le site 3w.locations-campingcar.fr

Et les villes sont renseignées sur les annonces tels que :
3w.locations-campingcar.fr/Bretagne-Finistere-4-Places-location-camping-car--4.htm

Bon, il faut déclarer ma variable mais comment ??
Merci de votre aide
Thierry

Re: Une variable dans le <title>

Posté : 03 janv. 2013, 14:21
par xTG
C'est une question de portée de variable.
Exemple :
function foo(){
  echo $bar; // variable inexistante
}
function foo($bar){
  echo $bar; // variable passée en paramètre
}
function foo(){
  global $bar; // indique que la variable $bar est une variable globale => déclarée en dehors de la fonction
  echo $bar; // variable existante en dehors de la fonction
}
Il te faut donc soit passer la variable en paramètre de la fonction, soit la déclarer en tant que variable globale.

Re: Une variable dans le <title>

Posté : 03 janv. 2013, 14:32
par thierry35800
Merci de la réponse
Oui, mais comment faire ça ?
Je suis vraiment un novice en php !
Thierry

Re: Une variable dans le <title>

Posté : 03 janv. 2013, 15:52
par Ryle
Ben... Comme dans l'exemple de xTG :)

Soit tu passes ta variable en paramètre de ta fonction, c'est à dire :
- dans la déclaration de ta fonction (là où y a le "function trucmuche()") tu ajoutes un paramètre entre les parenthèses (séparées par des virgules s'il y en a plusieurs), genre "$ville". Puis dans ta fonction (donc entre les { et } qui suivent), tu pourras utiliser cette variable qui ne sera connue que de ta fonction.
- dans l'appel à ta fonction (donc là où tu veux qu'elle soit exécutée par ton code), tu passes la valeur que tu veux envoyer à ta fonction (le nom de la ville semble être pas mal :))

L'avantage, c'est que tu peux appeler plusieurs fois ta fonction en lui passant des paramètres différents. Mais au moins tu es sur de la valeur que tu lui envoi puisque c'est toi qui lui envoi.

Soit tu déclares la variable comme étant globale, et du coup ta fonction ira chercher sa valeur à "l'extérieur" (donc en dehors des { et }), c'est à dire :
- y a juste à coller l'instruction " global $leNomDeLaVariableQuEstDehorsDeLaFonctionEtDontTuVeuxChopperLaValeur; " au début de ta fonction pour que cela fonctionne :)

L'avantage, c'est que dans ton cas, c'est plus rapide (encore faut-il en avoir profiter pour comprendre les histoires de portée des variables :)).

Re: Une variable dans le <title>

Posté : 03 janv. 2013, 16:52
par thierry35800
Merci Ryle,
Impossible de répondre
This message was flagged as spam and has been denied.
à chaque tentative !!

Re: Une variable dans le <title>

Posté : 03 janv. 2013, 16:58
par thierry35800
Merci Ryle,
Je fait pourtant des efforts pour essayer de comprendre ce que tu veux me dire, mais j'avoue que ma matière grise est largement dépassée !
Pourrait tu m'aider en modifiant le fichier en question, et si tu pouvais mettre les modifs en couleur ou gras pour m'aider à comprendre.
Car la j'avoue patauger sérieusement dans la semoule !
Thierry

Re: Une variable dans le <title>

Posté : 03 janv. 2013, 17:54
par xTG
Ton code :
function bar(){
// ....
echo '<title>' . $foo . '</title>';
// ...
}
Un bon code :
function bar(){
global $foo; // déclare qu'il faut aller chercher la variable $foo en dehors de la fonction
// ....
echo '<title>' . $foo . '</title>';
// ...
}

Re: Une variable dans le <title>

Posté : 03 janv. 2013, 18:24
par thierry35800
Merci Xtg
Mais je ne trouve pas comment et ou le disposer ce code !
J'ai ça :

Code : Tout sélectionner

function htm_header($title, $description, $word) { global $language, $param_gen, $cache_publicites, $cache_nombre_annonce; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-FR" lang="fr-FR"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title><?php if(!empty($title)) echo $title; ?> blabla <?php if(!empty($ville)) echo $ville; ?></title>
La variable qui n'est pas reconnue c'est $ville

Merci

Re: Une variable dans le <title>

Posté : 03 janv. 2013, 20:37
par xTG
Faire plus pédagogue que cela je peux pas...
Après cela s'appelle un travail et je facture 10€ de l'heure.

Re: Une variable dans le <title>

Posté : 08 janv. 2013, 17:16
par thierry35800
Faire plus pédagogue que cela je peux pas...
Après cela s'appelle un travail et je facture 10€ de l'heure.

Oui xTG, 10 euros de l'heure c'est pas cher ! si tu peux me faire ça, je suis ok.
Le fichier 3w.locations-campingcar.fr/textarea.txt te suffit 'il ?
Cdt
Thierry

Re: Une variable dans le <title>

Posté : 08 janv. 2013, 19:45
par xTG
Faire plus pédagogue que cela je peux pas...
Après cela s'appelle un travail et je facture 10€ de l'heure.

Oui xTG, 10 euros de l'heure c'est pas cher ! si tu peux me faire ça, je suis ok.
Le fichier 3w.locations-campingcar.fr/textarea.txt te suffit 'il ?
Cdt
Thierry
A hauteur de 10h par semaine pendant 2 mois pour ce travail au moins ! 300€.
Après si tu es prêt à payer cela au lieu de lire un cours sur la programmation et de relire mes exemple, les étudier et les adapter...

Re: Une variable dans le <title>

Posté : 08 janv. 2013, 21:26
par thierry35800
Oui, 10h par semaine pendant 2 mois c'est ce que je vais avoir besoin :roll:
Bon je vais suivre tes conseils et essayer de me plonger dans le php =D>

Re: Une variable dans le <title>

Posté : 09 janv. 2013, 00:21
par dix2
Dand le fichier que t'as donné, il faut juste modifier la ligne 12:
function htm_header($title, $description, $word)
par :
function htm_header($title, $description, $word, $ville="")

ensuite, là où est appelée la fonction htm_header (dans un autre fichier apparemment), il faut rajouter un quatrième paramètre qui correspond à la ville, par exemple:
htm_header("le titre de la page", "la description", "des mots", "Lille");

@+
dix2