Page 1 sur 1

bonjour :ASP...y du monde qui pourrait m'aider??

Posté : 19 mai 2006, 21:17
par fersayn
Ben voila,

bonjour,

j'ai trouver un article sur le net concernant l'envoi d'article par une page ASP en récupérant des données par javascript.

Mon soucis c'est qu j'ai bien mise la page avec le java....j'ai placé la page asp dans le dossier docs du site....
index/docs/images..

le serveur me dit que la page est inconnue???

Voici les scripts:


en 2 temps:

format de page du site:
Exemple d'une page du site :

Code : Tout sélectionner

<html> <head> <script language="Javascript"> function send_art() { // On récupère ici l'url de la page en cours var url=escape('<%=request.servervariables("SCRIPT_NAME")%>'); // On récupère en javascript le nom de la page en cours var title=escape(document.title); // On appelle le fichier send_mail.asp se trouvant à la racine du site window.open("/send_mail.asp?art="+url+"&titre="+title,'','toolbar= no,location=no,directories=no,status=no,scrollbars=yes,resizable= yes,copyhistory=no,height=350,width=550'); } </script> </head> <body> <a href="javascript:send_art();">Envoyer cette page</a> </body> </html>
Le script javascript
A noter dans l'exemple précédent, la fonction send_art() permet d'ouvrir une popup appelant la page send_mail.asp et en lui fournissant l'url de la page en cours (ceci grâce à <%=request.servervariables("SCRIPT_NAME")%>) et le titre de la page en cours.

Notes :
- <%=request.servervariables("SCRIPT_NAME")%> permet de récupérer l'url absolue de la page en cours par rapport au site web.
Exemple : /fr/asp/trucs/truc30.asp

- document.title permet de récupérer le titre de la page appelante

L'appel du script
L'appel du script se fait par l'intermédiaire d'un lien :
<a href="javascript:send_art();">Envoyer cette page</a>



format de la page asp:

L'appel du script
L'appel du script se fait par l'intermédiaire d'un lien :
<a href="javascript:send_art();">Envoyer cette page</a>

La page asp : send_mail.asp
Notre page asp pour des raisons de commodités est placée à la racine de notre site. Cette page contient un formulaire dont avec 2 champs cachés (art et titre).En entête du fichier send_mail on définit :
<%
'--- On récupère l'url absolue de la page
file=request("art")

'--- On récupère le titre de la page
titre=request("titre")
%>
Scripts complet:

Le fichier send_mail.asp
<%
response.buffer=true
response.expiresabsolute=now()-1

Dim file 
Dim retour
Dim titre
Dim div1


file=request("art")
titre=request("titre")

Sub send_email(fromname,from, corps, recipient, sujet)
'------------ Envois du mail avec JMAIL
Set JMail1= Server.CreateObject("JMail.SMTPMail") 
JMail1.ServerAddress = "votreserveursmtp:25"
JMail1.Subject =sujet
JMail1.Sender=from
if fromname<>"" then
JMail1.Sendername=fromname
end if
JMail1.body=corps
JMail1.Addrecipient recipient
JMail1.ContentType = "text/plain"
JMail1.Execute
Set JMail1=nothing
End Sub

msg=""


if request("action")="OK" then

'--- Envoi de l'url de l'article
if trim(request("emaildest"))="" or instr(request("emaildest"),"@")=0 or instr(request("emaildest"),".")=0 then
msg="<br><font color=red>L'adresse email du destinataire est incorrecte</font><br>"
end if

if msg="" then

if trim(request("from"))="" then
from="Votreadresseemail@"
fromname="Votre nom"
else
from=trim(request("from"))
end if

if trim(request("nom"))="" then
fromname=""
else
fromname=trim(request("nom"))
end if

if trim(request("sujet"))="" then
sujet="Lien envoyé par un ami"
else
sujet=trim(request("sujet"))
end if

if trim(request("message"))="" then
corps=""
else
corps=trim(request("message"))
end if

corps=corps & Vbcrlf & Vbcrlf & "------------------------" & Vbcrlf _
& trim(request("titre")) & Vbcrlf _
& "http://www.votresite.com" & file

send_email fromname,from, corps, trim(request("emaildest")), sujet

msg="<br><font color=red>Le lien a été envoyé</font>"

end if


end if


%>
<html>

<head>
<title>Envoyer l'article</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link TYPE="text/CSS" REL="stylesheet" HREF="/aspmagstyle.css">
</head>

<body>

<form method="POST" action="send_mail.asp">
<input type="hidden" name="art" value="<%=file%>"><input type="hidden" name="titre"
value="<%=titre%>"><h1>Envoyer l'article :
<b><%=request("titre")%></h1><%=msg%></b>
<table border="0" cellpadding="2" cellspacing="0" width="100%" bgcolor="#F5F5F5">
<tr>
<td width="50%" bgcolor="#F4F4F4">Votre nom et/ou prénom :<br>
<input type="text" name="nom" size="20" value="<%=request("nom")%>"></td>
<td width="50%" bgcolor="#F4F4F4">Votre email :<br>
<input type="text" name="email" size="20" value="<%=request("email")%>"></td>
</tr>
<tr>
<td width="100%" bgcolor="#FFFFFF" colspan="2"><font color="#FF0000"><strong>L'email du
destinataire * :</strong></font><br>
<input type="text" name="emaildest" size="20" value="<%=request("emaildest")%>"></td>
</tr>
<tr>
<td width="100%" bgcolor="#F4F4F4" colspan="2">Sujet :<br>
<input type="text" name="sujet" size="45"
value="<% if request("sujet")="" then%><%=request("titre")%><%else%><%=request("sujet")%><%end if%>"></td>
</tr>
<tr>
<td width="100%" bgcolor="#FFFFFF" colspan="2">Message à ajouter :<br>
<textarea rows="3" name="message" cols="44"><%=request("message")%></textarea></td>
</tr>
<tr>
<td width="100%" bgcolor="#F4F4F4" colspan="2"><div align="right"><p><input type="submit"
value="OK" name="action"></td>
</tr>
<tr>
<td width="100%" colspan="2" bgcolor="#FFFFFF"><font color="#FF0000">* Champ obligatoire</font></td>
</tr>
</table>
</form>
</body>
</html>

Posté : 20 mai 2006, 09:39
par Ryle
Si ta page est dans /index/docs/images, c'est probablement pas en faisant un "window.open("/send_mail.asp?..." qu'il va la trouver

Code : Tout sélectionner

window.open("/index/docs/images/send_mail.asp?..")
me semblerait plus logique...

y a peut être autre chose qui ne va pas, mais j'ai la flemme d'aller lire le reste.. si ca ne résout pas le problème, je pense qu'il serait bien de chercher un peu plus et d'isoler la partie de code qui pose probleme, et de la mettre en forme sans tout balancer... :)