CLASSE HTML EN PHP

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 4 nov. 2003 à 16:42
faculd Messages postés 8 Date d'inscription lundi 3 mai 2004 Statut Membre Dernière intervention 29 janvier 2008 - 25 févr. 2007 à 18:47
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/17660-classe-html-en-php

faculd Messages postés 8 Date d'inscription lundi 3 mai 2004 Statut Membre Dernière intervention 29 janvier 2008
25 févr. 2007 à 18:47
package (on dirait linux), librairie (on dirait c/c++), classe (on dirait php :p ) dans son utilité, moi je dirait que c'est un moteur de template...

Excellent!

Au plaisir,
Steph666 Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 5 juin 2008
14 déc. 2005 à 11:41
Petit ajout d''exemple
Steph666 Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 5 juin 2008
14 nov. 2003 à 17:29
Oui c le mode secure, c une configuration côté serveur qui permet de passer par le port 443 (sécurisé) au lieu du port 80 en SSL.
Ajouté à cela le poste client doit accepter un certificat.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
12 nov. 2003 à 16:05
https c'est le mode secure c'est ça?
comment tu fais pr obtenir un site en https, c'est par rapport au serveur ?
Steph666 Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 5 juin 2008
12 nov. 2003 à 14:57
Voici la liste des fonctions pour toi Kirua, en espérant que cette fois-ci cela corresponde à tes attentes lol.

start_html($titre "Untitled Document", $script "", $style = "", $head = "", $meta = "", $base = "", $target = "", $author = "", $lang = "", $noscript = "") {
}

js($js, $fic = 0) {
}

css($css, $fic = 0) {
}

start_body($corps "", $balise "") {
}

start_form($corps "", $balise "", $name = "", $method = "post", $action = "", $enctype = "application/x-www-form-urlencoded", $class = "", $style = "", $target = "", $accept = "", $accept_charset = "", $title = "", $lang = "") {
}


end_form() {
}

end_html($corps = "") {
}

text() {
}

pwd() {
}

upload() {
}

res() {
}

button() {
}

submit() {
}

hidden() {
}

img_but() {
}

check() {
}

radio() {
}

input() {
}

textarea() {
}

popup() {
}

param($param = "") {
}

set_separateur() {
}

url() {
}


un petit changement tout de même ds le contenu de 2 fonctions, pour ceux qui le souhaite :

- function start_form : changer

if (!$action) $action = " action="http://".$GLOBALS["HTTP_HOST"].$GLOBALS["SCRIPT_NAME"]."$query"";
else $action = " action="".$action.""";

par

if (!$action) {
if (isset($GLOBALS["HTTPS"]) && $GLOBALS["HTTPS"] == "on") $protocol = "https";
else $protocol = "http";

$action = " action="".$protocol."://".$GLOBALS["HTTP_HOST"].$GLOBALS["SCRIPT_NAME"]."$query"";
} else $action = " action="".$action.""";

- dans la fonction url : changer
return "http://".$GLOBALS["HTTP_HOST"].$GLOBALS["SCRIPT_NAME"];

par

if (isset($GLOBALS["HTTPS"]) && $GLOBALS["HTTPS"] == "on") $protocol = "https";
else $protocol = "http";

return $protocol."://".$GLOBALS["HTTP_HOST"].$GLOBALS["SCRIPT_NAME"];

Des commentaires plus explicites sont à venir pour bien expliquer la classe, suivant vos remarques
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
5 nov. 2003 à 14:40
bah, c'est pas le code qu'on voulait, (en tt cas que je voulais) c t un récapitulatif des fonctionnalitées, pour qu'on puisse te dire ce que tu pourrais ajouter ;-)
Steph666 Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 5 juin 2008
5 nov. 2003 à 10:41
En effet les connaisseurs reconnaitront, l'esprit perl, en effet je me suis inspiré de la classe perl.
Ceci n'est que la version 1, j'attends donc vos commentaires.
Et voici le code directement pour les feignants (lol)

<?
/***********************************
** Auteur : Stéphane Etcheto **
** Version 1.0 **
** 04/01/2003 **
** Pour tout bug, toutes **
** améliorations, et toutes **
** utilisations merci de **
** m'écrire à stef_64_fr@yahoo.fr **
***********************************/
class HTML {
/*
ici ordre et séparateur peuvent être
changés suivant l'envie de l'utilisateur
*/
var $ordre, $separateur = "::";
var $_Tattributs = array("name", "value", "class", "style", "lang", "title", "size", "maxlength", "wrap", "accept", "other", "src", "label", "defaut", "vertical", "cols", "rows", "multiple");

function start_html($titre "Untitled Document", $script "", $style = "", $head = "", $meta = "", $base = "", $target = "", $author = "", $lang = "", $noscript = "") {
if ($lang) $lang = " lang="$lang"";
if ($author) $author = "<link rev="MADE" href="mailto:$author">
";
if ($base) {
if ($target) $target = " target="$target"";
$base = "
";
}
if ($meta) {
foreach ($meta as $key => $value) $metas .= "<meta name="$key" content="$value">
";
}
if ($script) $script = $this->js($script, 1);
if ($style) $style = $this->css($style, 1);
if ($noscript) $noscript = "<noscript>$noscript</noscript>
";

return "<html$lang>
<head>
<title>$titre</title>
$author$base$metas$script$style$noscript$head</head>
";
}

function js($js, $fic = 0) {
$script = "";

if (!$fic) {
$script .= "<script language="Javascript">".$js."</script>
";
} else {
$param = split(",", $js);
foreach ($param as $val) {
$script .= "<script language="Javascript" src="$val"></script>
";
}
}

return $script;
}

function css($css, $fic = 0) {
$script = "";

if (!$fic) {
$script .= "<style type="text/css">".$css."</style>
";
} else {
$param = split(",", $css);
foreach ($param as $val) {
$script .= "<link rel="stylesheet" href="$val" type="text/css">
";
}
}

return $script;
}

function start_body($corps "", $balise "") {
return "
".$corps;
}

function start_form($corps "", $balise "", $name = "", $method = "post", $action = "", $enctype = "application/x-www-form-urlencoded", $class = "", $style = "", $target = "", $accept = "", $accept_charset = "", $title = "", $lang = "") {
if ($balise) $balise = " $balise";
if ($method) $method = " method="$method"";
if ($name) $name = " name="".$name.""";
if ($GLOBALS["QUERY_STRING"]) $query = "?".$GLOBALS["QUERY_STRING"]."";
else $query = "";
if ($class) $class = " class="".$class.""";
if ($style) $style = " style="".$style.""";
if ($target) $target = " target="".$target.""";
if ($accept) $accept = " accept="".$accept.""";
if ($accept_charset) $accept_charset = "accept_charset="".$accept_charset.""";
if ($title) $title = " title="".$title.""";
if ($lang) $lang = " lang="".$lang.""";

if (!$action) $action = " action="http://".$GLOBALS["HTTP_HOST"].$GLOBALS["SCRIPT_NAME"]."$query"";
else $action = " action="".$action.""";

if ($enctype) $enctype = " enctype="$enctype"";

$form = "$name$method$action$enctype$balise$class$style$target$accept$accept_charset$title$lang";

return "<form$form>
".$corps;
}


function end_form() {
return "</form>
";
}

function end_html($corps = "") {
return $corps."
</html>";
}

/**************** Usage ****************
**
** text("name::monnom", "value::mavaleur", "class::maclass", "lang::malang", "maxlength::masaisie", "size::mataille", "title::montitre", "style::monstyle", "other::mesautres");
** sur cette façon ci l'ordre n'a aucune importance
** ou
** text("monnom", "mavaleur", "mataille", "masaisie", "maclass", "monstyle", "malang", "montitre", "mesautres");
** sur cette façon là, l'ordre est très important à respecter
**
***************************************/
function text() {
$param = func_get_args();
array_unshift($param, "text");
$this->ordre = array(0, 1, 2, 3, 4, 5, 6, 7, 10);
return $this->input($param);
}

/**************** Usage ****************
**
** pwd("name::monnom", "value::mavaleur", "class::maclass", "lang::malang", "maxlength::masaisie", "size::mataille", "title::montitre", "style::monstyle", "other::mesautres");
** sur cette façon ci l'ordre n'a aucune importance
** ou
** pwd("monnom", "mavaleur", "mataille", "masaisie", "maclass", "monstyle", "malang", "montitre", "mesautres");
** sur cette façon là, l'ordre est très important
**
***************************************/
function pwd() {
$param = func_get_args();
array_unshift($param, "password");
$this->ordre = array(0, 1, 2, 3, 4, 5, 6, 7, 10);
return $this->input($param);
}

/**************** Usage ****************
**
** upload("name::monnom", "value::mavaleur", "class::maclass", "lang::malang", "accept::maaccept", "size::mataille", "title::montitre", "style::monstyle", "other::mesautres");
** sur cette façon ci l'ordre n'a aucune importance
** ou
** upload("monnom", "mavaleur", "maaccept", "mataille", "maclass", "monstyle", "malang", "montitre", "mesautres");
** sur cette façon là, l'ordre est très important
**
***************************************/
function upload() {
$param = func_get_args();
array_unshift($param, "file");
$this->ordre = array(0, 1, 9, 6, 2, 3, 4, 5, 10);
return $this->input($param);
}

/**************** Usage ****************
**
** res("value::mavaleur", "class::maclass", "style::monstyle", "lang::malang", "title::montitre", "other::mesautres");
** sur cette façon ci l'ordre n'a aucune importance
** ou
** res("mavaleur", "maclass", "monstyle", "malang", "montitre", "mesautres");
** sur cette façon là, l'ordre est très important
**
***************************************/
function res() {
$param = func_get_args();
array_unshift($param, "reset");
$this->ordre = array(1, 2, 3, 4, 5, 10);
return $this->input($param);
}

/**************** Usage ****************
**
** button("name::monnom", "value::mavaleur", "class::maclass", "style::monstyle", "lang::malang", "title::montitre", "other::mesautres");
** sur cette façon ci l'ordre n'a aucune importance
** ou
** button("monnom", "mavaleur", "maclass", "monstyle", "malang", "montitre", "mesautres");
** sur cette façon là, l'ordre est très important
**
***************************************/
function button() {
$param = func_get_args();
array_unshift($param, "button");
$this->ordre = array(0, 1, 2, 3, 4, 5, 10);
return $this->input($param);
}

/**************** Usage ****************
**
** submit("value::mavaleur", "class::maclass", "style::monstyle", "lang::malang", "title::montitre", "other::mesautres");
** sur cette façon ci l'ordre n'a aucune importance
** ou
** submit("mavaleur", "maclass", "monstyle", "malang", "montitre", "mesautres");
** sur cette façon là, l'ordre est très important
**
***************************************/
function submit() {
$param = func_get_args();
array_unshift($param, "submit");
$this->ordre = array(1, 2, 3, 4, 5, 10);
return $this->input($param);
}

/**************** Usage ****************
**
** hidden("name::monnom", "value::mavaleur", "class::maclass", "style::monstyle", "lang::malang", "title::montitre", "other::mesautres");
** sur cette façon ci l'ordre n'a aucune importance
** ou
** hidden("monnom", "mavaleur", "maclass", "monstyle", "malang", "montitre", "mesautres");
** sur cette façon là, l'ordre est très important
**
***************************************/
function hidden() {
$param = func_get_args();
array_unshift($param, "hidden");
$this->ordre = array(0, 1, 2, 3, 4, 5, 10);
return $this->input($param);
}

/**************** Usage ****************
**
** img_but("name::monnom", "src::masource", "value::mavaleur", "class::maclass", "style::monstyle", "lang::malang", "title::montitre", "align::monalign", "other::mesautres");
** sur cette façon ci l'ordre n'a aucune importance
** ou
** img_but("monnom", "masource", "mavaleur", "maclass", "monstyle", "malang", "montitre", "monalign", "mesautres");
** sur cette façon là, l'ordre est très important
**
***************************************/
function img_but() {
$param = func_get_args();
array_unshift($param, "image");
$this->ordre = array(0, 11, 1, 2, 3, 4, 5, 10);
return $this->input($param);
}

/**************** Usage ****************
**
** check("name::monnom", "value::mavaleur", "label::monlabel", "class::maclass", "style::monstyle", "lang::malang", "title::montitre", "other::mesautres");
** sur cette façon ci l'ordre n'a aucune importance
** ou
** check("monnom", "mavaleur", "monlabel", "maclass", "monstyle", "malang", "montitre", "mesautres");
** sur cette façon là, l'ordre est très important
**
***************************************/
function check() {
$param = func_get_args();
$input "ordre array(0, 1, 12, 2, 3, 4, 5, 10);

$i = 0;
$taille = count($param);

foreach ($param as $value) {
$value = preg_replace("/
/", "", $value);
if (preg_match("/(w+)".$this->separateur."(.*)/",$value,$res)) {
switch ($res[1]) {
case other :
$input .= " ".$res[2];
$j++;
break;
case label :
$label = " ".$res[2];
$j++;
break;
case value :
$valeur = $value;
$input .= " ".$res[1]."="".$res[2].""";
$j++;
break;
case name :
$name = $value;
default :
$input .= " ".$res[1]."="".$res[2].""";
$j++;
}
} else {
if ($value) {
if ($this->_Tattributs[$this->ordre[$i]] == "other") $input .= " ".$value;
elseif ($this->_Tattributs[$this->ordre[$i]] == "label") $label = $value;
elseif ($this->_Tattributs[$this->ordre[$i]] == "value") {
$valeur = $value;
$input .= " ".$this->_Tattributs[$this->ordre[$i]]."="".$value.""";
} elseif ($this->_Tattributs[$this->ordre[$i]] == "name") {
$name = $value;
$input .= " ".$this->_Tattributs[$this->ordre[$i]]."="".$value.""";
} else $input .= " ".$this->_Tattributs[$this->ordre[$i]]."="".$value.""";
}
$i++;
}
}
if (($GLOBALS["$name"] && $GLOBALS["$name"] == $valeur) || strtolower($valeur) == "on" || strtolower($GLOBALS["$name"]) == "on") $input .= " checked";
$input .= ">".$label."
";
$this->ordre = array();

return (($j $taille && $i 0) || ($i == $taille && $j == 0)) ? $input : 0;
}

/**************** Usage ***************
**
** radio("name::monnom", "value::mavaleur", "label::monlabel", "defaut::mondefaut", "class::maclass", "style::monstyle", "lang::malang", "title::montitre", "vertical::oui", "other::mesautres");
** sur cette façon ci l'ordre n'a aucune importance
** ou
** radio("monnom", "mavaleur", "monlabel", "mondefaut", "maclass", "monstyle", "malang", "montitre", "oui", "mesautres");
** sur cette façon là, l'ordre est très important
**
***************************************/
function radio() {
$param = func_get_args();
$input "ordre array(0, 1, 12, 13, 2, 3, 4, 5, 14, 10);

$i = 0;
$taille = count($param);

foreach ($param as $value) {
if ($value) {
if ($this->_Tattributs[$this->ordre[$i]] == "other") $input .= " ".$value;
elseif ($this->_Tattributs[$this->ordre[$i]] == "vertical") $vertical = "
";
elseif ($this->_Tattributs[$this->ordre[$i]] == "value") $valeur = $value;
elseif ($this->_Tattributs[$this->ordre[$i]] == "defaut") $defaut = $value;
elseif ($this->_Tattributs[$this->ordre[$i]] == "label") $label = $value;
else $input .= " ".$this->_Tattributs[$this->ordre[$i]]."="".$value.""";
}
$i++;
}

if (is_array($valeur)) {
$temoin = $input;
$input = "";
foreach ($valeur as $val) {
$tempo = " value="".$val.""";
if ($defaut) if ($val == $defaut) $tempo .= " checked";
$input .= $temoin.$tempo.">".($label && $label[$val]?$label[$val]:$val)."
$vertical";
}
} else {
$input .= " value="".$valeur.""";

if ($defaut) if ($valeur == $defaut) $input .= " checked";// {$input .= " checked";print "$valeur == $defaut
";}

$input .= ">".$label."
$vertical";
}

$this->ordre = array();
return $i == $taille ? $input."
" : 0;
}

function input() {
$param = func_get_args();
$input = "separateur."(.*)/",$value,$res)) {
switch ($res[1]) {
case other :
$input .= " ".$res[2];
$j++;
break;
default :
$input .= " ".$res[1]."="".preg_replace("/"/", "'", stripslashes($res[2])).""";//on remplace tous les " en ', on supprime en plus tous les rajoutés par php, avant : $input .= " ".$res[1]."="".$res[2].""";
$j++;
}
} else {
if ($value) {
if ($this->_Tattributs[$this->ordre[$i]] == "other") $input .= " ".$value;
// else $input .= " ".$this->_Tattributs[$this->ordre[$i]]."="".$value.""";
else $input .= " ".$this->_Tattributs[$this->ordre[$i]]."="".preg_replace("/"/", "'", stripslashes($value)).""";
}
$i++;
}
}
$this->ordre = array();
return (($j $taille && $i 0) || ($i == $taille && $j == 0)) ? $input.">
" : 0;
}

/**************** Usage ****************
**
** textarea("name::monnom", "value::mavaleur", "cols::mescols", "rows::mesrows", "class::maclass", "style::monstyle", "lang::malang", "title::montitre", "wrap::monwrap", "other::mesautres");
** sur cette façon ci l'ordre n'a aucune importance
** ou
** textarea("monnom", "mavaleur", "mescols", "mesrows", "maclass", "monstyle", "malang", "montitre", "monwrap", "mesautres");
** sur cette façon là, l'ordre est très important
**
***************************************/
function textarea() {
$param = func_get_args();
$input = "<textarea";
$this->ordre = array(0, 1, 15, 16, 2, 3, 4, 5, 8, 10);

$i = 0;
$j = 0;
$taille = count($param);

foreach ($param as $value) {
$value = preg_replace("/
/", "", $value);
if (preg_match("/(w+)".$this->separateur."(.*)/",$value,$res)) {
switch ($res[1]) {
case other :
$input .= " ".$res[2];
$j++;
break;
case value :
// $valeur = $res[2];
$valeur = preg_replace("/"/", "'", stripslashes($res[2]));
$j++;
break;
default :
// $input .= " ".$res[1]."="".$res[2].""";
$input .= " ".$res[1]."="".preg_replace("/"/", "'", stripslashes($res[2])).""";
$j++;
}
} else {
if ($value) {
if ($this->_Tattributs[$this->ordre[$i]] == "other") $input .= " ".$value;
elseif ($this->_Tattributs[$this->ordre[$i]] == "value") $valeur = preg_replace("/"/", "'", stripslashes($value));
else $input .= " ".$this->_Tattributs[$this->ordre[$i]]."="".preg_replace("/"/", "'", stripslashes($value)).""";
/*
if ($this->_Tattributs[$this->ordre[$i]] == "value") $valeur = $value;
else $input .= " ".$this->_Tattributs[$this->ordre[$i]]."="".$value.""";
*/
}
$i++;
}
}
return (($j $taille && $i 0) || ($i == $taille && $j == 0)) ? $input.">".$valeur."</textarea>
" : 0;
}

/**************** Usage ****************
**
** popup("monnom", "mavaleur", "monlabel", "mondefaut", "multiple", "maclass", "monstyle", "masize", "malang", "montitre", "mesautres");
** sur cette façon là, l'ordre est très important
**
***************************************/
function popup() {
$param = func_get_args();
$popupmenu = "<select";
$this->ordre = array(0, 1, 12, 13, 17, 2, 3, 6, 4, 5, 10);

$i = 0;
$mul = 0;
$taille = count($param);

foreach ($param as $value) {
if ($value) {
switch ($this->_Tattributs[$this->ordre[$i]]) {
case multiple :
$mul = 1;
case other :
$popupmenu .= " ".$value;
break;
case style :
if (is_array($value)) $style = $value;
else $popupmenu .= " ".$this->_Tattributs[$this->ordre[$i]]."="".$value.""";
break;
case value :
$valeur = $value;
break;
case label :
$label = $value;
break;
case defaut :
$defaut = $value;
break;
case name :
$name = " name="".$value;
break;
case 'class' :
if (is_array($value)) $class = $value;
else $popupmenu .= " ".$this->_Tattributs[$this->ordre[$i]]."="".$value.""";
break;
default :
$popupmenu .= " ".$this->_Tattributs[$this->ordre[$i]]."="".$value.""";
break;
}
}
$i++;
}

if ($mul == 1 && !ereg("[]$",$name)) $name .= "[]";
$popupmenu .= $name."">
";

if (is_array($valeur)) {
$j = 0;
foreach ($valeur as $val) {
$sel = "";
$tempo = " value="".$val.""";
if ($style[$j]) $tempo .= " style="".$style[$j].""";
if ($class[$j]) $tempo .= " class="".$class[$j].""";
if (is_array($defaut) && $mul == 1) {
foreach ($defaut as $def) if ($def $val) $sel " selected";
} elseif ($defaut $val) $sel " selected";
$popupmenu .= "<option ".$tempo.$sel.">".($label && $label[$val]?$label[$val]:$val)."</option>
";
$j++;
}
} else {
if ($defaut) if ($valeur $defaut) $sel " selected";

if ($valeur) $popupmenu .= "<option value="".$valeur.""$sel>".($label?$label:$valeur)."</option>
";
}

$popupmenu .= "</select>
";
$this->ordre = array();
return $i == $taille ? $popupmenu : 0;
}

// Récupération les paramètres de la page
// Usage $html->param() => Récupère tous les paramètres de la page soumise
// $html->param('monparam') => Récupère le paramètre 'param' de la page soumise
function param($param = "") {
if ($param) {
$panam = $GLOBALS["$param"];
return $panam;
} else {
$param = array();
if ($GLOBALS["REQUEST_METHOD"] == 'GET') {
foreach ($GLOBALS["HTTP_GET_VARS"] as $name => $value) {
$param[$name] = $value;
}
} else {
foreach ($GLOBALS["HTTP_POST_VARS"] as $name => $value) {
$param[$name] = $value;
}
}
}
return $param;
}

// Change le séparateur pour les fonctions input par défaut c'est ::
function set_separateur() {
$param = func_get_args();

if ($param) $this->separateur = $param[0];
}

// Récupère l'url de la page en cours
function url() {
return "http://".$GLOBALS["HTTP_HOST"].$GLOBALS["SCRIPT_NAME"];
}
}
?>
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
5 nov. 2003 à 08:03
okok, mais on peut écrire des CGI en d'autres langages aussi, mais c'est vrai qu'on entend surtout parler du perl et du C++ pour ça.
mais un ensemble de fonctions, étant donné qu'ici c'est une classe, on dira plus volontier une librairie je pense, ténue mais librairie qd meme. je ne sais pas exactement ce qui fait la différence entre une librairie et un package, c'est une impression que j'ai. Peut être le fait que le package soit compilé? (dans le cas des CGI)
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
4 nov. 2003 à 23:41
oupss!
Je voulais écrire package.

C'est en PERL, c'est une sorte de fichier qui contient beaucoup de programme.
Il y en a un pour écrire des pages html.
Par exemple, à la place d'écrire :
<html><head>Titre</head>
On écrit :
start_html("Titre");

Le nom de la fonction n'est pas éxsact, mais c'est un peut près ca.
Il y en a pour toutes les balises normalisé. ( p("paragraphe"); ...)

Je commence tous juste le perl à l'iut, je regarderais mes cours si tu veux quelquechose de très précis.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
4 nov. 2003 à 22:19
c'est quoi un pachage? explique moi stp :-)
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
4 nov. 2003 à 20:51
C'est comme un pachage CGI ???
TiotBour Messages postés 103 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 5 janvier 2007 1
4 nov. 2003 à 19:58
idem :)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
4 nov. 2003 à 16:42
dans le champ de code tu pourrais mettre un récapitulatif de tout ce qui est géré dans ton code, j'ai la flemme de télécahrger le zip pour voir ça, et puis je pense que je serai pas le seul ;-)
Rejoignez-nous