Transformation de code HTML en chaine

Transformation de code HTML en chaine - Perl - Programmation

Marsh Posté le 18-01-2006 à 09:43:34    

Bonjour
j'ai un script perl, P1, dans mon application qui construit du html. Dans ce html il y a un lien JS avec une propriété OnClick, ce JS permet d'ouvrir une nouvelle page en lançant un nouveau script perl, P2.
Mon problème est que je dois envoyer des informations P1 à P2, pour le moment ça va. Seulement ces informations peuvent être en grand nombre, genre plus de 500 informations.
Donc je doute que passer tout ça dans l'url soit possible... Donc j'avais pensé à passer un tableau en paramètre dans le script JS, tableau perl, ou même rien que l'adresse mémoire, et essayer de le récupérer dans P2. Seulement à la fin je ne récupère q'une chaine indiquant l'adresse de mon tableau, et je ne sais pas quoi en faire. Sinon j'avais pensé à envoyer le HTML en paramètre, en clair de transformer le HTML en une chaine, mais il semble que les caractères "<" et ">" ne soit pas très bien accepté, dans ce cas, si vous connaissiez une fonction permettant de mettre des caractères d'échappement automatiquement, et son inverse, cela me plairait.  
Merci de votre aide.

Reply

Marsh Posté le 18-01-2006 à 09:43:34   

Reply

Marsh Posté le 18-01-2006 à 10:01:55    

Je ne connais pas ton application, mais si tu dois envoyer près de 500 informations différentes par HTML, c'est que tu as un problème de conception.
 
Et comme la mémoire de chaque programme lui est réservée et privée, avec des adresses virtuelles qui plus est, tu ne peux pas passer l'adresse mémoire de quoi que ce soit d'un programme à un autre programme.


Message édité par Elmoricq le 18-01-2006 à 10:03:12
Reply

Marsh Posté le 18-01-2006 à 10:10:08    

D'accord.
Je te remercie de ton aide.
Que penses tu de mon idée de transformer le HTML en chaine? Est ce possible?


Message édité par neo00neo le 18-01-2006 à 10:12:20
Reply

Marsh Posté le 18-01-2006 à 10:52:19    

tu peux utiliser de la persistance coté serveur
genre tu fout ca dans un DBM (ou une berkeley DB, ou SQLite, ou....) avec comme clé une id de session, et tu recupere l'info dans le deuxieme script

Reply

Marsh Posté le 18-01-2006 à 11:08:11    

Ok, je vais essayer de voir comme tu m'as dit. Je te remercie.

Reply

Marsh Posté le 24-01-2006 à 16:57:12    

Bon j'ai réalisé ta méthode, j'utilise un fichier dbm je mets mes données dedans... Malheureusement des fois j'ai un soucis il me met comme erreur :
ndbm store returned -1, errno 28, key "elt" at  
 
Donc je ne sais pas ce que c'est. Merci

Reply

Marsh Posté le 24-01-2006 à 16:58:29    

Il manque un point-virgule à la ligne 42.

Reply

Marsh Posté le 24-01-2006 à 17:39:46    

Merci !
Non plus sérieusement je ne sais pas si c'est une erreur type de dbm ou si c'est général, j'ai recherché cette erreur 28, et on me dit que la base est pleine... Mais si c'est le cas, on pas mettre grand chose, au pire, j'ai 5 lignes dedans.

Reply

Marsh Posté le 24-01-2006 à 17:41:41    

5 lignes contenant chacune un tableau de 500 elements???

Reply

Marsh Posté le 24-01-2006 à 20:08:36    

certain fichier DBM on des limites genres 1000 octets max pour les valeurs
SDBM par exemple il me semble
 
utilise GDBM dans ce cas, ou carrement un DB_File

Reply

Marsh Posté le 24-01-2006 à 20:08:36   

Reply

Marsh Posté le 25-01-2006 à 10:25:52    

Pour anapajari : Non pas tous, ça dépend, ça peut aller jusqu'à 500.
 
Merci pospos, je vais essayer, et je redis.

Reply

Marsh Posté le 26-01-2006 à 11:08:24    

Bon et bien tous les modules ne sont pas installé, tout ceux qui le sont sont limités dans leurs tailles... Db_file n'y est pas ! Et je n'ai pas les droits admin pour le faire snif !
Bon, je me suis orienté carrément vers un fichier txt. Merci bien !

Reply

Marsh Posté le 26-01-2006 à 12:39:20    

meme sans pouvoir installer de module tu peux t'en sortir avec des DBM pure perl, comme celui ci:
http://search.cpan.org/~jhuckaby/DBM-Deep-0.96/
tu peux copier simplement le fichier Deep.pm dans un dossier DBM/ que tu met au meme niveau que ton script, et ca doit rouler

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed