Formater les données clients

6 posts in this topic

Posted · Report post

Bonjour

Je souhaiterai que lorsqu'un client s'enregistre sur le site ou que lorsque je créé un utilisateur en BO, à l'enregistrement de la fiche, les données se formatent comme cela :

-NOM de FAMILLE en MAJUSCULES (ne pas accentuer les majuscules)

-Prénom avec première lettre en majuscule seulement (le reste en minuscules)

-La VILLE tout en majuscule sans accent.

Je sais pas faire du tout, ni ou retoucher le code...

Merci pour le tuyau !

JL

 

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Pour cela vous pouvez modifier la fonction qui enregistre les utilisateurs dans la base de données : insere_utilisateur qui est défini dans lib/fonctions/user.php

Dans cette fonction vous pouvez appliquer les fonctions PHP ucfirst : https://secure.php.net/manual/fr/function.ucfirst.php ou strtoupper : https://secure.php.net/manual/fr/function.strtoupper.php sur les variables souhaitées.

Share this post


: post
Share on other sites

Posted · Report post

bonsoir Simon

Merci pour votre aide ! mais dans cette version 8, je ne retrouve plus comme dans la version 7 les variables de nom, prénom, ville...

Dans la version précédente je n'avais qu'à faire celà :

, '" . nohtml_real_escape_string(String::ucfirst(String::strtolower(vb($frm['prenom'])))) . "'

 , '" . nohtml_real_escape_string(String::strtoupper(vb($frm['nom_famille']))) . "'

 , '" . nohtml_real_escape_string(String::strtoupper(vb($frm['ville']))) . "'

Mais là, plus rien... A moins que ça se passe ailleurs...

 

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Effectivement sur les versions 8 la requête est générée automatiquement en fonction des champs présent dans peel_utilisateurs. Pour appliquer les fonctions que vous souhaitez sur les champs prenom, nom_famille et ville, il faut ajouter un bloc de code au niveau de la ligne 276 (sur la version 8.0.4) :

Il faut remplacer le bloc ci dessous

		if(in_array($this_field, array('description', 'parameters'))) {
			$sql_fields_array[$this_field] = word_real_escape_string($this_field) . "='" . real_escape_string($frm[$this_field]) . "'";
		} else {
			$sql_fields_array[$this_field] = word_real_escape_string($this_field) . "='" . nohtml_real_escape_string($frm[$this_field]) . "'";
		}

par

		if(in_array($this_field, array('prenom'))) {
			$sql_fields_array[$this_field] = word_real_escape_string($this_field) . "='" . nohtml_real_escape_string(String::ucfirst($frm[$this_field])) . "'";
		} elseif(in_array($this_field, array('ville', 'nom_famille'))) {
			$sql_fields_array[$this_field] = word_real_escape_string($this_field) . "='" . nohtml_real_escape_string(String::strtoupper($frm[$this_field])) . "'";
		} elseif(in_array($this_field, array('description', 'parameters'))) {
			$sql_fields_array[$this_field] = word_real_escape_string($this_field) . "='" . real_escape_string($frm[$this_field]) . "'";
		} else {
			$sql_fields_array[$this_field] = word_real_escape_string($this_field) . "='" . nohtml_real_escape_string($frm[$this_field]) . "'";
		}

 

Share this post


: post
Share on other sites

Posted · Report post

Bonjour Simon

J'avais pas testé le code corrigé.

Aujourd'hui une cliente s'est inscrite sur le site via le front office, et bien que le nom de famille et la ville soient bien en majuscules, son prénom apparaît également en majuscule...

une idée s'il vous plait ?

Merci pour votre aide.

JL

 

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Oui c'est le fonctionnement normal de la fonction ucfirst, qui met en majuscule uniquement la première lettre : http://php.net/manual/fr/function.ucfirst.php

Si vous souhaitez que le reste du prenom soit en minuscule, il faut utiliser la fonction strtolower sur la variable qui contient le prénom;

Share this post


: post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

Twitter Advisto ecommerce

Facebook PEEL Shopping