Validation d'une création compte utilisateur

Fermé
PHPLove - 19 juin 2009 à 15:45
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 - 29 juil. 2009 à 14:23
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 lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
19 juin 2009 à 15:49
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
19 juin 2009 à 15:51
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 lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
19 juin 2009 à 15:52
EHEHEH oui même pas pensé ^^
0
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 lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
19 juin 2009 à 16:01
lol j'en ai besoin je suis entrain de créer un générateur de script de formulaire ouch^^
0
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 jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
29 juil. 2009 à 14:23
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