bonjour
je ne parviens pas à récupérer l'url de ma page courante
sur la page dont je souhaite récupérer l'url j'ai indiqué
[code]
<a href="javascript:void(0)" class="pagenext" onclick="window.open('form2.php?url=<?php selfURL(); ?>','formulaire','location=no,width=460px,height=560px')" title="Envoyer cette annonce par email">Envoyer</a>
<a href="javascript:void(0)" class="pagenext mail_print" onclick="window.open('form2.php?url=<?php selfURL(); ?>','formulaire','location=no,width=460px,height=560px')" title="Envoyer cette annonce par email">
<img align="middle" src="<?php echo URL_SITE; ?>images/email.png" width="24" height="35" alt="" /></a>
<?php function selfURL(){
$url = empty($_SERVER['HTTPS']) ? ''
: ($_SERVER['HTTP_HOST'] == 'on') ? 's'
: ''; $protocol = strleft(strtolower($_SERVER['SERVER_PROTOCOL']), '/').$url;
$port = ($_SERVER['SERVER_PORT'] == '80') ? ''
: (':'.$_SERVER['SERVER_PORT']);
return $protocol.'://'.$_SERVER['PHP_SELF'].$port.$_SERVER['REQUEST_URI'];
}
function strleft($s1, $s2){
return substr($s1, 0, strpos($s1, $s2));
}
[/code]
Puis ça ouvre un formulaire, tout fonctionne sauf que l'url de la page n'est pas récupérée.
voici le code du formulaire
Code PHP :
<?php
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
body {
background:#FEE3AE;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.Style2 {
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #CC6600;
font-weight: bold;
font-size: 14px;
}
.Style3 {
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #CC6600;
font-weight: bold;
font-size: 10px;
}
-->
</style>
</head>
<body>
<?php
//if(isset($_GET['url']) and !empty($_GET['url']))
//{
// $url=$_GET['url'];
if(isset($_POST['envoi']))
{
$url = isset($_POST['url']) and !empty($_POST['url']);
$nom = isset($_POST['nom']) ? trim(htmlspecialchars($_POST['nom'])) : "";
$dnom = isset($_POST['dnom']) ? trim(htmlspecialchars($_POST['dnom'])) : "";
$email = isset($_POST['email']) ? trim(htmlspecialchars($_POST['email'])) : "";
$objet = isset($_POST['objet']) ? trim(htmlspecialchars($_POST['objet'])) : "";
$message = isset($_POST['message']) ? trim(htmlspecialchars($_POST['message'])) : "";
/**
* Définition des variables servant au traitement de l'adresse électronique et du numéro de
* téléphone: on utilise ici des expressions régulières.
*/
$valid = "#^[^-_\.][a-z0-9-_\.]+[^-_\.]@[^-_\.][a-z0-9-_\.]+[^-_\.]\.[a-z]{2,4}$#";
if ($nom == '' || $email == '' || !(preg_match($valid, $email)))
{
?>
<table width="430" height="530" border="0" cellpadding="0" bgcolor="#FEE3AE">
<tr>
<td align="right">
<p class="Style3">Informations incomplètes <br/>
Un (ou plusieurs) champ(s) obligatoire(s)<br/>
n'a(ont) pas été correctement rempli(s).</p>
<?php
if ($nom == '')
{
print "Vous n'avez pas précisé votre nom !<br/>\n";
}
if ($dnom == '')
{
print "Vous n'avez pas précisé le nom de votre destinataire !<br/>\n";
}
if($email == '')
{
print "Vous n'avez pas indiqué le mail de votre destinataire !<br/>\n";
}
if(($email) && !(preg_match($valid, $email)))
{
print "le mail est invalide.<br/>\n";
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<fieldset>
<label><span class="Style2">Votre Nom : </span><span class="Style2">*</span> <input type="text" name="nom" size="30" maxlength="60" class="cases" value="<?php echo $nom ?>" /></label><br />
<label><span class="Style2">Nom du destinataire : </span><span class="Style2">*</span> <input type="text" name="dnom" size="30" maxlength="60" class="cases" value="<?php echo $dnom ?>" /></label><br />
<label><span class="Style2">Mail du destinataire : </span></span><span class="Style2">*</span> <input type="text" name="email" size="30" maxlength="60" class="cases" value="<?php echo $email ?>" /></label><br />
<label><span class="Style2">Objet : </span> <input type="text" name="objet" size="30" maxlength="60" class="cases" value="<?php echo $objet ?>" /></label><br />
<label><span class="Style2">Votre Message : </span> <textarea name="message" cols="50" rows="20"><?php echo $message ?></textarea></label><br />
<input type="submit" class="verif" name="envoi" value="Envoyer" />
<input type="hidden" name="url" value="<?php echo $url ?>" />
<input type="reset" class="verif" value="Recommencer" />
</fieldset>
</form>
</td>
</tr>
</table>
<?php
}
else
{
$to = $email;
$subject = $objet.' de '.$nom.' - www.monsite.com';
$from = "From:moi@remoi.com\n";
$from .= "MIME-version: 1.0\n";
$from .= "Content-type: text/html; charset= iso-8859-1\n";
$message='<style>*{font-family:verdana;font-size:11px;font-weight:bold;}</style><p>Bonjour '.$dnom.',</p><p>'.nl2br(stripslashes($message)).'</p><p><a href="'.$url.'" target="_blank">'.$url.'</a><p>Ce message vous a été envoyé depuis www.monsite.com</p>';
if(mail($to,$subject,$message,$from)){
echo "Votre mail a bien été envoyé !"; }
$href_email = str_replace("@", "%40", $email);
// Affichage du message final des informations reçues
print "<p class=\"Style3\">Merci ! Voici les informations que vous avez fournies</p>\n";
print "<span class=\"Style3\">Votre Nom :</span> ". $nom ."<br/>\n";
print "<span class=\"Style3\">Nom du destinataire :</span> ". $dnom ."<br/>\n";
print "<span class=\"Style3\">le mail du destinataire :</span> <a href=\"mailto:". $prenom ."%20". $nom ."%20%3c". $href_email ."%3e\">".$email."</a><br/>\n";
if ($objet)
{
print "<span class=\"Style3\">Objet :</span> ". $objet ."<br/>\n";
}
else
{
print " Pas d'objet.<br/>\n";
}
if ($message) // Si du texte a été saisi dans la boite textarea:
{
print "<span class=\"Style3\"> Votre message :</span> ".nl2br(stripslashes($message))."<br/>\n"; // Affichage du texte saisi dans la boite textarea après traitement de mise en page.
}
else /* Si aucun texte n'a été saisi, alors affichage d'un message alternatif. */
{
print " Pas de message.<br/>\n";
}
print("<p class=\"Style2\"> Retour vers le formulaire de base, cliquez <a href=\"". $_SERVER['PHP_SELF'] ."\" title=\"Retour vers le formulaire\">ICI</a></p>");
print ("<a href=\"javascript:window.close();\" title=\"Fermer la fenêtre\" >Fermer la fenêtre</a>");
}
}
//}
else
{
?>
<table width="430" height="530" border="0" cellpadding="0" bgcolor="#FEE3AE">
<tr>
<td align="right">
<p class="Style2">Envoyer cette page <br/>
à un contact<br />
les champs avec * sont obligatoires</p>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<fieldset>
<label><span class="Style2">Votre Nom : </span><span class="Style2">*</span> <input type="text" name="nom" size="30" maxlength="60" class="cases" value="" /></label><br />
<label><span class="Style2">Nom du destinataire : </span><span class="Style2">*</span> <input type="text" name="dnom" maxlength="60" size="30" class="cases" value="" /></label><br />
<label><span class="Style2">Mail du destinataire : </span><span class="Style2">*</span> <input type="text" name="email" maxlength="60" size="30" class="cases" value="" /></label><br />
<label><span class="Style2">Objet : </span> <input type="text" name="objet" size="30" maxlength="60" class="cases" value="" /></label><br />
<label><span class="Style2">Votre Message : </span><textarea name="message" cols="50" rows="20"></textarea></label><br />
<input type="submit" class="verif" name="envoi" value="Envoyer" />
<input type="hidden" name="url" value="<?php echo $url ?>" />
<input type="reset" class="verif" value="Recommencer" />
</fieldset>
</form>
</td>
</tr>
</table>
<?php
}
?>
</body>
</html>
Merci d'avance