Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2008, 12h50   #1
Membre régulier
 
Inscription : avril 2006
Messages : 289
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : avril 2006
Messages : 289
Points : 89
Points : 89
Par défaut Variables dans les balises META

Bonjour,

Je cherche a insérer une variable dans une balise META.
Dans une balise META je provoque un rafraichissement automatique de la page toutes les x secondes :

Code :
1
2
 
<META HTTP-EQUIV="refresh" CONTENT="5;URL=index.php?page=home_con_<?php echo $var ?>">
La variables est définie avant la balise <html> à l'aide d'une requete SQL.

Seulement quand la page se rafraichie, ce qui est marqué dans la barre d'adresse est :

Code :
1
2
 
..../index.php?page=home_con_
Il ne prend pas en compte la variable, est ce que vous sauriez comment faire pour qu'il la prenne en compte.
kanabzh29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 13h24   #2
Membre Expert
 
Avatar de gwinyam
 
Homme Mathieu ROBIN
Développeur Web
Inscription : mai 2006
Messages : 1 116
Détails du profil
Informations personnelles :
Nom : Homme Mathieu ROBIN
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mai 2006
Messages : 1 116
Points : 2 142
Points : 2 142
Mets tout ton script jusqu'à cette balise META stp, parce que là à première vu, rien ne cloche. Donc le bug vient d'avant.
gwinyam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 13h34   #3
Membre régulier
 
Inscription : avril 2006
Messages : 289
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : avril 2006
Messages : 289
Points : 89
Points : 89
Voila le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<?php
session_start();
require_once('mysql.php');
 
$sql = $dbh->query("SELECT SITE FROM usr WHERE LOGIN='%s'",
mysql_real_escape_string($_SESSION['nom']));
 
foreach($sql as $row){
$var = $row['SITE'];
}
?>
 
<!DOCTYPE html
         PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>titre</title>
  <link href="style.css" rel="stylesheet" type="text/css">
  <META HTTP-EQUIV="refresh" CONTENT="5;URL=index.php?page=home_con_<?php echo $var ?>">
</head>
<body>
....
</body>
Voili voila
kanabzh29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 13h46   #4
Membre Expert
 
Avatar de gwinyam
 
Homme Mathieu ROBIN
Développeur Web
Inscription : mai 2006
Messages : 1 116
Détails du profil
Informations personnelles :
Nom : Homme Mathieu ROBIN
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mai 2006
Messages : 1 116
Points : 2 142
Points : 2 142
T'attribues à une même variable une série de données, déjà ça
Tu perds toutes les données jusqu'à la dernière ligne résultat de ta requête.

Et t'as un "mysql_real_escape_string" qui, à priori, ne sert à rien, ceci dit, peut être utilisé dans le code supprimé.
gwinyam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 13h50   #5
Membre chevronné
 
Avatar de popo
 
Inscription : mars 2005
Messages : 672
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 672
Points : 705
Points : 705
Citation:
SELECT SITE FROM usr WHERE LOGIN='%s'
C'est tout simplement qu'il n'y a rien dans ta variable.

Essaie avec LIKE

Code :
SELECT SITE FROM usr WHERE LOGIN LIKE '%s'
popo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 14h45   #6
Membre régulier
 
Inscription : avril 2006
Messages : 289
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : avril 2006
Messages : 289
Points : 89
Points : 89
En faisant :

Code :
1
2
3
 
$nom = $_SESSION['nom'];
$sql = $dbh->query("SELECT SITE FROM usr WHERE LOGIN LIKE '$nom'");
bizarre
kanabzh29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 15h03   #7
Membre Expert
 
Avatar de gwinyam
 
Homme Mathieu ROBIN
Développeur Web
Inscription : mai 2006
Messages : 1 116
Détails du profil
Informations personnelles :
Nom : Homme Mathieu ROBIN
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mai 2006
Messages : 1 116
Points : 2 142
Points : 2 142
Oui
gwinyam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 15h06   #8
Modérateur
 
Avatar de SirDarken
 
Eric Willems
Développeur Web
Inscription : février 2004
Messages : 895
Détails du profil
Informations personnelles :
Nom : Eric Willems
Âge : 30
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : Services de proximité

Informations forums :
Inscription : février 2004
Messages : 895
Points : 1 065
Points : 1 065
Envoyer un message via MSN à SirDarken Envoyer un message via Skype™ à SirDarken
Moi ca me semble logique que ca ne marche pas....
$var a en existance que la boucle foreach

Ensuite les balises php sont fermées.

Je sais pas si global aiderai je m'en suis jamais servi, cependant vis à vis de mon expérience deux solutions sont possibles.

Soit tu écrit le header html avec php.(Voir même avec header() de php mais je n'ai pas non plus utilisé cela pour le moment).
Soit tu stock ta variable dans une session et tu la charge dans ton lien avec $_SESSION['var'].

Cordialement.
SirDarken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 15h42   #9
Membre Expert
 
Avatar de gwinyam
 
Homme Mathieu ROBIN
Développeur Web
Inscription : mai 2006
Messages : 1 116
Détails du profil
Informations personnelles :
Nom : Homme Mathieu ROBIN
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mai 2006
Messages : 1 116
Points : 2 142
Points : 2 142
Oulà mettre en session dans le même script, pas utile, ceci dit, ça évitera de refaire la requête à chaque fois. De toute façon, un foreach qui initialise à chaque passage une seule et même variable qui n'est même pas un tableau... ça craint du boudin.
gwinyam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 16h31   #10
Modérateur
 
Avatar de SirDarken
 
Eric Willems
Développeur Web
Inscription : février 2004
Messages : 895
Détails du profil
Informations personnelles :
Nom : Eric Willems
Âge : 30
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : Services de proximité

Informations forums :
Inscription : février 2004
Messages : 895
Points : 1 065
Points : 1 065
Envoyer un message via MSN à SirDarken Envoyer un message via Skype™ à SirDarken
en même temps il demande pas à optimiser son code, aprés je sais pas quel est son but, seulement en voyant deja que la porté de la variable est pas bonne pas besoin de voir plus loin.
SirDarken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 16h39   #11
Membre Expert
 
Avatar de gwinyam
 
Homme Mathieu ROBIN
Développeur Web
Inscription : mai 2006
Messages : 1 116
Détails du profil
Informations personnelles :
Nom : Homme Mathieu ROBIN
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mai 2006
Messages : 1 116
Points : 2 142
Points : 2 142
Oui clair qu'il y a un problème de portée, dès le début. Cependant, tant qu'à faire, autant optimiser
gwinyam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2008, 16h18   #12
Membre régulier
 
Inscription : avril 2006
Messages : 289
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : avril 2006
Messages : 289
Points : 89
Points : 89
Je ne comprends pas ce que vous entendez par "problème de portée" de la variable? Pourriez vous donner plus de detail.

Merci d'avance
kanabzh29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2008, 16h31   #13
Membre Expert
 
Avatar de gwinyam
 
Homme Mathieu ROBIN
Développeur Web
Inscription : mai 2006
Messages : 1 116
Détails du profil
Informations personnelles :
Nom : Homme Mathieu ROBIN
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mai 2006
Messages : 1 116
Points : 2 142
Points : 2 142
Quand tu fais:

Code php :
1
2
3
4
var $ici="là";
function toto(){
  var $hello="coucou";
}
$ici est disponible partout dans le script (sauf dans la fonction toto où tu dois utiliser le terme "global" pour l'appeler).
En revanche, $hello n'est disponible que dans la fonction.

C'est pareil pour tout, notamment les variables instanciées à l'intérieur d'un foreach. Ton echo affiche donc une variable qu'il créée à la volée et donc valant: null.
gwinyam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2008, 17h07   #14
Modérateur
 
Avatar de SirDarken
 
Eric Willems
Développeur Web
Inscription : février 2004
Messages : 895
Détails du profil
Informations personnelles :
Nom : Eric Willems
Âge : 30
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : Services de proximité

Informations forums :
Inscription : février 2004
Messages : 895
Points : 1 065
Points : 1 065
Envoyer un message via MSN à SirDarken Envoyer un message via Skype™ à SirDarken
Euh il me semble que $ici est accesible par toto(), nan ?

Code :
1
2
3
4
5
6
7
8
$nommimage = '';
$nommasse = '';
$mininommimage = '';
$mininommasse = '';
if(!empty($_FILES['upmimage']['name'])){
$nommimage = "../res/upload/promotion/mimagetmp_{$nomimg}{$extensionmimage}";
$mininommimage = "../res/upload/promotion/mimage_{$nomimg}{$extensionmimage}";
						}
Quand j'utilise ca, ca marche enfin peut-être que if n'est pas une fonction, enfin que ca marche pas pareil j'ai jamais essayé.
SirDarken est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h57.


 
 
 
 
Partenaires

Hébergement Web