Passage paramètres par URL avec ancres
PJMB
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,
J'ai fait deux pages (html avec javascript)
APPELANTE.html contenant un javascript qui construit les informations à passer par URL
y compris le repère de l'ancre où l'on se trouve
et
APPELEE.html contenant un script qui décode les informations reçues dans l'URL
et les affiche dans un formulaire nommé "envoi" dans la zone "SUJET"
this.envoi.SUJET.value= param2; //param2 est l'adresse construite que je veux passer
<input type=" text" name="SUJET">
Après beaucoup de tatonnements j'ai du rajouter un pavé
<input type="button" value="Au sujet de ->" onmousemove="afficher();">
Jusque là ça marche
Il me reste un problème.
Je clique par exemple sur le lien vers l'ancre # 3 de APPELANTE.html
l'URL complète y compris #3 s'affiche dans la barre de navigation de Internet Explorer
et le texte se cadre correctement
Ça marche, à ceci près :
pour obtenir que la bonne ancre soit passée,
je suis obligé de rafraichir la page manuellement
dans la barre de navigation de Internet Explorer
avant de cliquer le lien "ECRIRE"
J'ai placé une fonction Recharger() à la fin du script de HEAD
<head>
<script language="JavaScript">
// les scripts de contruction encodage et à la fin
function Recharger() {window.location.reload();}
</script>
</head>
TENTATIVE 1 (marche mais apporte un inconvénient grave)
Dans un premier temps j'ai placé dans les liens vers les ancres des onclick="window.location.reload();"
par exemple
<a href="#1" onclick="window.location.reload();">Ch.1 </a>
La transmission par URL se fait correctement, en revanche le cadrage sur l'ancre dans APPELANTE est perdu
J'ai abandonné cette méthode.
TENTATIVE 2 (ne parche pas)
J'ai placé dans le body un lien "Rafraichir" qui appelle la fonction Recharger()
<body>
<!-- liens vers les ancres-->
<a href="#1">Ch.1 </a>
<a href="#2">Ch.2 </a>
<a href="#3">Ch.3 </a>
<a href="javascript:javascript" onclick="Recharger();">Rafraichir</a><BR>
<script>
this.document.write("<a href=" + '"' + "EXO_mail_anonyme5.html?sujet=" + adresse_reduite + '"' + "onclick=" +'"'+ "NewWindow(this.href,'name','550','400','yes');return false;" +'"'+ ">ECRIRE<\/a>");
</script>
</body>
Ça ne marche pas
MERCI DE VOTRE AIDE
En fait ce que je voudrais c'est que par un seul clic sur le lien "ECRIRE" il se passe deux choses
1/ rafraichissement de la page SANS PERTE de l'affichage cadré sur l'ancre
2/ ouverture de la page APPELEE avec les bonnes informations passées par l'URL
J'ai fait deux pages (html avec javascript)
APPELANTE.html contenant un javascript qui construit les informations à passer par URL
y compris le repère de l'ancre où l'on se trouve
et
APPELEE.html contenant un script qui décode les informations reçues dans l'URL
et les affiche dans un formulaire nommé "envoi" dans la zone "SUJET"
this.envoi.SUJET.value= param2; //param2 est l'adresse construite que je veux passer
<input type=" text" name="SUJET">
Après beaucoup de tatonnements j'ai du rajouter un pavé
<input type="button" value="Au sujet de ->" onmousemove="afficher();">
Jusque là ça marche
Il me reste un problème.
Je clique par exemple sur le lien vers l'ancre # 3 de APPELANTE.html
l'URL complète y compris #3 s'affiche dans la barre de navigation de Internet Explorer
et le texte se cadre correctement
Ça marche, à ceci près :
pour obtenir que la bonne ancre soit passée,
je suis obligé de rafraichir la page manuellement
dans la barre de navigation de Internet Explorer
avant de cliquer le lien "ECRIRE"
J'ai placé une fonction Recharger() à la fin du script de HEAD
<head>
<script language="JavaScript">
// les scripts de contruction encodage et à la fin
function Recharger() {window.location.reload();}
</script>
</head>
TENTATIVE 1 (marche mais apporte un inconvénient grave)
Dans un premier temps j'ai placé dans les liens vers les ancres des onclick="window.location.reload();"
par exemple
<a href="#1" onclick="window.location.reload();">Ch.1 </a>
La transmission par URL se fait correctement, en revanche le cadrage sur l'ancre dans APPELANTE est perdu
J'ai abandonné cette méthode.
TENTATIVE 2 (ne parche pas)
J'ai placé dans le body un lien "Rafraichir" qui appelle la fonction Recharger()
<body>
<!-- liens vers les ancres-->
<a href="#1">Ch.1 </a>
<a href="#2">Ch.2 </a>
<a href="#3">Ch.3 </a>
<a href="javascript:javascript" onclick="Recharger();">Rafraichir</a><BR>
<script>
this.document.write("<a href=" + '"' + "EXO_mail_anonyme5.html?sujet=" + adresse_reduite + '"' + "onclick=" +'"'+ "NewWindow(this.href,'name','550','400','yes');return false;" +'"'+ ">ECRIRE<\/a>");
</script>
</body>
Ça ne marche pas
MERCI DE VOTRE AIDE
En fait ce que je voudrais c'est que par un seul clic sur le lien "ECRIRE" il se passe deux choses
1/ rafraichissement de la page SANS PERTE de l'affichage cadré sur l'ancre
2/ ouverture de la page APPELEE avec les bonnes informations passées par l'URL
A voir également:
- Passage paramètres par URL avec ancres
- Url - Guide
- Parametres de mon ordinateur - Guide
- Paramètres dns - Guide
- Passage qwerty azerty - Guide
- Url iptv - Forum Box et Streaming vidéo
5 réponses
OK je comprends mieux.
Alors, si on prend ce bout de code :
var url = "EXO_mail_anonyme5.html?sujet=" + adresse_reduite;
this.document.write("<button onclick=\"NewWindow(url, 'name', '550', '400', 'yes');\">ÉCRIRE</button>");
Celui-ci est mis tel quel dans une balise script. Il n'est donc appelé qu'au chargement de la page.
Maintenant, imagine que tu le places dans une fonction : tu pourrais y faire appel comme tu veux, sans être obligé de recharger la page !
Par contre, il faudrait faire de même pour le bout de code que je n'ai pas vu, et qui définit adresse_reduite.
Ainsi, en remplaçant
<a href="#1">Ch.1 </a>
<a href="#2">Ch.2 </a>
<a href="#3">Ch.3 </a>
par
<a href="#1" onclick="modif_ecrire(this.href)">Ch.1 </a>
<a href="#2" onclick="modif_ecrire(this.href)">Ch.2 </a>
<a href="#3" onclick="modif_ecrire(this.href)">Ch.3 </a>
et ta fonction modif_ecrire() reprend le code
var url = "EXO_mail_anonyme5.html?sujet=" + adresse_reduite;
this.document.write("<button onclick=\"NewWindow(url, 'name', '550', '400', 'yes');\">ÉCRIRE</button>");
Alors, si on prend ce bout de code :
var url = "EXO_mail_anonyme5.html?sujet=" + adresse_reduite;
this.document.write("<button onclick=\"NewWindow(url, 'name', '550', '400', 'yes');\">ÉCRIRE</button>");
Celui-ci est mis tel quel dans une balise script. Il n'est donc appelé qu'au chargement de la page.
Maintenant, imagine que tu le places dans une fonction : tu pourrais y faire appel comme tu veux, sans être obligé de recharger la page !
Par contre, il faudrait faire de même pour le bout de code que je n'ai pas vu, et qui définit adresse_reduite.
Ainsi, en remplaçant
<a href="#1">Ch.1 </a>
<a href="#2">Ch.2 </a>
<a href="#3">Ch.3 </a>
par
<a href="#1" onclick="modif_ecrire(this.href)">Ch.1 </a>
<a href="#2" onclick="modif_ecrire(this.href)">Ch.2 </a>
<a href="#3" onclick="modif_ecrire(this.href)">Ch.3 </a>
et ta fonction modif_ecrire() reprend le code
var url = "EXO_mail_anonyme5.html?sujet=" + adresse_reduite;
this.document.write("<button onclick=\"NewWindow(url, 'name', '550', '400', 'yes');\">ÉCRIRE</button>");
Merci Xavier
Après pas mal de tatonnements je suis arrivé à ce que ça fasse ce que je voulais.
Je mets ci dessous le code complet des trois pages qui fonctionnent bien.
Si ça encombre le forum le modérateur n'aura qu'à les couper.
Ça fait ce que je cherche, cependant en utilisant le debugger Microsoft Script Debugger, il me renvoie divers messages d'erreurs auxquels je ne comprend rien.
Où trouver un debugger gratuit plus compréhensible ? et surtout avec un tutorial pour débutant. Merci d'avance
*****************PAGE APPELANTE**********************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>APPELANTE</TITLE>
</HEAD>
<script type="text/javascript">
//*********declaration variables globales*******
var StringToSplit = "";
var separator = "";
var adresse = "";
var adresse_reduite = "";
var url = "";
var Npassage = 0;
//var nom_ancre ="";
//var lequel ="";
//**********************FONCTIONS*****************
function SplitString(StringToSplit,separator)
{
Npassage = Npassage + 1;
arrayOfStrings = StringToSplit.split(separator);
//alert("The separator at passage " +Npassage + " is: " + separator );
//alert ("<BR>The array for separator " + separator+ " has " + arrayOfStrings.length + " elements:); that are:<BR>");
//for (var i=0; i < arrayOfStrings.length; i++) { alert(arrayOfStrings[i] + " / ") };
var last= 1;
last = arrayOfStrings.length ;
if( last !=1){last = last - 1;}else { last = 0;};
var last_element = arrayOfStrings[last];
adresse_reduite = encodeURI(last_element);
//alert("adresse_reduite au passage " + Npassage + " vaut " + adresse_reduite );
return adresse_reduite;
}
function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
function modif_ecrire()
{
StringToSplit = window.location.href;
//----on veut récupérer l'adresse de la page sans le chemin----
separator ="/";
SplitString(StringToSplit,separator); // appel de fonction
//alert("après modif_ecrire SplitString adresse_reduite vaut " + adresse_reduite );
// construction de l'adresse à transmettre par URL
var url = "EXO_mail_anonyme5.html?sujet=" + adresse_reduite ;
//alert("j'appelle " + url);
NewWindow(url,'name','550','400','yes'); // appel de fonction
return url;
}
</script>
<BODY >
<a name="1">****ici ancre N°1</a>
<BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR>
<form>
<a href="#1" > aller à l'ancre 1</a><BR>
<a href="#2" > aller à l'ancre 2</a><BR>
<input type="button" value="ECRIRE" onclick="modif_ecrire();">
<!--variante avec un lien vers le script de la page -->
<!-- href="javascript:;" onclick="modif_ecrire();"> ECRIRE par le lien</a> -->
</form>
<BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR>
<a name="2">****ici ancre N°2</a>
</BODY>
</HTML>
**********************PAGE APPELEE FENETRE POPUP*********************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>EXO_mail_anonyme5</title>
<script language="javascript">
var precedente;
var separator = "?";
var StringToSplit = "";
var param2 = "";
var param3 ="";
var libelle = "";
var ancre = "";
function afficher()
{
adresse = document.location.href;
ancre = document.location.hash;
//this.document.write("je suis ici " + document.location);
StringToSplit = adresse;
splitString(); //appel de fonction
}
function splitString ()
{
var arrayOfStrings = new Array();
separator = "="; // pour récupérer tout ce qui est après le codon "sujet="
arrayOfStrings = StringToSplit.split(separator)
//this.document.write ('<P>The variable adresse is: "' + adresse + '"')
//this.document.write ("<BR>The array for separator " +'"'+ separator+ '"'+ " has " + arrayOfStrings.length + " elements: <BR>that are:<BR>")
var last= 1;
last = arrayOfStrings.length - 1;
param2 = arrayOfStrings[last];
//this.document.write ("<BR> The variable param2 is: " + param2 +"<BR>");
//} //fin de la fonction splitstring
//this.document.write("<BIG><BIG>ENVOYEZ VOS COMMENTAIRES</BIG></BIG><BR>");
//this.document.write("<a href=" + '"' + "EXO_mail_anonyme5.html?sujet=" + param2 + '"' +"><big><big>avec un mail anonyme</big></big></a>");
separator = "."; //pour récupérer le codon final "html#nom_ancre"
StringToSplit=param2;
arrayOfStrings = StringToSplit.split(separator);
//--ici on va remplacer le codon .html par le codon Repère
last = arrayOfStrings.length - 2;
param3=arrayOfStrings[last];
last = arrayOfStrings.length - 1;
param4=arrayOfStrings[last];
param4=param4.substring(4);
param2= param3 + " - Repère " + param4;
this.envoi.SUJET.value= param2;
} //fin de la fonction splitstring
function sortie()
{
this.envoi.SUJET.value= ""; // pour effacer l'input correspondant
}
</script>
</head>
<body onunload="sortie();">
ENVOI D'UN COMMENTAIRE ANONYME<br>
<form name="envoi" method="post" action="envoi_mail.php">
<input type="button" value="Au sujet de ->" onmousemove="afficher();">
<input type="TEXT" size="60" name="SUJET" value="passer la souris sur le pavé grisé Au sujet de ->" >
<br>
Mon pseudo:
<input type="text" size="60" name="PSEUDO" value="écrire ici le pseudonyme de votre choix" ><br>
Mon commentaire: <br>
<textarea name="MESSAGE" cols="60" rows="15">CITATION: copier coller le passage commenté
COMMENTAIRE: écrire ici votre commentaire
Après pas mal de tatonnements je suis arrivé à ce que ça fasse ce que je voulais.
Je mets ci dessous le code complet des trois pages qui fonctionnent bien.
Si ça encombre le forum le modérateur n'aura qu'à les couper.
Ça fait ce que je cherche, cependant en utilisant le debugger Microsoft Script Debugger, il me renvoie divers messages d'erreurs auxquels je ne comprend rien.
Où trouver un debugger gratuit plus compréhensible ? et surtout avec un tutorial pour débutant. Merci d'avance
*****************PAGE APPELANTE**********************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>APPELANTE</TITLE>
</HEAD>
<script type="text/javascript">
//*********declaration variables globales*******
var StringToSplit = "";
var separator = "";
var adresse = "";
var adresse_reduite = "";
var url = "";
var Npassage = 0;
//var nom_ancre ="";
//var lequel ="";
//**********************FONCTIONS*****************
function SplitString(StringToSplit,separator)
{
Npassage = Npassage + 1;
arrayOfStrings = StringToSplit.split(separator);
//alert("The separator at passage " +Npassage + " is: " + separator );
//alert ("<BR>The array for separator " + separator+ " has " + arrayOfStrings.length + " elements:); that are:<BR>");
//for (var i=0; i < arrayOfStrings.length; i++) { alert(arrayOfStrings[i] + " / ") };
var last= 1;
last = arrayOfStrings.length ;
if( last !=1){last = last - 1;}else { last = 0;};
var last_element = arrayOfStrings[last];
adresse_reduite = encodeURI(last_element);
//alert("adresse_reduite au passage " + Npassage + " vaut " + adresse_reduite );
return adresse_reduite;
}
function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
function modif_ecrire()
{
StringToSplit = window.location.href;
//----on veut récupérer l'adresse de la page sans le chemin----
separator ="/";
SplitString(StringToSplit,separator); // appel de fonction
//alert("après modif_ecrire SplitString adresse_reduite vaut " + adresse_reduite );
// construction de l'adresse à transmettre par URL
var url = "EXO_mail_anonyme5.html?sujet=" + adresse_reduite ;
//alert("j'appelle " + url);
NewWindow(url,'name','550','400','yes'); // appel de fonction
return url;
}
</script>
<BODY >
<a name="1">****ici ancre N°1</a>
<BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR>
<form>
<a href="#1" > aller à l'ancre 1</a><BR>
<a href="#2" > aller à l'ancre 2</a><BR>
<input type="button" value="ECRIRE" onclick="modif_ecrire();">
<!--variante avec un lien vers le script de la page -->
<!-- href="javascript:;" onclick="modif_ecrire();"> ECRIRE par le lien</a> -->
</form>
<BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR>
<a name="2">****ici ancre N°2</a>
</BODY>
</HTML>
**********************PAGE APPELEE FENETRE POPUP*********************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>EXO_mail_anonyme5</title>
<script language="javascript">
var precedente;
var separator = "?";
var StringToSplit = "";
var param2 = "";
var param3 ="";
var libelle = "";
var ancre = "";
function afficher()
{
adresse = document.location.href;
ancre = document.location.hash;
//this.document.write("je suis ici " + document.location);
StringToSplit = adresse;
splitString(); //appel de fonction
}
function splitString ()
{
var arrayOfStrings = new Array();
separator = "="; // pour récupérer tout ce qui est après le codon "sujet="
arrayOfStrings = StringToSplit.split(separator)
//this.document.write ('<P>The variable adresse is: "' + adresse + '"')
//this.document.write ("<BR>The array for separator " +'"'+ separator+ '"'+ " has " + arrayOfStrings.length + " elements: <BR>that are:<BR>")
var last= 1;
last = arrayOfStrings.length - 1;
param2 = arrayOfStrings[last];
//this.document.write ("<BR> The variable param2 is: " + param2 +"<BR>");
//} //fin de la fonction splitstring
//this.document.write("<BIG><BIG>ENVOYEZ VOS COMMENTAIRES</BIG></BIG><BR>");
//this.document.write("<a href=" + '"' + "EXO_mail_anonyme5.html?sujet=" + param2 + '"' +"><big><big>avec un mail anonyme</big></big></a>");
separator = "."; //pour récupérer le codon final "html#nom_ancre"
StringToSplit=param2;
arrayOfStrings = StringToSplit.split(separator);
//--ici on va remplacer le codon .html par le codon Repère
last = arrayOfStrings.length - 2;
param3=arrayOfStrings[last];
last = arrayOfStrings.length - 1;
param4=arrayOfStrings[last];
param4=param4.substring(4);
param2= param3 + " - Repère " + param4;
this.envoi.SUJET.value= param2;
} //fin de la fonction splitstring
function sortie()
{
this.envoi.SUJET.value= ""; // pour effacer l'input correspondant
}
</script>
</head>
<body onunload="sortie();">
ENVOI D'UN COMMENTAIRE ANONYME<br>
<form name="envoi" method="post" action="envoi_mail.php">
<input type="button" value="Au sujet de ->" onmousemove="afficher();">
<input type="TEXT" size="60" name="SUJET" value="passer la souris sur le pavé grisé Au sujet de ->" >
<br>
Mon pseudo:
<input type="text" size="60" name="PSEUDO" value="écrire ici le pseudonyme de votre choix" ><br>
Mon commentaire: <br>
<textarea name="MESSAGE" cols="60" rows="15">CITATION: copier coller le passage commenté
COMMENTAIRE: écrire ici votre commentaire
je vois que mon message était trop long, donc je rajoute la suite ici
COMMENTAIRE: écrire ici votre commentaire
</textarea>
<br>
<input value="ENVOYEZ" type="submit">
</form>
</body>
</html>
***************PAGE ENVOI DU MESSAGE en langage PHP ************
<?
//--- le nom de cette page est envoi_mail.php ------
//----ce script a été récupéré sur internet, et adapté à partir de
//http://www.toutestfacile.com/php/cours/printables/PHPFacile.com-mail.php
// récupère les variables du POST en provenance de EXO_mail_anonyme5
$sujet = $_POST['SUJET'];
//echo "SUJET= " .$sujet;
$pseudo = $_POST['PSEUDO'];
$message = $_POST['MESSAGE'];
//----mettre ici les adresses des destinataires séparées par des virgules --------
$destinataire = "machin@sonprovider.fr,pjmb.zigotto@monprovider.net";
//----------------------------------
// Construction de l'entête
//----------------------------------
// On choisit généralement de construire une frontière générée aléatoirement
// comme suit. (REM: je n'en connais pas la raison profonde)
$boundary = "-----=".md5(uniqid(rand()));
// Ici, on construit un entête contenant les informations
// minimales requises.
// Version du format MIME utilisé
$header = "MIME-Version: 1.0\r\n";
// Type de contenu. Ici plusieurs parties de type different "multipart/mixed"
// Avec un frontière définie par $boundary
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";
//--------------------------------------------------
// Construction du message proprement dit
//--------------------------------------------------
// Pour le cas, où le logiciel de mail du destinataire
// n'est pas capable de lire le format MIME de cette version
// Il est de bon ton de l'en informer
// REM: Ce message n'apparaît pas pour les logiciels sachant lire ce format
$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
//---------------------------------
// 1ère partie du message
// Le texte
//---------------------------------
// Chaque partie du message est séparé par une frontière
$msg .= "--$boundary\r\n";
// Et pour chaque partie on en indique le type
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
// Et comment il sera codé
$msg .= "Content-Transfer-Encoding:8bit\r\n";
// Il est indispensable d'introduire une ligne vide entre l'entête et le texte
$msg .= "\r\n";
// Enfin, on peut écrire le texte de la 1ère partie
$msg .= $message;
//document.forms[0].TEXTE.value;
$msg .= "\n";
$expediteur = "anonyme@pjmb.fr";
$reponse = "pjmb@pjmb.fr";
echo "nous venons d'envoyer un mail à $destinataire";
echo "<BR>";
echo "avec le commentaire de $pseudo ";
mail($destinataire, "Commentaire de $pseudo sur $sujet ", $msg, "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
?>
COMMENTAIRE: écrire ici votre commentaire
</textarea>
<br>
<input value="ENVOYEZ" type="submit">
</form>
</body>
</html>
***************PAGE ENVOI DU MESSAGE en langage PHP ************
<?
//--- le nom de cette page est envoi_mail.php ------
//----ce script a été récupéré sur internet, et adapté à partir de
//http://www.toutestfacile.com/php/cours/printables/PHPFacile.com-mail.php
// récupère les variables du POST en provenance de EXO_mail_anonyme5
$sujet = $_POST['SUJET'];
//echo "SUJET= " .$sujet;
$pseudo = $_POST['PSEUDO'];
$message = $_POST['MESSAGE'];
//----mettre ici les adresses des destinataires séparées par des virgules --------
$destinataire = "machin@sonprovider.fr,pjmb.zigotto@monprovider.net";
//----------------------------------
// Construction de l'entête
//----------------------------------
// On choisit généralement de construire une frontière générée aléatoirement
// comme suit. (REM: je n'en connais pas la raison profonde)
$boundary = "-----=".md5(uniqid(rand()));
// Ici, on construit un entête contenant les informations
// minimales requises.
// Version du format MIME utilisé
$header = "MIME-Version: 1.0\r\n";
// Type de contenu. Ici plusieurs parties de type different "multipart/mixed"
// Avec un frontière définie par $boundary
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";
//--------------------------------------------------
// Construction du message proprement dit
//--------------------------------------------------
// Pour le cas, où le logiciel de mail du destinataire
// n'est pas capable de lire le format MIME de cette version
// Il est de bon ton de l'en informer
// REM: Ce message n'apparaît pas pour les logiciels sachant lire ce format
$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
//---------------------------------
// 1ère partie du message
// Le texte
//---------------------------------
// Chaque partie du message est séparé par une frontière
$msg .= "--$boundary\r\n";
// Et pour chaque partie on en indique le type
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
// Et comment il sera codé
$msg .= "Content-Transfer-Encoding:8bit\r\n";
// Il est indispensable d'introduire une ligne vide entre l'entête et le texte
$msg .= "\r\n";
// Enfin, on peut écrire le texte de la 1ère partie
$msg .= $message;
//document.forms[0].TEXTE.value;
$msg .= "\n";
$expediteur = "anonyme@pjmb.fr";
$reponse = "pjmb@pjmb.fr";
echo "nous venons d'envoyer un mail à $destinataire";
echo "<BR>";
echo "avec le commentaire de $pseudo ";
mail($destinataire, "Commentaire de $pseudo sur $sujet ", $msg, "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
?>
Bonjour Xavier, merci de ta réponse
J'ai supprimé le lien "raffraichir" et créé le bouton ECRIRE avec ton script ( dans mon script TENTATIVE2)
Le problème reste le même,à savoir
la première fois qu'on ouvre la page APPELANTE et qu'on choisit une ancre p.ex; Ch.1 ,
la barre de navigation Internet Explorer affiche /chemin/APPELANTE.html#1
puis on clique le bouton ECRIRE. Tout va bien, le nom de l'ancre s'affiche correctement APPELANTE.html#1 dans la page APPELEE
quand on passe sur le pavé "Au sujet de ->"
on ferme la fenêtre de la page APPELEE et on choisit d'aller à une autre ancre, disons Ch.3
la barre de navigation Internet Explorer affiche /chemin/APPELANTE.html#3
on clique le bouton ECRIRE, APPELEE s'ouvre mais quand on passe sur le pavé "Au sujet de ->"
ça affiche APPELANTE.html#1 et non pas APPELANTE.html#3
Evidemment si je rafraichis APPELANTE avec Internet explorer avant de cliquer le bouton ECRIRE
j'obtiens le résultat escompté savoir APPELANTE.html#3
Je me demande s'il ne faut pas regarder du coté de l'historique de navigation de APPELEE, pour essayer de l'effacer, mais je ne sais pas faire.
J'ai supprimé le lien "raffraichir" et créé le bouton ECRIRE avec ton script ( dans mon script TENTATIVE2)
Le problème reste le même,à savoir
la première fois qu'on ouvre la page APPELANTE et qu'on choisit une ancre p.ex; Ch.1 ,
la barre de navigation Internet Explorer affiche /chemin/APPELANTE.html#1
puis on clique le bouton ECRIRE. Tout va bien, le nom de l'ancre s'affiche correctement APPELANTE.html#1 dans la page APPELEE
quand on passe sur le pavé "Au sujet de ->"
on ferme la fenêtre de la page APPELEE et on choisit d'aller à une autre ancre, disons Ch.3
la barre de navigation Internet Explorer affiche /chemin/APPELANTE.html#3
on clique le bouton ECRIRE, APPELEE s'ouvre mais quand on passe sur le pavé "Au sujet de ->"
ça affiche APPELANTE.html#1 et non pas APPELANTE.html#3
Evidemment si je rafraichis APPELANTE avec Internet explorer avant de cliquer le bouton ECRIRE
j'obtiens le résultat escompté savoir APPELANTE.html#3
Je me demande s'il ne faut pas regarder du coté de l'historique de navigation de APPELEE, pour essayer de l'effacer, mais je ne sais pas faire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Que dirais-tu de ceci ?
- supprime le bouton "raffraichir"
- au lieu de créer un LIEN pour ouvrir une nouvelle fenêtre, crée un BOUTON :
Xavier
Que dirais-tu de ceci ?
- supprime le bouton "raffraichir"
- au lieu de créer un LIEN pour ouvrir une nouvelle fenêtre, crée un BOUTON :
<script language='JavaScript'>
var url = "EXO_mail_anonyme5.html?sujet=" + adresse_reduite;
this.document.write("<button onclick=\"NewWindow(url, 'name', '550', '400', 'yes');\">ÉCRIRE</button>");
</script> Si tu veux que le bouton ressemble à un lien, tu peux toujours le faire via des styles (fond transparent, pas de bordure, ...)
Xavier