Pour un annuaire visible au public, j'ai du mettre en place
un formulaire securisé pour envoyer des mails, avec un code
graphique a recopier etc... là, tout est ok.
Mais je souhaite aussi dans la fiche annuaire du membre,
+ annuaire par liste dans l'intranet faire apparaitre l'adresse
mail en clair a l'ecran, mais sous forme d'affichage d'une image
(ecriture noir sur fond blanc).
Connaissez-vous un script performant et qui genere à la
volée (rapidement) une telle image...
Le but ici etant que toutes les pages qui peuvent etre parsées
par des robots, ne puissent contenir les @ mails en clair...
Connaissez-vous un script performant et qui genere à la volée (rapidement) une telle image...
Salut,
Tu devrais trouver ton bonheur à cet endroit : http://www.php.net/manual/fr/ref.image.php
Il y a même un exemple avec insertion de texte, ce qui correspond à ton besoin. Le script ne parait pas complexe, autant le développer toi-même.
Bonne chance.
P'tit Marcel
Mais je souhaite aussi dans la fiche annuaire du membre, + annuaire par liste dans l'intranet faire apparaitre l'adresse mail en clair a l'ecran, mais sous forme d'affichage d'une image (ecriture noir sur fond blanc). Connaissez-vous un script performant et qui genere à la volée (rapidement) une telle image...
supposons que l'adresse email soit dans un champ de table mysql, et que le membre est identifié par un nombre $id_membre qui est la clé de cette table.
dans la page qui affiche la liste, tu mettras simplement :
<img src='mel.php?id=<?php echo $id_membre; ?>'>
et tu crées un script mel.php pour créer l'image à la volée :
<?php # récupération du paramètre $id_membre = @$_GET['id_membre']; if(empty($id_membre)) die('paramètre id_membre manquant'); if(!is_numeric($id_membre)) die("paramètre id_membre non numérique: $id_membre");
# recherche de l'email dans la base mysql_connect('localhost', 'user', 'pass') or die('connection impossible: '.mysql_error()); mysql_select_db('base') or die('base non trouvée'); $sql = "select email from membre where id = $id_membre"; $res = @mysql_query($sql) or die("erreur sql:<br/>$sql<br/>".mysql_error()); $nb = mysql_num_rows($res); if($nb<>1) die("erreur base: $nb membres trouvés pour id $id_membre"); list($email) = mysql_fetch_row($res); mysql_close();
# création de l'image à la volée $image = @imagecreate(200, 15) or die("Impossible de créer une image GD"); header ("Content-type: image/png"); $blanc = imagecolorallocate($image, 255, 255, 255); $noir = imagecolorallocate($image, 0, 0, 0); $taille_lettres = 1; imagestring($image, $taille_lettres, 5, 5, $email, $noir); imagepng($image); imagedestroy($image); ?>
tu peux tester ce script en l'appelant directement du navigateur avec un identifiant de membre en paramètre.
eça -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/
Mais je souhaite aussi dans la fiche annuaire du membre,
+ annuaire par liste dans l'intranet faire apparaitre l'adresse
mail en clair a l'ecran, mais sous forme d'affichage d'une image
(ecriture noir sur fond blanc).
Connaissez-vous un script performant et qui genere à la
volée (rapidement) une telle image...
supposons que l'adresse email soit dans un champ de table mysql, et que
le membre est identifié par un nombre $id_membre qui est la clé de cette
table.
dans la page qui affiche la liste, tu mettras simplement :
<img src='mel.php?id=<?php echo $id_membre; ?>'>
et tu crées un script mel.php pour créer l'image à la volée :
<?php
# récupération du paramètre
$id_membre = @$_GET['id_membre'];
if(empty($id_membre)) die('paramètre id_membre manquant');
if(!is_numeric($id_membre))
die("paramètre id_membre non numérique: $id_membre");
# recherche de l'email dans la base
mysql_connect('localhost', 'user', 'pass')
or die('connection impossible: '.mysql_error());
mysql_select_db('base') or die('base non trouvée');
$sql = "select email from membre where id = $id_membre";
$res = @mysql_query($sql)
or die("erreur sql:<br/>$sql<br/>".mysql_error());
$nb = mysql_num_rows($res);
if($nb<>1)
die("erreur base: $nb membres trouvés pour id $id_membre");
list($email) = mysql_fetch_row($res);
mysql_close();
# création de l'image à la volée
$image = @imagecreate(200, 15)
or die("Impossible de créer une image GD");
header ("Content-type: image/png");
$blanc = imagecolorallocate($image, 255, 255, 255);
$noir = imagecolorallocate($image, 0, 0, 0);
$taille_lettres = 1;
imagestring($image, $taille_lettres, 5, 5, $email, $noir);
imagepng($image);
imagedestroy($image);
?>
tu peux tester ce script en l'appelant directement du navigateur avec un
identifiant de membre en paramètre.
eça
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/
Mais je souhaite aussi dans la fiche annuaire du membre, + annuaire par liste dans l'intranet faire apparaitre l'adresse mail en clair a l'ecran, mais sous forme d'affichage d'une image (ecriture noir sur fond blanc). Connaissez-vous un script performant et qui genere à la volée (rapidement) une telle image...
supposons que l'adresse email soit dans un champ de table mysql, et que le membre est identifié par un nombre $id_membre qui est la clé de cette table.
dans la page qui affiche la liste, tu mettras simplement :
<img src='mel.php?id=<?php echo $id_membre; ?>'>
et tu crées un script mel.php pour créer l'image à la volée :
<?php # récupération du paramètre $id_membre = @$_GET['id_membre']; if(empty($id_membre)) die('paramètre id_membre manquant'); if(!is_numeric($id_membre)) die("paramètre id_membre non numérique: $id_membre");
# recherche de l'email dans la base mysql_connect('localhost', 'user', 'pass') or die('connection impossible: '.mysql_error()); mysql_select_db('base') or die('base non trouvée'); $sql = "select email from membre where id = $id_membre"; $res = @mysql_query($sql) or die("erreur sql:<br/>$sql<br/>".mysql_error()); $nb = mysql_num_rows($res); if($nb<>1) die("erreur base: $nb membres trouvés pour id $id_membre"); list($email) = mysql_fetch_row($res); mysql_close();
# création de l'image à la volée $image = @imagecreate(200, 15) or die("Impossible de créer une image GD"); header ("Content-type: image/png"); $blanc = imagecolorallocate($image, 255, 255, 255); $noir = imagecolorallocate($image, 0, 0, 0); $taille_lettres = 1; imagestring($image, $taille_lettres, 5, 5, $email, $noir); imagepng($image); imagedestroy($image); ?>
tu peux tester ce script en l'appelant directement du navigateur avec un identifiant de membre en paramètre.
eça -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/
Ben
Bonjour,
Pour un annuaire visible au public, j'ai du mettre en place un formulaire securisé pour envoyer des mails, avec un code graphique a recopier etc... là, tout est ok.
Mais je souhaite aussi dans la fiche annuaire du membre, + annuaire par liste dans l'intranet faire apparaitre l'adresse mail en clair a l'ecran, mais sous forme d'affichage d'une image (ecriture noir sur fond blanc). Connaissez-vous un script performant et qui genere à la volée (rapidement) une telle image... Le but ici etant que toutes les pages qui peuvent etre parsées par des robots, ne puissent contenir les @ mails en clair...
Merci pour vos infots. AT Un truc pas mal aussi, utiliser javascript pour encoder le mail. Les
robots n'y voient que tu feu.
http://www.lashampoo.com/pages/Cryptage.html
Et pas besoin de modifier ton code PHP (mais le client doit accepter javascript sous peine de ne rien voir).
a+ Ben
Bonjour,
Pour un annuaire visible au public, j'ai du mettre en place
un formulaire securisé pour envoyer des mails, avec un code
graphique a recopier etc... là, tout est ok.
Mais je souhaite aussi dans la fiche annuaire du membre,
+ annuaire par liste dans l'intranet faire apparaitre l'adresse
mail en clair a l'ecran, mais sous forme d'affichage d'une image
(ecriture noir sur fond blanc).
Connaissez-vous un script performant et qui genere à la
volée (rapidement) une telle image...
Le but ici etant que toutes les pages qui peuvent etre parsées
par des robots, ne puissent contenir les @ mails en clair...
Merci pour vos infots.
AT
Un truc pas mal aussi, utiliser javascript pour encoder le mail. Les
robots n'y voient que tu feu.
http://www.lashampoo.com/pages/Cryptage.html
Et pas besoin de modifier ton code PHP (mais le client doit accepter
javascript sous peine de ne rien voir).
Pour un annuaire visible au public, j'ai du mettre en place un formulaire securisé pour envoyer des mails, avec un code graphique a recopier etc... là, tout est ok.
Mais je souhaite aussi dans la fiche annuaire du membre, + annuaire par liste dans l'intranet faire apparaitre l'adresse mail en clair a l'ecran, mais sous forme d'affichage d'une image (ecriture noir sur fond blanc). Connaissez-vous un script performant et qui genere à la volée (rapidement) une telle image... Le but ici etant que toutes les pages qui peuvent etre parsées par des robots, ne puissent contenir les @ mails en clair...
Merci pour vos infots. AT Un truc pas mal aussi, utiliser javascript pour encoder le mail. Les
robots n'y voient que tu feu.
http://www.lashampoo.com/pages/Cryptage.html
Et pas besoin de modifier ton code PHP (mais le client doit accepter javascript sous peine de ne rien voir).
a+ Ben
Allo Tobus
Merci, c'est exactement cela...
J'ai à ma disposition dans la page la ligne du membre extrait de la table et donc ligneMembre[email] disponible...
Donc, la partie traitement de l'email en image me va fort bien. Mais pour le transformer en fonction:
# création de l'image à la volée function TransformMailImg($email) { $image = @imagecreate(200, 15) or die("Impossible de créer une image GD"); header ("Content-type: image/png"); $blanc = imagecolorallocate($image, 255, 255, 255); $noir = imagecolorallocate($image, 0, 0, 0); $taille_lettres = 1; imagestring($image, $taille_lettres, 5, 5, $email, $noir); imagepng($image); imagedestroy($image); return ($image); }
Donc, si la partie ci-dessus est transformée en fonction, je dois pouvoir faire quelque chose comme cela, non ?
$mailGraphique = TransformMailImg($email);
<img src='".$mailGraphique."'>
Merci de ton aide. AT
Merci, c'est exactement cela...
J'ai à ma disposition dans la page la ligne du membre
extrait de la table et donc ligneMembre[email] disponible...
Donc, la partie traitement de l'email en image me va fort bien.
Mais pour le transformer en fonction:
# création de l'image à la volée
function TransformMailImg($email)
{
$image = @imagecreate(200, 15)
or die("Impossible de créer une image GD");
header ("Content-type: image/png");
$blanc = imagecolorallocate($image, 255, 255, 255);
$noir = imagecolorallocate($image, 0, 0, 0);
$taille_lettres = 1;
imagestring($image, $taille_lettres, 5, 5, $email, $noir);
imagepng($image);
imagedestroy($image);
return ($image);
}
Donc, si la partie ci-dessus est transformée en fonction,
je dois pouvoir faire quelque chose comme cela, non ?
J'ai à ma disposition dans la page la ligne du membre extrait de la table et donc ligneMembre[email] disponible...
Donc, la partie traitement de l'email en image me va fort bien. Mais pour le transformer en fonction:
# création de l'image à la volée function TransformMailImg($email) { $image = @imagecreate(200, 15) or die("Impossible de créer une image GD"); header ("Content-type: image/png"); $blanc = imagecolorallocate($image, 255, 255, 255); $noir = imagecolorallocate($image, 0, 0, 0); $taille_lettres = 1; imagestring($image, $taille_lettres, 5, 5, $email, $noir); imagepng($image); imagedestroy($image); return ($image); }
Donc, si la partie ci-dessus est transformée en fonction, je dois pouvoir faire quelque chose comme cela, non ?
$mailGraphique = TransformMailImg($email);
<img src='".$mailGraphique."'>
Merci de ton aide. AT
P'tit Marcel
Donc, si la partie ci-dessus est transformée en fonction, je dois pouvoir faire quelque chose comme cela, non ? $mailGraphique = TransformMailImg($email); <img src='".$mailGraphique."'>
non. la valeur de src doit être l'URL d'un objet sur internet, ce ne peut pas être une simple fonction php.
le plus simple est de créer un script php qui ne fait que ça, comme je te l'ai suggéré.
eça -- P'tit Marcel
Donc, si la partie ci-dessus est transformée en fonction,
je dois pouvoir faire quelque chose comme cela, non ?
$mailGraphique = TransformMailImg($email);
<img src='".$mailGraphique."'>
non. la valeur de src doit être l'URL d'un objet sur internet, ce ne
peut pas être une simple fonction php.
le plus simple est de créer un script php qui ne fait que ça, comme je
te l'ai suggéré.
Donc, si la partie ci-dessus est transformée en fonction, je dois pouvoir faire quelque chose comme cela, non ? $mailGraphique = TransformMailImg($email); <img src='".$mailGraphique."'>
non. la valeur de src doit être l'URL d'un objet sur internet, ce ne peut pas être une simple fonction php.
le plus simple est de créer un script php qui ne fait que ça, comme je te l'ai suggéré.
eça -- P'tit Marcel
Olivier Miakinen
Donc, si la partie ci-dessus est transformée en fonction, je dois pouvoir faire quelque chose comme cela, non ? $mailGraphique = TransformMailImg($email); <img src='".$mailGraphique."'>
non. la valeur de src doit être l'URL d'un objet sur internet, ce ne peut pas être une simple fonction php.
Quoique... si l'image est relativement petite (ce qui semble être le cas ici) on doit pouvoir utiliser le schéma d'URL « data » :
Si j'ai le temps j'essaierai de le faire, pour voir.
le plus simple est de créer un script php qui ne fait que ça, comme je te l'ai suggéré.
Oui.
Donc, si la partie ci-dessus est transformée en fonction,
je dois pouvoir faire quelque chose comme cela, non ?
$mailGraphique = TransformMailImg($email);
<img src='".$mailGraphique."'>
non. la valeur de src doit être l'URL d'un objet sur internet, ce ne
peut pas être une simple fonction php.
Quoique... si l'image est relativement petite (ce qui semble être le cas
ici) on doit pouvoir utiliser le schéma d'URL « data » :
Donc, si la partie ci-dessus est transformée en fonction, je dois pouvoir faire quelque chose comme cela, non ? $mailGraphique = TransformMailImg($email); <img src='".$mailGraphique."'>
non. la valeur de src doit être l'URL d'un objet sur internet, ce ne peut pas être une simple fonction php.
Quoique... si l'image est relativement petite (ce qui semble être le cas ici) on doit pouvoir utiliser le schéma d'URL « data » :