Bonjour,
Voilà, j'ai donc un formulaire PHP classique avec un champ qui ce remplit lorsque deux autres sont complétés. Cependant je n'arrive pas à récuperer par la suite la valeur qui est donc définie dans ce dernier.

J'aimerais recupérer la valeur de dn, et ici htmlspecialchars($_POST["dn"]) ne me donne rien..
Auriez-vous une idée de comment réaliser ceci ?

Cordialement

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<html>
<head>
<script type="text/javascript">
function remplir()
{
document.getElementById('dn').value = ( (document.getElementById('prenom').value).toLowerCase()).substr(0,1) +"." +(document.getElementById('username').value).toLowerCase();
}
 
function activer() {
document.getElementById('dn').disabled=false;
document.getElementById('non').checked=false;
}
 
function desactiver()
{
document.getElementById('dn').disabled=true;
document.getElementById('oui').checked=false;
}
</script>
<title>Page Accueil</title></head>
<body>
<h1>Bienvenue sur notre page d'ajout des utilisateurs</h1>
<br>
<meta http-equiv="Content/Type" content="text/html; charset=iso-8859-1">
<form action="" method="POST" >
<fieldset>
	<legend>Formulaire de saisie</legend>
 
Nom : <input id='username' type="text" name="username" placeholder="Durand" ><br><br>
Prenom : <input id='prenom' type="text" name="prenom" placeholder="Jean" onchange="remplir()"><br><br>
Mail : <input type="text" name="mail" placeholder="jean.durand@mail.fr"><br><br>
Civilite :
<input type="radio" name="civ" value="M" /> M.
<input type="radio" name="civ" value="Mme"/> Mme.
<input type="radio" name="civ" value="Mlle"/> Mlle.
<br>N'oubliez pas de cocher votre civilite! <br>
<br>
Mot de passe : <input type="password" name="mdp" placeholder="********"><br>
Retapez votre mot de passe : <input type="password" name="mdp2" placeholder="********"><br>
Le format du mot de passe est de 6 caracteres minimum avec une lettre et un chiffre dedans.
<br><br>
 
Modifier l'identifiant de connexion ?<br>
<input id="oui" type="radio" name="modification" value="oui" onclick="activer()"/>Oui
<input id="non" type="radio" name"nonmodification" value="non" onclick="desactiver()"/>Non<br>
dn : <input disabled="true" id="dn" type="text" name="dn" style="width:360px";><br>
Identifiant de connexion par defaut, il sera modifier si il est deja utiliser dans la base de donnee. Il vous sera transmis lors de l'ajout.<br>
<input id="button"  type="submit" value="Valider">
<br>
</fieldset>
</form>
 
<?php
 
//import GroupOffice config
include_once $goconfig;
 
function replace_accents($str, $charset='utf-8')
{
    $str = htmlentities($str, ENT_NOQUOTES, $charset);
 
    $str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str);
    $str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. '&oelig;'
    $str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractÚres
 
    return $str;
}
 
$mailRegex='#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#'; // Pour le test de la validiter du mail
$mdpRegex ='#^(?=.*[A-Za-z])(?=.*[0-9])(\w{6,})$#'; // Pour le test de la validiter du mot de passe
 
// Si le tableau $_POST existe alors le formulaire a etait envoyer
if(!empty($_POST))
{
// Le login est-il rempli ?
if(empty($_POST['username']))
{
$message = 'Veuillez indiquer votre username svp !';
}
// Le prenom est-il rempli ?
elseif(empty($_POST['prenom']))
{
$message = 'Veuillez indiquer votre prenom svp !';
}
// Le mail est-il rempli ?
elseif (empty($_POST['mail'])) 
{
	$message = 'Veuillez entre une adresse mail  ( Exemple : test@operateur.fr)';
}
 
// Le mot de passe est-il rempli ?
elseif(empty($_POST['civ']))
{
	$message = 'Veuillez indiquer votre civilite svp !';
}
// Le mot de passe est-il rempli ?
elseif(empty($_POST['mdp']))
{
	$message = 'Veuillez indiquer votre mot de passe svp !';
}
 
elseif ($_POST['mdp'] != $_POST['mdp2']) 
{
 
	$message = 'Les deux mot de passe ne sont pas identique.';
}
 
//le mail est-il valide ou le mot de passe est valide ?
elseif (!empty($_POST['mail']) or !empty($_POST['mdp']))
{
 
	if(!preg_match($mailRegex, $_POST['mail']))
	{
		$message = 'Veuillez mettre votre adresse mail au format valide (Exemple : test@operateur.fr).';
	}
	if(!preg_match($mdpRegex, $_POST['mdp']))
	{
		$message = 'Veuillez mettre un mot de passe valide (Exemple : testmdp17).';
	}
}	
 
if(!empty($message))
echo $message; 
 
else
{
 
$sn =STRTOUPPER( htmlspecialchars($_POST['username'])); // recupere en format majuscule le nom
$givenName =UCWORDS( htmlspecialchars($_POST['prenom'])); // recupere avec une majuscule au debut le prenom
$passgedeon='{MD5}' . base64_encode(pack('H*', md5(htmlspecialchars($_POST['mdp']))));
$mail = htmlspecialchars($_POST["mail"]);
$title= htmlspecialchars($_POST["civ"]);
$debutCn = SUBSTR(STRTOLOWER(replace_accents((htmlspecialchars($_POST['prenom'])))),0,1); // construit le debut du cn
$finCn = STRTOLOWER(replace_accents(htmlspecialchars($_POST['username']))); //construit la fin du cn
$cn = $debutCn.".".$finCn; // creer le cn sous le bon format
$uid = $givenName." ".$sn; // creer le uid sous le bon format
$valeur = replace_accents(htmlspecialchars($_POST["dn"]));