Résultats de la recherche (180 résultats)

Tranber
15 Juin 2007, 13:23
Il va te falloir mettre une variable dans le nom de ton champ sinon ils vont tous s'écraser l'un l'autre et tu n'aura plus que le dernier.
Compare le block avec un for.

Mais normalement la variable du style {persos.PERSO_LEVEL} devrait être incrémentée non ? Car j'ai bien compris que c'est comme une boucle for, mais je pensais que ça sortait la variable sous forme de tableau, mais je ne sais pas comment le recueillir. Sinon, il est possible de faire un truc du genre : {persos.pERSO_LEVEL{persos.ITERATOR}} ?
 
Tranber
12 Juin 2007, 23:00
Bon j'avoue je suis un peu coincé. Pourtant il ne me manque pas grand chose. En fait je voudrais savoir comment interagissent les variables de block avec leur homologue en php.
Plus précisement, lors d'un submit sur des formulaires, quelle est la forme des valeurs renvoyées ?
Admettons qu'on ai ce code :
<block name="persos">
	<dl>
		<dt><label>{LG_USER_PERSO} :</label></dt>
			<dd><input type="text" name="u_perso" id="u_perso_id" value="{persos.USER_PERSO}" size="20" maxlength="19" /> &nbsp; {LG_USER_PROFESSION} : {persos.PERSO_PROF} &nbsp; {LG_USER_LEVEL} : {persos.PERSO_LEVEL} &nbsp; {LG_USER_DELETE} : <input type="checkbox" name="case" /></dd>
			<dd><table>
			<tr>
				<td>&nbsp;</td>
				<th>{LG_USER_NORMAL}</th>
				<th>{LG_USER_HARD}</th>
			</tr>
			<tr>
				<th>{LG_USER_TYRIE} : </th>
				<td>{persos.PERSO_PRO_N}</td>
				<td>{persos.PERSO_PRO_H}</td>
			</tr>
			<tr>
				<th>{LG_USER_CANTHA} : </th>
				<td>{persos.PERSO_FAC_N}</td>
				<td>{persos.PERSO_FAC_H}</td>
			</tr>
			<tr>
				<th>{LG_USER_ELONA} : </th>
				<td>{persos.PERSO_NIG_N}</td>
				<td>{persos.PERSO_NIG_H}</td>
			</tr>
				</table>
			</dd>
	</dl>
</block>	

Mis à part la valeur du champ, sous quelle forme la variable (ou le nom) vas-t-y être transmit au code php ? Faudra-t-il faire plusieurs request ou c'est mis dans un tableau ? Pour info la plupart des VARIABLES sont des listes.
 
Tranber
11 Juin 2007, 9:38
En fait je bloque à deux endroits. J'ai déjà créé la table qui contient les champs suivant :
 	
'u_id'(id du user), 'u_perso_p'(personnage principal du user), 'u_perso'(un autre personnage), 'u_prof'(la profession du perso (chiffre)), 'u_p_level'(le level du perso), 'u_p_pro_n'(où est le personnage au niveau des coop dans prophecies en mode normal), 'u_p_pro_h'(et ainsi de suite), 'u_p_fac_n', 'u_p_fac_h', 'u_p_nig_n', 'u_p_nig_h', 'u_p_pro_e'(de même pour l\'exploration en hard), 'u_p_fac_e', 'u_p_nig_e', 'p_id'(l\'id du personnage)


Donc dans ma logique, on remplit une permière fois la base de données avec le champ u_perso_p contenant le nom du personnage principal mais on laisse 0 pour le champ u_perso. Et ensuite on fait l'inverse quand on ajout un nouveau joueur. Ca permet de différencier le personnage principal d'un personnage normal.
Le truc c'est qu'on peut avoir un nombre infini de perso sous GW (moyennant argent ^^). Comme il y en a toujours qui achète des places pour des perso supplémentaires, il faut que je gère l'ajout d'un nouveau personnage en boucle à l'infini. Enfin, c'est quand même contrôlé par un bouton d'ajout de personnage. C'est donc un par un que le joueur peut rajouter des persos.

Mes problèmes sont donc comment faire pour afficher à l'infinie une formulaire dont les variables de ce formulaire changent pour ne pas à avoir à recueillir la même information pour tous les perso ?
[EDIT] J'ai réussi à faire les boucles à l'infini grâce à votre belle documentation que je viens de trouver, mais le problème qu'il me reste est l'enregistrement dans la base de données. J'essaye de faire un tableau à 2 dimensions pour avoir le même type d'enregistrement mais qui diffère selon le p_id du perso, et pour le moment ça ne marche pas trop. Je vais essayer d'autres combinaisons, et je reviens vous embêter si je n'y arrive pas.

Au passage, toujours lié à GW (décidemment), je cherche à modifier le fsb code pour y introduire une nouvelle fenêtre qui contiendrait toutes les compétences du jeu triée. Dans quel fichier je peux modifier ça si c'est pas trop demander.

Merci encore de m'avoir aider.
 
Tranber
09 Juin 2007, 16:59
Nan c'est pas vraiment ce que je veux faire. Le membre possède déjà des champs pour son personnage principal, mais après il appuie sur un bouton pour rajouter des champs en plus de ceux déjà présents, et ça à chaque fois qu'il ajoute un personnage.
Au final, s'il possède 4 persos, il aura donc 4 champs où il pourra rentrer le nom de ses personnages, 4 pour le level etc ...
Il pourra ainsi modifier chaque personnage indépendemment. Et il aura aussi la possibilité d'en supprimer un. Donc il faut que le script html puisse refaire les mêmes formulaires en fonction du nombre de personnage que possède le membre, et c'est là que je suis bloqué.
 
Tranber
09 Juin 2007, 9:10
Merci beaucoup de tous vos conseils, ça m'a aidé à faire ce que je voulais faire pour le personnage principal. Mais maintenant je me retrouve confronté à une nouvelle épreuve : chaque membre peut rajouter autant de personnage qu'il le souhaite, donc je gère pour le moment niveau php, mais au niveau du template je ne vois pas comment je peux faire, comme faire une boucle par exemple.

Pour faire court, le membre appuie sur un bouton de type="submit" et ça recharge la page avec de nouveaux champs qu'il peut remplir. L'opération peut se répéter à l'infini. Comment on peut faire ça en html ?
 
Tranber
03 Juin 2007, 22:33
T'inquiètes pas c'est ce que j'ai commencé à faire. Mais le problème c'est que d'habitude j'utilise plutôt les données qui sortent des formulaires sous forme de $_POST mais c'est pas le cas dans ce forum.
Je vais encore essayer (après mes partiels ... arf) de faire à ma façon en essayant d'adapter un max au code de genova en utilisant mes compétences. Qui sait, ça me permettra peut-être de faire une mod pour guild wars plus tard ? ^^

Enfin si quelqu'un sait déjà comment récuperer les données du formulaire de ma table, ça m'avancerai beaucoup. Et merci déjà de m'avoir orienté.
 
Tranber
03 Juin 2007, 21:59
C'est ce que j'avais pensé, faire une nouvelle page, mais le nouveau problème c'est comment l'intégrer au système ? Comment faire pour que mon fichier php soit appelé en même temps que celui qui affiche les infos de l'utilisateur ?
 
Tranber
03 Juin 2007, 20:21
Merci ça va déjà m'aider mais en fait je me suis mal exprimé (désolé) mais le problème est plus en amont : je ne trouve pas comment récupérer les données envoyées par le formulaire, les données de type $_POST. C'est à cause de ça que je n'arrive pas à écrire dans la base de données en fait.

J'arrive pas à comprendre ce morceau de code :
		$this->post_data = array(
			array('field' => 'u_nickname', 'insert' => TRUE),
			array('field' => 'u_tpl', 'insert' => TRUE),
			array('field' => 'u_language', 'insert' => TRUE),
			array('field' => 'u_birthday', 'insert' => TRUE),
			array('field' => 'u_birthday_day', 'insert' => FALSE),
			array('field' => 'u_birthday_month', 'insert' => FALSE),
			array('field' => 'u_birthday_year', 'insert' => FALSE),
			array('field' => 'u_sexe', 'insert' => TRUE),
			array('field' => 'u_rank_id', 'insert' => TRUE),
			array('field' => 'u_utc', 'insert' => TRUE),
			array('field' => 'u_utc_dst', 'insert' => TRUE),
		);
		
		foreach ($this->post_data AS $value)
		{
			$this->data[$value['field']] = request($value['field'], 'post');
			if ($this->data[$value['field']] === NULL && $value['insert'])
			{
				$this->data[$value['field']] = $user->data[$value['field']];
			}
			$this->data[$value['field']] = trim($this->data[$value['field']]);
		}

D'où ça vient 'field' et comment je peux faire de même pour mes données ?
 
Tranber
03 Juin 2007, 19:53
Ben en fait, c'est pas le problème de gérer différents perso qui me dérange (et tout cas pour le moment) car comme tu le dis une boucle sous php et c'est fini. Mais là où je suis vraiment bloqué c'est que j'arrive à lire la base de données, mais je n'arrive pas à y écrire mes informations.
 
Tranber
03 Juin 2007, 19:13
Le problème c'est que j'ai dû créer une nouvelle table qui contient les infos suivantes : u_id, u_perso_p, u_perso, u_p_level, u_p_pro_n, u_p_pro_h, u_p_fac_n, u_p_fac_h, u_p_nig_n, u_p_nig_h, u_p_pro_e, u_p_fac_e, u_p_nig_e. La table s'appelle fsb2_users_persos.

J'ai été obligé de créer une nouvelle table du fait qu'un user peut avoir plusieurs persos. Pour le moment je ne m'occupe que du personnage principal, car ce qui est fait pour un est faisable pour les autres ^^

Je ne sais pas trop par où aller pour gérer ce problème.
 
Tranber
03 Juin 2007, 19:00
C'est mieux comme ça ? ^^
 
Tranber
03 Juin 2007, 18:27
Merci j'avais pourtant fait une recherche. Ca marche effictivement.
 
Tranber
03 Juin 2007, 18:24
Non car je veux pas mettre juste une information, mais plusieurs !
Je veux que le niveau et les lieux soient liées au perso, et que chaque perso soient liés au user.

J'avais essayé avec l'affichage personnalisé, mais je ne pouvais mettre que un seul champ à la fois. Le problème c'est que pour un perso il y a 11 champ, et on peut avoir plus de 8 persos. Ca ferait un peu désordre ...
 
Tranber
03 Juin 2007, 18:18
  1. Type de bug : Autre ...
  2. Zone du forum affectée : Autre
  3. Priorité du bug : Haute
  4. Description : Quand je clic sur portail, le forum me renvoie cette erreur :
    Le fichier XML main/lib/maps/.xml n'existe pas

    à la ligne 44 du fichier [...]/main/class/class_xml_parser.php

    [b]Ligne 37 :[/b]    ** $use_cache ::   Utilisation du cache
    [b]Ligne 38 :[/b]    */
    [b]Ligne 39 :[/b]    function load_file($filename, $charset = 'UTF-8', $use_cache = true)
    [b]Ligne 40 :[/b]    {
    [b]Ligne 41 :[/b]       if (!file_exists($filename))
    [b]Ligne 42 :[/b]       {
    [b]Ligne 43 :[/b]          error('Le fichier XML ' . $filename . ' n\'existe pas', '', __LINE__, __FILE__);
    [b]Ligne 44 :[/b]       }
    [b]Ligne 45 :[/b] 
    [b]Ligne 46 :[/b]       if ($use_cache)
    [b]Ligne 47 :[/b]       {
    [b]Ligne 48 :[/b]          $hash = md5($filename);
    [b]Ligne 49 :[/b]          $cache = Cache::method(ROOT . 'cache/xml/', 'cache_xml', 'auto');
    [b]Ligne 50 :[/b]          if ($cache->exists($hash) && $cache->get_time($hash) == filemtime($filename))
    [b]Ligne 51 :[/b]          {


    Pourtant il y a bien un fichier xml : classic.xml qui contient :
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <map>
        <head>
            <title>Entrez votre message</title>
            <onUpload set="description" append="true" />
        </head>
        <body>
            <line name="description">
                <type>textarea</type>
                <lang>Votre message</lang>
                <option>
                    <rows>15</rows>
                    <cols>80</cols>
                    <useWysiwyg />
                </option>
                <result>%s</result>
            </line>
        </body>
    </map>


  5. Elément de réponse : Je pense que ça peut venir de mon hébergeur (Free) car je n'ai pu chmoder les fichier. Il n'y a pas moyen d'afficher le portail autrement ?
  6. Fichier(s) : main/class/class_xml_parser.php
  7. Base de donnée utilisée : MySQL 5
 
Tranber
03 Juin 2007, 17:53
Bonjour. J'essaye de faire des petits changements dans la RC4 de fsb2 au niveau des profils. En gros je veux que le user puisse rentrer le nom de son perso principal, le level et où il est situé dans le jeu (guild wars). Une fois qu'il aura mis les infos pour son perso principal, il pourra ajouter d'autres perso avec les mêmes informations.

J'ai réussi à faire en sorte que ça s'affiche, mais le problème c'est qu'il ne veut pas enregistrer les données dans la BDD. J'ai un peu de mal à comprendre comment le fsb2 fonctionne en fait ^^
Donc j'aimerai un peu d'aide pour savoir comment m'y prendre car je sais déjà que le fait d'avoir mis une requète sql dans le fichier ci-dessous n'est pas propre mais je n'arrive pas à faire autrement. Je veux juste réussir à rentrer les informations recueillis par le formulaire dans la BDD, le reste je me débrouille ^^
Voici les codes modifiés :
main/user/user_personal.php
fichier template lié


Merci d'avance de votre aide !
 


.