Validation d'une création compte utilisateur

PHPLove -  
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

actuellement en stage dans une entreprise , je suis en train de créer un site en php avec base de données dans le but de ce stage.

J'ai créer un formulaire d'inscription des utilisateurs du site. Ca marche super bien , mais j'aimerais faire un système pour que l'administrateur puisse valider ou non ces inscriptions, c'est à dire qu'ils aient accès aux pages du site que si l'admin a validé leur inscription.
Je souhaite en fait qu'après inscription les utlisateurs soient redirigés vers une page leur expliquant qu'il recevront un mail de l'administrateur validant leur inscription.

Comment faire tout cela?

voici mon script pour le formulaire d'inscription au site (création d'un compte utilisateur).

<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
	// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
	if ((isset($_POST['account_name']) && !empty($_POST['account_name'])) && (isset($_POST['account_pwd']) && !empty($_POST['account_pwd'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
		// on teste les deux mots de passe
		if ($_POST['account_pwd'] != $_POST['pass_confirm']) {
			$erreur = 'Les 2 mots de passe sont différents.';
		}
		else {
			$base = mysql_connect ('localhost', 'root', 'password');
			mysql_select_db ('AWare', $base);

			// on recherche si ce login est déjà utilisé par un autre membre
			$sql = 'SELECT count(*) FROM egw_agw_accounts WHERE account_name="'.mysql_escape_string($_POST['account_name']).'"';
			$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
			$data = mysql_fetch_array($req);

			if ($data[0] == 0) {
                $sql = 'INSERT INTO egw_agw_accounts (account_id,account_name,account_pwd, account_mail, account_type) VALUES("","'.mysql_escape_string($_POST['account_name']).'", "'.md5(($_POST['account_pwd'])).'","'.mysql_escape_string($_POST['account_mail']).'","'.mysql_escape_string($_POST['account_type']).'" )';
                mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
				session_start();
				$_SESSION['account_name'] = $_POST['account_name'];

				header('Location: membre.php');
				exit();
			}
			else {
				$erreur = 'Un membre possède déjà cet identifiant.';
			}
		}
    }
	else {
		$erreur = 'Au moins un des champs est vide.';
	}
}
?>


<!-- formulaire d'inscription-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Inscription</title>
</head>
<body>
Inscription &agrave AWare :<br /><br />
<form action="inscription.php" method="post">
Votre identifiant : <input type="text" name="account_name" value="<?php if (isset($_POST['account_name'])) echo htmlentities(trim($_POST['account_name'])); ?>"><br />
Votre mot de passe : <input type="password" name="account_pwd" value="<?php if (isset($_POST['account_pwd'])) echo htmlentities(trim($_POST['account_pwd'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
Votre courriel : <input type="text" name="account_mail" value="<?php if (isset($_POST['account_mail'])) echo htmlentities(trim($_POST['account_mail'])); ?>"><br /><br /><br />
Merci d'indiquer le type d'utilisateur dont vous faite partie: <br />
<br /> <input type="radio" name="account_type" value="Client">Client</input><br /><?php if($_POST['account_type'])echo($_POST["account_type"]);?>
<input type="radio" name="account_type" value="AnjouWeb">Anjou Web</input><br /><?php if($_POST['account_type'])echo($_POST["account_type"]);?>
<br /><br /><input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>
A voir également:

7 réponses

Kentin76250 Messages postés 235 Date d'inscription   Statut Membre Dernière intervention   5
 
moi aussi en stage mdr^^

euh donc pourquoi ne t'envoi tu pas un email a chaque compte créer afin de dire si oui ou non tu l'accepte ou sinon tu te fait ta zone admin ou tu es le seul a y allez et où tu renvoi les données du nouveau sur une page et en fin de cette page tu as un oui qui l'insert et non qui le suppr?

je sais pas si j'ai étais clair?^^
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
il suffit que dans la page membre.php tu mettes le mesage indiquant qu'il va recevoir un mail de validation de l'administrateur

et tu rajoutes dans ta table egw_agw_accounts un champ valid_admin par exemple
au moment de l'inscription tu lui mets la valeur 0

et qd l'admin valide ça met 1

et dans ton contrôle d'accès aux pages tu mets une vérification sur les 3 champs:
- login
-password
- valid_admin qui doit être à 1
0
Kentin76250 Messages postés 235 Date d'inscription   Statut Membre Dernière intervention   5
 
EHEHEH oui même pas pensé ^^
0
PHPLove
 
Merci!!

Pour cela :
Il suffit que dans la page membre.php tu mettes le mesage indiquant qu'il va recevoir un mail de validation de l'administrateur 
c'est tout à fait ce que j'ai fait , mais effectivement je pensais que pour le reste ce serais plus complexe.

Je vais procéder ainsi, merci beaucoup à vous deux! Et bonne continuation à toi Kentin76250 pour ton stage, il ne me reste plus qu'une semaine sur 7 de stage :D .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Kentin76250 Messages postés 235 Date d'inscription   Statut Membre Dernière intervention   5
 
lol j'en ai besoin je suis entrain de créer un générateur de script de formulaire ouch^^
0
hubert
 
Bonjour PHPlove,

Je suis en train de créer un site internet pour les associations de mon école. Je souhaite restreintre l'accès aux cotisants.

Je voulais savoir si ça te dérangeait que je m'inspire de ton code pour mon formulaire d'inscription ?

Etant donné que je débute en PHP j'aurais quelques questions supplémentaires à poser :
- Où places tu la première partie de ton code ? Dans une autre page ?
- Comment cette partie du code interagit-elle avec ton formulaire ?

Merci d'avance
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
heu sur le siteduzero.com, y a un tuto complet avec code intitulé "inscription avec validation par administrateur" qui certes n' utilise pas une seule table membre avec un champs validation = 0 ou 1 mais deux tables, validation et membres.

Le m' embre s' inscrit dans la table validation et une fosi validé par l' admin, ses infos sont envoyées dans 'membres' puis effacées de validation.


Certes, un peu moins pratique mais ca marche tres bien.
0