Naviguation dans :  Perl  JavaScript  Détail  - load.cgi?Appel=saveAdmin
 présentée :  par cas d'appel   par traitements 
Retour à l'accueil
  
     
 Requêtes 

 load – Admin 

 saveAdmin 

Requêtes de Ça-déménage.com
Accès professionnel
Enregistrement des données
  
 
 Bibliothèque CaD 

 Serveur 

 wsRunVar 

Bibliothèque de Ça-déménage.com
Paramètres d'accès au serveur
Paramètres de gestion des valeurs
 
  
  
 Bibliothèque 

 Parse 

 Parser 

Bibliothèque standard
Fonctions de parse des données reçues du client
Recevoir des données issues du client
  


 Parser  Recevoir des données issues du client
Syntaxe Parser(FORM)
Paramètres 
nom  type  Description 
–  IN Données issues du client
FORM  OUT Hash des champs reçus
Perl : hash passé par référence – JavaScript : tableau à 1 élément
retourne  OUT  0 : Traitement correct
1 : REQUEST_METHOD incorrecte (ni GET ni POST)
2 : Données trop grandes (maximum 20 ko)
3 : Présence de caractères de contrôle autres que \n et \r (%0A et %0D)
Fonctions util. Néant


Code Perl 

sub Parser {local ($FORM) = @_; 
 local $in;
 if ($ENV{'REQUEST_METHOD'} eq 'GET') {$in = $ENV{'QUERY_STRING'}}
 elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {read(STDIN, $in, $ENV{'CONTENT_LENGTH'})}
 else {return 1}
 if (length($in)>20000) {return 2};
 $in =~ s/%(0[aAdD])/pack("C",hex($1))/eg; if ($in=~/%([0-1][0-9a-fA-F])/) {return 3};
 my @pairs = split(/&/, $in);
 foreach (@pairs) {
  local ($nom, $val) = split(/=/, $_);
  $nom =~ tr/+/ /; $nom =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $nom =~ tr/\0//d;
  $val =~ tr/+/ /; $val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $val =~ tr/\0//d;
  if ($$FORM{$nom} eq '') {$$FORM{$nom} = $val} else {$$FORM{$nom} = "$$FORM{$nom},$val"}
 }
 return 0;
}
Code JavaScript 

function Parser(FORM) { 
 return 0
}