Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > phplib et phpBB
phplib et phpBB Forum d'entraide sur les moteurs de templates phplib et phpBB. Avant de poster -> FAQ gabarits phpBB2, Cours phpBB2 et Sources phpBB2
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 16/02/2006, 13h31   #1
Membre habitué
 
Avatar de duplo
 
Inscription : octobre 2004
Messages : 291
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : octobre 2004
Messages : 291
Points : 120
Points : 120
Envoyer un message via MSN à duplo
Par défaut [phplib] obtention d'une erreur undefined index

Bonjour !
je suis en train de me mettre au templates et evidament se merde ( normale sinon se seraait trop facile lol )
j'ai sa :
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
26
27
    <?php  
   include "librairies/template.inc";  
 
   $db = mysql_connect('localhost', 'root', '');   
   mysql_select_db('1and1',$db);   
  $sql = 'SELECT id,nom,user,mail FROM user';   
   $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());   
 
   $tpl = new template("gabarits");  
   $tpl->set_file("gliste","liste.html");  
 
   $tpl->set_block('gliste','1','bloc_1');  
 
   while($data = mysql_fetch_array($req)) {   
 
   $tpl->set_var("id", $data['id']);  
   $tpl->set_var("nom", $data['nom']);  
   $tpl->set_var("tel", $data['tel']);  
   $tpl->set_var("adresse", $data['adresse']);  
 
   $tpl->parse("bloc_1", "1", true);  
   }  
 
   mysql_close();   
 
   $tpl->pparse("affichage","gliste");  
   ?>
tout ce passe convenablement sauf qu'en haut de la page, j'ai l'erreur :
Citation:
Notice: Undefined index: bloc_1 in y:\mes documents[...]\librairies\template.inc on line 211
d'ou cela vient il?
merci
+
__________________
pensez au
duplo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 13h36   #2
Membre éclairé
 
Avatar de sohnic
 
Femme
bioinfo
Inscription : mai 2003
Messages : 385
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : bioinfo

Informations forums :
Inscription : mai 2003
Messages : 385
Points : 363
Points : 363
Bonjour,
l'erreur est dans template.inc, ligne 211, donc sans le bout de code correspondant, ca va etre dur de t'aider.
A priori tu demandes un element qui n'existe pas dans un tableau (au hasard, un resultat de requete avec erreur dans l'appel du champ, ...).
On attend la suite...

Sohnic
sohnic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 13h59   #3
Membre habitué
 
Avatar de duplo
 
Inscription : octobre 2004
Messages : 291
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : octobre 2004
Messages : 291
Points : 120
Points : 120
Envoyer un message via MSN à duplo
je ne sais pas si il y en aura assé :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  /* public: get_var(string varname)
   * varname: name of variable.
   *
   * public: get_var(array varname)
   * varname: array of variable names
   */
  function get_var($varname) {
    if (!is_array($varname)) {
/* ligne 211 */      return $this->varvals[$varname];
    } else {
      reset($varname);
      while(list($k, $v) = each($varname)) {
        $result[$k] = $this->varvals[$k];
      }
 
      return $result;
    }
  }
si il y en faut plus dites moi le et je metrait tout le template.inc
merci
+
__________________
pensez au
duplo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 14h25   #4
Membre éclairé
 
Avatar de sohnic
 
Femme
bioinfo
Inscription : mai 2003
Messages : 385
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : bioinfo

Informations forums :
Inscription : mai 2003
Messages : 385
Points : 363
Points : 363
Franchement, je ne saurais t'aider davantage, tu utilises une syntaxe dont je n'ai pas l'habitude, et je n'ai pas le temps de me pencher plus avant sur le probleme.
Je pense que tu pourras aider les autres interlocuteurs en editant ton post et en indiquant ou est la ligne 211.
Désolée pour toi, si j'arrive à finir plus tot, je rejeterai un oeil la dessus, ce soir.

Bon courage,
S.
sohnic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 14h42   #5
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
Le tout est de savoir d'où provient "bloc_1" ???
macbook est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 15h23   #6
Membre habitué
 
Inscription : février 2006
Messages : 109
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 109
Points : 120
Points : 120
Par défaut J'utilise le meme systeme de template..

Le probleme vient du fait qu'il te manque la balise "bloc_1" dans ton fichier template "liste.html"

Ton fichier Doit comporter un bout de code de ce genre normalement.
Code :
1
2
3
4
5
6
7
8
9
 
<!-- BEGIN bloc_1 -->
	<Code_HTML 
	{ID} 
	{nom}
	{tel}
	{adresse}
	Code_HTML>
<!-- END bloc_1 -->
Donne nous la partie de code qui correspond à bloc_1 de ton ficher liste.html
dev_php_205 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 15h24   #7
Membre habitué
 
Avatar de duplo
 
Inscription : octobre 2004
Messages : 291
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : octobre 2004
Messages : 291
Points : 120
Points : 120
Envoyer un message via MSN à duplo
bloc_1 vient de bloc dans la page html qui sapel 1
Code :
1
2
3
4
5
6
7
8
   <!-- BEGIN 1 --> 
     <tr bgcolor="#000066">  
       <td><font face="Verdana" size="2" color="#FFFFFF">{id}</font></td>  
       <td><font face="Verdana" size="2" color="#FFFFFF">{nom}</font></td>  
       <td><font face="Verdana" size="2" color="#FFFFFF">{tel}</font></td>  
       <td><font face="Verdana" size="2" color="#FFFFFF">{adresse}</font></td>  
     </tr>  
       <!-- END 1 -->
__________________
pensez au
duplo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 15h30   #8
Membre habitué
 
Inscription : février 2006
Messages : 109
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 109
Points : 120
Points : 120
Dans ton fichier template "liste.html" tu dois mettre le code :
<!-- BEGIN bloc_1 -->
et
<!-- END bloc_1 -->

en lieu et place de :
<!-- BEGIN 1 --> et <!-- END 1 -->
dev_php_205 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 15h35   #9
Membre habitué
 
Avatar de duplo
 
Inscription : octobre 2004
Messages : 291
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : octobre 2004
Messages : 291
Points : 120
Points : 120
Envoyer un message via MSN à duplo
Sa y est sa fonctionne merci beaucoup !
mais encore une question pourquoi les données sont ecrites 2 foies?
merci !
+
__________________
pensez au
duplo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 15h43   #10
Membre habitué
 
Inscription : février 2006
Messages : 109
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 109
Points : 120
Points : 120
Deux possibilites :
Tu PARSE deux fois dans ta boucle While() !! dans ton fichier PHP
Donc tu as codé deux fois "$tpl->parse("bloc_1", "1", true);"

Ou tu as deux Balises "Bloc_1" ou deux fois le lot de balise "id","nom", etc .. dans ton fichier template !
dev_php_205 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 15h48   #11
Membre habitué
 
Avatar de duplo
 
Inscription : octobre 2004
Messages : 291
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : octobre 2004
Messages : 291
Points : 120
Points : 120
Envoyer un message via MSN à duplo
Merci !
+
__________________
pensez au
duplo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h04.


 
 
 
 
Partenaires

Hébergement Web