Problème de variables $_GET
Bonjour,
Je développe un formulaire de contact avec un script PHP unique mais mis en ligne sur différentes pages. Pour cela j'utilise la fonction include().
Voici le script des pages de contact :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<?php
if (isset($_GET['mail']))
{
include('http://www.triangle.pro/sites/parking.php?domaine='.$_SERVER['HTTP_HOST'].'&mail='.$_GET['mail'].'&sujet='.$_GET['sujet'].'&message='.$_GET['message'].'');
}
else
{
include('http://www.triangle.pro/sites/parking.php?domaine='.$_SERVER['HTTP_HOST'].'');
}
?> |
Et le script de la page parking.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
<?php
if (isset($_GET['mail']))
{
mail('geoffrey.hissel@numericable.fr', ''.$_GET['sujet'].'', 'Message laissé par '.$_GET['mail'].' :
'.$_GET['message'].'');
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<META NAME="Keywords" CONTENT="nom de domaine, domaine, domaines, acheter domaine, acheter domaines, acheter nom de domaine, louer domaine, louer nom de domaine">
<title>Site en construction</title>
<style type="text/css">
#cadre
{
position:absolute;
top:50%;
left:50%;
height:500px;
width:600px;
margin-left:-300px;
margin-top:-250px;
border:1px solid #555;
}
#centre
{
position:absolute;
top:50%;
left:50%;
height:400px;
width:400px;
margin-left:-200px;
margin-top:-200px;
text-align:justify;
padding:10px;
font-family:Arial, Helvetica, sans-serif;
font-size:14px;
color:#555;
}
</style>
</head>
<body>
<div id="cadre">
<form id="centre" action="<?php echo $PHP_SELF ?>" method="get">
Bienvenue,<br /><br />
Ce nom de domaine à été réservé pour la création dun site thématique en cours de production.<br />
Néanmoins, si ce domaine vous intéresse, nous restons ouvert à toutes propositions de location et redirection.<br />
<br />
Cordialement<br />
Jacques Millet<br />
<br /><br />
<label>Mail :
<input type="text" name="mail" id="mail" style="width:300px;" />
</label>
<br />
<label>Sujet :
<input type="text" name="sujet" id="sujet" style="width:300px;" value="A propos du nom de domaine : <?php echo $_GET['domaine'] ?>" />
</label>
<br />
<br />
<label>
<textarea name="message" id="message" style="height:120px; width:380px;">Votre message</textarea>
</label>
<br /><br />
<input type="hidden" />
<label>
<input type="submit" name="button" id="button" value="Envoyer" />
</label>
</form>
</div>
</body>
</html> |
Les variables réceptionnées par la fonction mail() ressemblent à ceci :
Code:
1 2
|
www.aloe-vera.pro/?mail=adresse%40hotmail.com&sujet=A+propos+du+nom+de+domaine+%3A+%27&message=Votre+message&button=Envoyer |
Apparemment le script php ne prend en compte QUE les valeurs des variables avant le premier '+' qui séparent chaque mots.
J'ai fais le test de mettre des '_' entre les mots et cela fonctionne, donc le problème vient bien des '+' dans les variables $_GET.
Auriez-vous une solution à ce problème ?
Merci d'avance.