Php et javascript

WRInaute passionné
Bonjour
Sur un de mes site, je mes des email de personne que je réccupère dans une base de données.
Mais je ne veux pas que ces mail soient lectable pour éviter le spam.

Donc j'ai eu l'idée que losqu'on clique sur contact, ça ouvre une fenêtre popup qui affiche le mail.

Mais je n'y arrive pas.

En gros j'ai entre <head> et </head>
Code:
<SCRIPT language=JavaScript type=text/javascript>
function email(mail)
{
var info=window.open('email.php?mail=$mail','email','toolbar=0,status=0,resizeable=yes,width=400,height=250,scrollbars=yes');
document.stop;
}
</SCRIPT>
Cela doit ouvrir la popup email.php en passant l'argument mail pour afficher l'email.

Et dans mon code PHP j'ai:

Code:
<a href='javascript:mdp($list_photo[3])' class='greytext'>Contact</a>

le $list_photo[3] est l'email, valeur réccupérée dans la base de données.

Bref ça ne marche pas, j'ai une erreur javascript!

Si quelqu'un peut m'aider?

Merci beaucoup
 
WRInaute discret
Bonjour,

Sur mes sites, j'applique un codage ASCII des adresses. Ce qui permet de les afficher correctement tout en les rendant inexploitables.

Pour la méthode, c'est assez facile à trouver :

-https://www.google.be/search?hl=fr&rls=GGLD%2CGGLD%3A2004-41%2CGGLD%3Aen&q=email+codage+ascii+&meta=

Bien à vous,
 
WRInaute passionné
pas mal

Ca a l'air pas mal, mais avec ton système il faut connaitre l'adresse email a l'avance!

Moi selon la page affichée, l'adresse email est prise dans la base de données, donc elle est différente à chaque page!

Merci pour les solutions
 
WRInaute accro
Code:
<?php
function encodeEmail($email, $name = null) {

	$email = preg_replace("/\"/","\\\"",$email);

    if($name == null)
           $name = $email;

	$old = "document.write('<a href=\"mailto:$email\">$name</a>')";

	$output = "";

	for ($i=0; $i < strlen($old); $i++) {
	 $output = $output . '%' . bin2hex(substr($old,$i,1));
	 }

	$output = '<script type="text/javascript">eval(unescape(\''.$output.'\'))</script>';
	$output .= '<noscript><div>Vous devez accepter le Javascript pour voir l\'email</div></noscript>';
	return $output;
}

?>
 
WRInaute passionné
merci

Merci je viens de tester ce script, ça à l'air de marcher!
Pourtant ça affiche le mail sur la page, n'y a t-il vraiment pas de problème?

Merci encore
 
WRInaute discret
Non mais tu peux mettre n'mporte quoi à la place de $name dans $old = "document.write('<a href=\"mailto:$email\">$name</a>')"; comme çà il n'affichera pas le mail ;)
Enfin bon je ne répond peut être pas à ta question...
 
WRInaute passionné
merci

sisi, tout est parfait, le script marche bien, et j'ai déja remplacer le $name par contact comme je voulais :)

Tout est bon

Merci encore
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut