Récupérer url

Signaler
Messages postés
2
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
27 juin 2010
-
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
-
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

Messages postés
4
Date d'inscription
mercredi 17 mai 2006
Statut
Membre
Dernière intervention
20 juillet 2010

j'ai pas compris quelle URL souhaites tu récupérer? et qu'elle apparaisse où?
Messages postés
2
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
27 juin 2010

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
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
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