php et javascript


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

php et javascript

Message le Dim Fév 26, 2006 10:59

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: Tout sélectionner
<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: Tout sélectionner
<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


srappaille
WRInaute discret
WRInaute discret
 
Messages: 207
Inscription: 19 Jan 2004

Message le Dim Fév 26, 2006 11:07

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 :

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

Bien à vous,


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

pas mal

Message le Dim Fév 26, 2006 12:14

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


spout
WRInaute accro
WRInaute accro
 
Messages: 4106
Inscription: 14 Mai 2003

Message le Dim Fév 26, 2006 12:15

Code: Tout sélectionner
<?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;
}

?>


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

merci

Message le Dim Fév 26, 2006 12:24

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


Leonick
WRInaute accro
WRInaute accro
 
Messages: 18807
Inscription: 8 Aoû 2004

Message le Dim Fév 26, 2006 19:05

Ca l'affiche dans la page, ce qui est le but, mais dans le code html il n'est pas en clair.

muelsaco
WRInaute discret
WRInaute discret
 
Messages: 128
Inscription: 19 Jan 2006

Message le Lun Fév 27, 2006 13:58

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...


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

merci

Message le Lun Fév 27, 2006 16:01

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


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités