Aller au contenu

Niko

Actif
  • Compteur de contenus

    25
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par Niko

  1. Salut Cette soirée était trés sympa Encore bravo pour l'organisation @ la prochaine
  2. Histoire de polluer legérement le fil, et de casser quelques machines, une photographie panoramique de marseille, Attention, ça prend pas mal de rame, jpg 8 MO ...
  3. Salut Je suis dispo pour une petite soirée bien sympathique @++
  4. Niko

    CSS et bordures

    disons qu'il est plutot orienté wysiwig comme on dit, à partir du moment où l'on sait coder, il devient totalement obsolete ( à mon gout )
  5. ah, on pourrait en parler longtemps : http://openweb.eu.org/articles/respecter_semantique/
  6. Niko

    CSS et bordures

    Le principal reproche que j'ai à lui faire, c'est d'instaurer de mauvaise habitudes, c'est à dire avec le style directement dans le code html, positionner les elements en absolute par défaut .... et le gestionnaire de css ne montre pas assez/mal les possibilités de ceux ci, la maniere dont sont faites les catégories est assez bizarre je trouve Ceci reste un avis personnel, on peut tout à fait coder proprement avec dreamweaver, mais par defaut, c'est pas vraiment beau ce qu'il fait ...
  7. et dans un deuxieme temps de rendre le forum le plus sémantique possible ...
  8. Niko

    CSS et bordures

    oui, dreamweaver, c'est pas vraiment ca ... je te conseille html-kit http://chami.com et TopStyle ...
  9. Effectivement, dans ces cas là, vaut mieux aller voir ailleur .... Meme si cela est une décision difficile au final, on regrette pas ! bon courage pour la suite
  10. C'est clair link: sur google ne veux plus rien dire, les résultats changent completement d'une semaine à l'autre, je ne sais pas ce que google fait, mais en ce moment ca n'arrete pas de changer ...
  11. Personnelement j'utilise html-kit, gratuit, avec tout pleins de plug-ins, customisable à souhait ! etc : http://chami.com/
  12. C'est peut etre aussi une question de crédibilité, surtout vis à vis du but et de la fonction du site, il vends pas des tomates rouges ou jaunatres :-)
  13. le probleme c'est que l'affichage de l'erreur sur la page du validateur met le strong soulignant l'endroit de l'erreur au mauvaise endroit (souvent 1 ou 2 caracteres avant )
  14. Niko

    Petite synthèse

    a a.rouge { font-size : 1em; text-decoration: none; font-weight: bold; color: #1994d8; outline: none; } a.rouge {color: #ff6600; } a a.rouge ne veut rien dire ... tu spécifie d'abord le general, puisque la derniere regle lue prend le dessus : a { font-size : 1em; text-decoration: none; font-weight: bold; color: #1994d8; outline: none; } a.rouge {color: #ff6600; } et ensuite tu rajoute ta regle spécifique ...
  15. Niko

    validateur et sgml

    J'ai remarqué un bug lors de l'affichage des erreurs du validateur xhtml du w3c .. en effet quand on utilise des caracteres illegaux tel que ou il indique la bonne ligne d'erreur, mais se trompe gravement de caractere à l'affichage : Je laisse une page non corrigeé jusqu'à ce soir pour que vous voyez de quoi je parle : http://validator.w3.org/check?verbose=1&ur...roduits/legers/ Line 85, column 26: non SGML character number 146 or ce n'est pas là : à <ici> la l'erreur est là : à l<ici>a Je me trompe ?
  16. Niko

    mail() et destinataire

    Je te remercie beaucoup, je n'ai pas eu beaucoup d'autres modifications à faire pour que cela fonctionne ! @ la prochaine :-)
  17. Niko

    mail() et destinataire

    J'aimerais pouvoir faire comme dans le form, c'est à dire choisir un destinataire parmis plusieurs choix d'un select
  18. Niko

    mail() et destinataire

    onjour à tous J'ai un petit probleme, j'ai une class mail que j'aimerais transformer, Au lieu de choisir la priorité du message, j'aimerais pouvoir choisir parmis plusieurs destinataires possibles : partie formulaire : Code: <form action="formmail.php" method="post" enctype="multipart/form-data" name="form"> <fieldset> <label for="priority">Destinataire :</label> <select name="priority" id="priority" size="1" class="select"> <option value="1" class="texte">test1_AT_test.org</option> <option value="2" class="texte">test2_AT_test.org</option> <option value="3" class="texte">test3_AT_test.org</option> </select> <label for="email">Expéditeur :</label> <input type="text" name="email" id="email" size="35" class="texte"/> <label for="subject">Sujet :</label> <input type="text" name="subject" id="subject" size="35" class="texte"/> <label for="msg">Message : </label> <textarea rows="12" name="msg" id="msg" cols="40" class="texte"></textarea> <label for="NomFichier">Fichier joint : </label> <input type="hidden" name="MAX_FILE_SIZE" value="100000" class="texte"/> <input name="NomFichier" id="NomFichier" type="file" size="16" class="texte" /> <input type="submit" value="Envoyer" class="bouton" /> </fieldset> </form> Class mail Code: <? /* PARAMETRAGE DU SCRIPT */ /* ENTREZ VOTRE ADRESSE EMAIL ENTRE LES GUILLEMETS*/ $dest="test_AT_test.org"; Form Mail + Loïc Bresler Script permettant d'envoyer un mail grâce à un formulaire sur un site. Ce qu'il fait de plus que les autres c'est qu'il gère la priorité du message, les copies et permet d'envoyer un fichier joint si l'hébergeur le permet (en gros presque tous sauf Online et Nexen) Le script utilise une version de la classe Mail() développée par Leo West (lwest.free.fr) et modifiée par mes soins. DESCRIPTION this class encapsulates the PHP mail() function. implements CC, Bcc, Priority headers */ class Mail { var $sendto= array(); var $from, $msubject; var $acc= array(); var $abcc= array(); var $aattach= array(); var $priorities= array( '1 (Highest)', '2 (High)', '3 (Normal)', '4 (Low)', '5 (Lowest)' ); // Mail contructor function Mail() { $this->autoCheck( true ); } /* autoCheck( $boolean ) * activate or desactivate the email addresses validator * ex: autoCheck( true ) turn the validator on * by default autoCheck feature is on */ function autoCheck( $bool ) { if( $bool ) $this->checkAddress = true; else $this->checkAddress = false; } /* Subject( $subject ) * define the subject line of the email * $subject: any valid mono-line string */ function Subject( $subject ) { $this->msubject = strtr( $subject, "\r\n" , " " ); } /* From( $from ) * set the sender of the mail * $from should be an email address */ function From( $from ) { if( ! is_string($from) ) { echo "Class Mail: error, From is not a string"; exit; } $this->from= $from; } /* To( $to ) * set the To ( recipient ) * $to : email address, accept both a single address or an array of addresses */ function To( $to ) { // TODO : test validité sur to if( is_array( $to ) ) $this->sendto= $to; else $this->sendto[] = $to; if( $this->checkAddress == true ) $this->CheckAdresses( $this->sendto ); } /* Cc() * set the CC headers ( carbon copy ) * $cc : email address(es), accept both array and string */ function Cc( $cc ) { if( is_array($cc) ) $this->acc= $cc; else $this->acc[]= $cc; if( $this->checkAddress == true ) $this->CheckAdresses( $this->acc ); } /* Bcc() * set the Bcc headers ( blank carbon copy ). * $bcc : email address(es), accept both array and string */ function Bcc( $bcc ) { if( is_array($bcc) ) { $this->abcc = $bcc; } else { $this->abcc[]= $bcc; } if( $this->checkAddress == true ) $this->CheckAdresses( $this->abcc ); } /* Body() * set the body of the mail ( message ) */ function Body( $body ) { $this->body= $body; } /* Send() * fornat and send the mail */ function Send() { // build the headers $this->_build_headers(); // include attached files if( sizeof( $this->aattach > 0 ) ) { $this->_build_attachement(); $body = $this->fullBody . $this->attachment; } // envoie du mail aux destinataires principal for( $i=0; $i< sizeof($this->sendto); $i++ ) { $res = mail($this->sendto[$i], $this->msubject,$body, $this->headers); // TODO : trmt res } } /* Organization( $org ) * set the Organisation header */ function Organization( $org ) { if( trim( $org != "" ) ) $this->organization= $org; } /* Priority( $priority ) * set the mail priority * $priority : integer taken between 1 (highest) and 5 ( lowest ) * ex: $m->Priority(1); => Highest */ function Priority( $priority ) { if( ! intval( $priority ) ) return false; if( ! isset( $this->priorities[$priority-1]) ) return false; $this->priority= $this->priorities[$priority-1]; return true; } /* Attach( $filename, $filetype ) * attach a file to the mail * $filename : path of the file to attach * $filetype : MIME-type of the file. default to 'application/x-unknown-content-type' * $disposition : instruct the Mailclient to display the file if possible ("inline") or always as a link ("attachment") * possible values are "inline", "attachment" */ function Attach( $filename, $filetype='application/x-unknown-content-type', $disposition = "inline" ) { // TODO : si filetype="", alors chercher dans un tablo de MT connus / extension du fichier $this->aattach[] = $filename; $this->actype[] = $filetype; $this->adispo[] = $disposition; } /* Get() * return the whole e-mail , headers + message * can be used for displaying the message in plain text or logging it */ function Get() { $this->_build_headers(); if( sizeof( $this->aattach > 0 ) ) { $this->_build_attachement(); $this->body= $this->body . $this->attachment; } $mail = $this->headers; $mail .= "\n$this->body"; return $mail; } /* ValidEmail( $email ) * return true if email adress is ok - regex from Manuel Lemos (mlemos_AT_acm.org) * $address : email address to check */ function ValidEmail($address) { if( ereg( ".*<(.+)>", $address, $regs ) ) { $address = $regs[1]; } if(ereg( "^[^@ ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)\$",$address) ) return true; else return false; } /* CheckAdresses() * check validity of email addresses * if unvalid, output an error message and exit, this may be customized * $aad : array of emails addresses */ function CheckAdresses( $aad ) { for($i=0;$i< sizeof( $aad); $i++ ) { if( ! $this->ValidEmail( $aad[$i]) ) { echo "Class Mail, method Mail : invalid address $aad[$i]"; exit; } } } /********************** PRIVATE METHODS BELOW **********************************/ /* _build_headers() * [INTERNAL] build the mail headers */ function _build_headers() { // creation du header mail $this->headers= "From: $this->from\n"; $this->to= implode( ", ", $this->sendto ); if( count($this->acc) > 0 ) { $this->cc= implode( ", ", $this->acc ); $this->headers .= "CC: $this->cc\n"; } if( count($this->abcc) > 0 ) { $this->bcc= implode( ", ", $this->abcc ); $this->headers .= "BCC: $this->bcc\n"; } if( $this->organization != "" ) $this->headers .= "Organization: $this->organization\n"; if( $this->priority != "" ) $this->headers .= "X-Priority: $this->priority\n"; } /* * _build_attachement() * internal use only - check and encode attach file(s) */ function _build_attachement() { $this->boundary= "------------" . md5( uniqid("myboundary") ); // TODO : variable bound $this->headers .= "MIME-Version: 1.0\nContent-Type: multipart/mixed;\n boundary=\"$this->boundary\"\n\n"; $this->fullBody = "This is a multi-part message in MIME format.\n--$this->boundary\nContent-Type: text/plain; charset=us-ascii\nContent-Transfer-Encoding: 7bit\n\n" . $this->body ."\n"; $sep= chr(13) . chr(10); $ata= array(); $k=0; // for each attached file, do... for( $i=0; $i < sizeof( $this->aattach); $i++ ) { $filename = $this->aattach[$i]; $basename = basename($filename); $ctype = $this->actype[$i]; // content-type $disposition = $this->adispo[$i]; if( ! file_exists( $filename) ) { echo "Class Mail, method attach : file $filename can't be found"; exit; } $subhdr= "--$this->boundary\nContent-type: $ctype;\n name=\"$basename\"\nContent-Transfer-Encoding: base64\nContent-Disposition: $disposition;\n filename=\"$basename\"\n"; $ata[$k++] = $subhdr; // non encoded line length $linesz= filesize( $filename)+1; $fp= fopen( $filename, 'r' ); $data= base64_encode(fread( $fp, $linesz)); fclose($fp); $ata[$k++] = chunk_split( $data ); /* // OLD version - used in php < 3.0.6 - replaced by chunk_split() $deb=0; $len=76; $data_len= strlen($data); do { $ata[$k++]= substr($data,$deb,$len); $deb += $len; } while($deb < $data_len ); */ } $this->attachment= implode($sep, $ata); } } // class Mail $subject=StripSlashes($subject); $msg=StripSlashes($msg); $msg="Message depuis votre site web: $msg"; $m= new Mail; // create the mail $m->From( "$email" ); $m->To( "$dest"); $m->Subject( "$subject" ); $m->Body( $msg); // set the body if ($email1!="") { $m->Cc( "$email1"); } $m->Priority($priority); if ("$NomFichier_name"!="") { copy("$NomFichier","upload/$NomFichier_name"); $m->Attach( "upload/$NomFichier_name", "application/octet-stream" ); } $m->Send(); if ("$NomFichier_name"!="") { Unlink("upload/$NomFichier_name"); } ?> <?php echo"Ca roule";?> J'ai essayé de faire une dérivée de la function Priority( $priority ) mais ça ne l'a pas fait :-/ Est ce que quelqu'un pourrait m'aider ? Merci !
  19. Ah ok, je ne savais pas pour urlencode, merci de me l'apprendre :-) sinon pour le reste ? je me demandais si il y avait un moyen plus simple de connaitre la taille d un tableau multidimensionnel, et de pouvoir exporter l ensemble sous la forme ?toto1=babala&toto2=sdfsdfsdf&nbtoto=545 ...
  20. Bonjour, je dois envoyer vers flash le resultat d'un requete, le probleme, c'est que je ne sais pas combien d'elements vont sortir .. et que je dois le savoir pour que dans flash je puisse faire une boucle for n fois pour récuperer les variables, il y a t il une solution plus élégante que celle ca : Code: $i=0; while($data = mysql_fetch_array($req)){ echo "&adresse_facture".$i."=". utf8_encode(urlencode($data['mavar'])); $i++; } // on recupere la variable pour connaitre le nombre d'elements ... echo "&nb="$i; car j 'ai lu que mysql_fetch_array est déja un array multidimensionnel, j ai jeté un oeil sur http_build_query, mais ca ne marche pas avec easyphp déja ...
  21. Niko

    Insert into

    Bonjour à tous J'ai un petit probleme, sur l'application que je suis en train de develloper, à un moment, je recois dans une page php, via post, des variables de flash, j'aimerais les inserer dans la base de donnée, mais au niveau du parsage de l'instruction, j'ai quelques petits soucis : dans base, table client, il y a un champ identifiant, je recois une variable identifiant via post, que je transforme en variable session, ( d'ailleurs au niveau sécurité, si vous avez des conseils, comme j'y connais pas grand chose ....) $HTTP_SESSION_VARS["identifiant"] = $HTTP_POST_VARS["identifiant"]; $rqt = "INSERT INTO 'client' (identifiant) VALUES "$HTTP_SESSION_VARS['identifiant']")"; seulement, la 2 eme ligne $rqt ... ben, n'est pas bonne, je ne sais comment l'écrire pour que les données soit bien prise en compte .... merci de m'avoir lu
  22. Ce dont tu parles, ca serait plutot cela ( cela fonctionne aussi avec ie ) : http://www.truedoc.com/webpages/availpfrs/avail_pfrs.htm
  23. Niko

    \" et \' et zut :)

    Dan > Salut Niko, et bienvenue à bord ! Merci :-) je connaissais le site depuis longtemps, mais j'avais pas encore eu le temps de m y inscrire malgré les nombreuses personnes talentueuses qui y participe, et que je connais via mailling liste et blog :-) if (get_magic_quotes_gpc ()) { foreach ($_POST as $key => $value) { $_POST[$key] = stripslashes ($value); } } Merci, c'est exactement le type de logique dont j'avais besoin :-) Faut dire qu'apprendre php à la volée, en faisant l application, c'est pas la meilleur methode :-p Bonne journée
  24. Niko

    \" et \' et zut :)

    Bonjour à tous J'ai une petite question, via flash j'envoie des données à une page php, en post, et je lui demande de créer un fichier xml, il me crée bien le fichier ... mais il rajoute des \ avant les ' ou ", surement pour ne pas avoir de probleme de parse, mais comment, je fait pour qu'il écrive le fichier sans faire cela ? Ce qui est bizarre c'est qu'en local avec easyphp, ca marche bien .... code php : Code: $nbvisites est une variable que j'incremente .... $fflash = "flash".$nbvisites.".xml"; // on verifie si il existe deja if (file_exists($fflash)) { // si oui, on l'efface, et on le recrée $fp = fopen($fflash,"w"); fputs($fp, $HTTP_POST_VARS["Xflash"]); fclose($fp); } else { // sinon on le crée $fp = fopen($fflash,"a"); fputs($fp, $HTTP_POST_VARS["Xflash"]); fclose($fp); } Si quelqu'un a une solution, merci :-)
×
×
  • Créer...