[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
Mise en place du mode Rewrite sur un htaccess
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
Bonjour à tous, Pour mon premier post je vais faire simple, ce blog est créé afin de faire partager mes connaissances et mes déboires en informatique. Depuis des années, comme la...
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.
";
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...
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...
Subscribe to our email newsletter to receive useful articles and special offers.
We won't share your email address.