[PHP – LDAP] Annuaire LDAP Partie 3
Comment incorporer nos données dans une base MySQL
Filter by Category
Filter by Author
Comment incorporer nos données dans une base MySQL
Posted by louis MARTINBRANDA
Dans cette partie nous allons créer le fichier PHP pour afficher un compte.
Posted by louis MARTINBRANDA
Le but étant de synchroniser tous les comptes utilisateurs et de les insérer dans une base MySQL.
Posted by louis MARTINBRANDA
Comment incorporer nos données dans une base MySQL
Nous allons voir comment incorporer nos données dans une base MySQL.
Tout d’abord créons notre base SQL
CREATE TABLE IF NOT EXISTS `users` (
`uid` int(11) unsigned NOT NULL auto_increment,
`tstamp` int(11) unsigned NOT NULL default '0',
`username` varchar(50) NOT NULL default '',
`name` varchar(80) NOT NULL default '',
`address` varchar(255) NOT NULL default '',
`telephone` varchar(20) NOT NULL default '',
`email` varchar(80) NOT NULL default '',
`title` varchar(40) NOT NULL default '',
`zip` varchar(10) NOT NULL default '',
`city` text NOT NULL,
`country` varchar(40) NOT NULL default '',
`company` varchar(80) NOT NULL default '',
`first_name` varchar(50) NOT NULL default '',
`last_name` varchar(50) NOT NULL default '',
PRIMARY KEY (`uid`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=702 ;
Déjà on va lancer une commande pour compter le nombre d’utilisateur :
$count = ldap_count_entries($connect, $search);
echo "Nombre d'utilisateurs qui seront intégrés : " .$count. "
";
et comme dans la partie 2 on récupere les donnée du LDAP :
/**********************************************************************
* Resultats de la recherche
**********************************************************************/
$entries = ldap_get_entries($connect, $search);
connexion à la base de donnée :
$serveur = localhost
$login = "user";
$mot_passe = "password";
$nom_bdd = "bdd"
$connection = mysql_connect($serveur, $login, $mot_passe);
$select_bdd = mysql_select_db($nom_bdd);
/**********************************************************************
* Set le type d'encodage
**********************************************************************/
mysql_query("SET NAMES 'utf8'");
/**********************************************************************
* Défini les variables user en fonction ne notre recherche.
* Le mysql_real_escape_string permet de remplacer les appostrophes.
**********************************************************************/
for ($i=0; $i < $count; $i++)
{
$tstamp = time();
$username = mysql_real_escape_string($entries[$i]['samaccountname'][0]);
$name = mysql_real_escape_string($entries[$i]['cn'][0]);
$address = mysql_real_escape_string($entries[$i]['streetaddress'][0]);
$telephone = mysql_real_escape_string($entries[$i]['telephonenumber'][0]);
$email = mysql_real_escape_string($entries[$i]['mail'][0]);
$title = mysql_real_escape_string($entries[$i]['description'][0]);
$zip = mysql_real_escape_string($entries[$i]['postalcode'][0]);
$city = mysql_real_escape_string($entries[$i]['l'][0]);
$country = mysql_real_escape_string($entries[$i]['co'][0]);
$company = mysql_real_escape_string($entries[$i]['company'][0]);
$first_name = mysql_real_escape_string($entries[$i]['givenname'][0]);
$last_name = mysql_real_escape_string($entries[$i]['sn'][0]);
/**********************************************************************
* Envoi de la requete $insert contenant les attributs vers MySQL
**********************************************************************/
$insert = "INSERT INTO users (tstamp,username,name,address,telephone,email,title,zip,city,country,company,first_name,last_name) VALUES( '".$tstamp."', '".$username."', '".$usergroup."', '".$name."', '".$address."', '".$telephone."', '".$email."', '".$title."', '".$
zip."', '".$city."', '".$country."', '".$company."', '".$first_name."', '".$last_name."')";
mysql_query($insert) or die("erreur $insert");
}
De ce fait on se sert du nombre d’utilisateur trouvé pour faire notre boucle.
Ensuite on défini nos variables avant de les envoyés dans notre BDD.
La fonction mysql_query(« SET NAMES ‘utf8′ »); permet d’envoyer des données au format UTF-8 à MySQL.
Pour finir et faire plus jolie on affiche un utilisateur au hasard :
/**********************************************************************
* Affiche les infos d'un user au hasard
**********************************************************************/
$nb_min = 0;
$nb_max = $count;
$nombre = mt_rand($nb_min,$nb_max);
echo "Information type sur l'éxportation des utilisateurs";
echo "
";
echo "
";
echo "Exemple avec l'utilisateur "; echo utf8_decode($entries[$nombre]['cn'][0]);
echo "
";
echo "
";
echo "login : ";
echo utf8_decode($entries[$nombre]['samaccountname'][0]);
echo "
";
echo "Mail : ";
echo utf8_decode($entries[$nombre]['mail'][0]);
echo "
";
echo "LastName : ";
echo utf8_decode($entries[$nombre]['sn'][0]);
echo "
";
echo "FirstName : ";
echo utf8_decode($entries[$nombre]['givenname'][0]);
echo "
";
echo "Name : ";
echo utf8_decode($entries[$nombre]['cn'][0]);
echo "
";
echo "Company : ";
echo utf8_decode($entries[$nombre]['company'][0]);
echo "
";
echo "Fonction : ";
echo utf8_decode($entries[$nombre]['description'][0]);
echo "
";
echo "Telephone : ";
echo utf8_decode($entries[$nombre]['telephonenumber'][0]);
echo "
";
echo "Adresse : ";
echo utf8_decode($entries[$nombre]['streetaddress'][0]);
echo "
";
echo "Ville : ";
echo utf8_decode($entries[$nombre]['l'][0]);
echo "
";
echo "Zip Code : ";
echo utf8_decode($entries[$nombre]['postalcode'][0]);
echo "
";
echo "Pays : ";
echo utf8_decode($entries[$nombre]['co'][0]);
echo "
";
/**********************************************************************
* Fermeture de la connection
**********************************************************************/
ldap_unbind($connect);
echo "
";
echo "Exportation terminée.
";
Un de mes projets était de mettre en place un annuaire LDAP. Le but étant de synchroniser tous les comptes utilisateurs et de les insérer dans une base MySQL. Ainsi fait, nous...
Partie 2 étape1 : créé le code qui va nous permettre de se connecter au LDAP étape2 : créé le fichier php pour afficher un compte étape3 : mettre en place le fichier php pour...
Subscribe to our email newsletter to receive useful articles and special offers.
We won't share your email address.