Récupérer url

anacolut Messages postés 2 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 27 juin 2010 - 23 juin 2010 à 11:54
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 - 2 juil. 2010 à 14:41
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é
[javascript:void(0) ','formulaire','location=no,width=460px,height=560px')"  title="Envoyer cette annonce par email">Envoyer]
    		[javascript:void(0) ','formulaire','location=no,width=460px,height=560px')"   title="Envoyer cette annonce par email">
images/email.png" width="24" height="35" alt="" />]

<?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));
}


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

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


<?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)))

    {
?>
Informations incomplètes

Un (ou plusieurs) champ(s) obligatoire(s)

n'a(ont) pas été correctement rempli(s).

<?php

if ($nom == '')

{

print "Vous n'avez pas précisé votre nom !
\n";

}

if ($dnom == '')

{

print "Vous n'avez pas précisé le nom de votre destinataire !
\n";

}

if($email == '')

{

print "Vous n'avez pas indiqué le mail de votre destinataire !
\n";

}

if(($email) && !(preg_match($valid, $email)))

{

print "le mail est invalide.
\n";

}

?>

<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">

<fieldset>

<label>Votre Nom : * " /></label>

<label>Nom du destinataire : * " /></label>

<label>Mail du destinataire : * " /></label>

<label>Objet :  " /></label>

<label>Votre Message :  <textarea name="message" cols="50" rows="20"><?php echo $message ?></textarea></label>

" />

</fieldset>

</form>

<?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>Bonjour '.$dnom.',

'.nl2br(stripslashes($message)).'

['.$url.' '.$url.']Ce message vous a été envoyé depuis www.monsite.com

'; 
    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 "Merci ! Voici les informations que vous avez fournies

\n";

print "Votre Nom : ". $nom ."
\n";

print "Nom du destinataire : ". $dnom ."
\n";

print "le mail du destinataire : ".$email."
\n";

if ($objet)
{
print "Objet : ". $objet ."
\n";

}
else
{
print " Pas d'objet.
\n";
}

        if ($message) // Si du texte a été saisi dans la boite textarea:
{


            print " Votre message : ".nl2br(stripslashes($message))."
\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.
\n";

        }


        print(" Retour vers le formulaire de base, cliquez ICI

");

print ("Fermer la fenêtre");

}	
}
//}	
else
{

?>
Envoyer cette page

à un contact

les champs avec * sont obligatoires

<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">

<fieldset>

<label>Votre Nom : * </label>

<label>Nom du destinataire : * </label>

<label>Mail du destinataire : * </label>

<label>Objet :  </label>

<label>Votre Message : <textarea name="message" cols="50" rows="20"></textarea></label>

" />

</fieldset>

</form>

<?php

}

?>


</html>


Merci d'avance

3 réponses

tanyadiz Messages postés 4 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 20 juillet 2010
25 juin 2010 à 19:11
j'ai pas compris quelle URL souhaites tu récupérer? et qu'elle apparaisse où?
0
anacolut Messages postés 2 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 27 juin 2010
27 juin 2010 à 21:01
bonjour
j'ai une page qui s'appelle "details.php" c'est de celle-ci dont je veux récupérer l'url.
Quand un utilisateur arrive sur cette page (il s'agit d'une page concernant les détails et le descriptif d'un produit) il y a un lien "envoyer cette page à un ami" avec ce code et cette fonction :
[javascript:void(0) ','formulaire','location=no,width=460px,height=560px')" title="Envoyer cette annonce par email">Envoyer]
[javascript:void(0) ','formulaire','location=no,width=460px,height=560px')" title="Envoyer cette annonce par email">
images/email.png" width="24" height="35" alt="" />]

<?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));
} 


Ensuite ça ouvre un formulaire qui s'intitule form2.php avec le code que j'ai indiqué. Tout fonctionne au niveau du formulaire, les sécu, les vérif, les récaps, ça envoie le mail mais pas l'url de la page détails.php
J'ai l'impression que ça vient de la fonction ou du code de la page détails.
Je ne sais pas si je suis clair
d'avance merci
0
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
2 juil. 2010 à 14:41
Hello, tu as une erreur, voici un indice :

<?php
function toto(){
return "Tata";
}
toto();
//
echo toto();
// Tata
?>


Cherche un peut dans ton code, si tu ne trouve pas :
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
<?php echo selfURL(); ?>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

_________________________________
Min iPomme
0
Rejoignez-nous