comment : saisie dans formulaire soit automatiquement en majuscules dans la BDD

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : comment : saisie dans formulaire soit automatiquement en majuscules dans la BDD

par albat » 30 sept. 2008, 16:37

strToUpper() en php ou UPPER() en sql :)
Exact.
avec une petite préféréence pour le traitement en SQL, pour des raisons de performances.

Mais bon, on compte en pouièmes de seconde, là... :roll:

par elrime » 30 sept. 2008, 16:31

je viens de tester l'autre possibilité

elle n'est pas négligeable, elle est même mieux car sur l'affichage de la page de révision, et le mail çà appairait aussi en majuscule, ce n'est pas mal du tout:D

encore une fois de tres bon conseil de la part de phpfrance ;)

Merci :D

par Ryle » 30 sept. 2008, 16:14

Tu peux également le faire au moment où tu récupères tes paramètres :)
$demande = strToUpper($_POST["demande"]);
...
Techniquement ça change absolument rien, mais ta requête restera plus simple à lire, et donc plus facile à maintenir ;)

par elrime » 30 sept. 2008, 16:07

bon bha mon code est a présent:
 $sql = "INSERT  INTO ALCHIMICAWEB (demande, societe, adresse1, adresse2, cp, ville, pays, famille, civilite, nom, prenom, tel, mobile, fax, mail, message, date)
            VALUES ( '".strtoupper($demande)."','".strtoupper($societe)."','".strtoupper($adresse1)."','".strtoupper($adresse2)."','".strtoupper($cp)."','".strtoupper($ville)."', '".strtoupper($pays)."', '".strtoupper($famille)."', '".strtoupper($civilite)."', '".strtoupper($nom)."', '".strtoupper($prenom)."', '$tel',  '$mobile', '$fax', '$mail', '$message', NOW())";
 
çà a l'air lourd.. mais çà marche :)

Merci :)

par Ryle » 30 sept. 2008, 15:54

Soit au moment de l'insertion, soit lors de la récupération,
il te suffit d'utiliser les bonnes fonctions : strToUpper() en php ou UPPER() en sql :)

comment : saisie dans formulaire soit automatiquement en maj

par elrime » 30 sept. 2008, 15:44

Bonjour à tous :)

j'ai un formulaire dans lequel mes chers collègues saisissent en minuscules des noms propres et des noms de société...

comment faire pour que la saisie dans la BDD soit automatiquement en majuscules ?

(le but étant de pouvoir faire du publipostage avec les données de la BDD sans que j'ai a repassé derrière presque toutes les saisies :p )

Merci d'avance de votre attention .

mon code étant :
<?php
//connection au serveur 
$cnx = mysql_connect( "localhost", "xxx", "xxx" ) ; 

//sélection de la base de données: 
$db = mysql_select_db( "ALCHIWEB" ) ; 

//récupération des valeurs des champs: 
$demande=$_POST["demande"] ; 
$societe=$_POST["societe"] ; 
$adresse1=$_POST["adresse1"] ; 
$adresse2=$_POST["adresse2"] ; 
$CP=$_POST["CP"] ; 
$ville=$_POST["ville"] ; 
$pays=$_POST["pays"] ; 
$famille=$_POST["famille"] ; 
$civilite= $_POST["civilite"] ; 
$nom = $_POST["nom"] ; 
$prenom= $_POST["prenom"] ; 
$tel= $_POST["tel"] ; 
$mobile= $_POST["mobile"] ; 
$fax=$_POST["fax"] ; 
$mail=$_POST["mail"] ; 
$message=$_POST["message"] ; 
//création de la requête SQL: 
$sql = "INSERT INTO ALCHIWEB (demande, societe, adresse1, adresse2, cp, ville, pays, famille, civilite, nom, prenom, tel, mobile, fax, mail, message, date) 
VALUES ( '$demande','$societe','$adresse1','$adresse2','$cp','$ville', '$pays', '$famille', '$civilite', '$nom', '$prenom', '$tel', '$mobile', '$fax', '$mail', '$message', NOW())"; 

$msg = "Merci de votre attention $civilite $nom, nous avons bien reçu les informations suivantes: \n\n"; 
$msg .= "Demande:\t$demande\n"; 
$msg .= "Société:\t$societe\n"; 
$msg .= "Famille:\t$famille\n"; 
$msg .= "Civilité:\t$civilite\n"; 
$msg .= "Nom:\t$nom\n"; 
$msg .= "Prenom:\t$prenom\n"; 
$msg .= "Adresse1:\t$adresse1\n"; 
$msg .= "Adresse2:\t$adresse2\n"; 
$msg .= "Code Postal:\t$cp\n"; 
$msg .= "Ville:\t$ville\n"; 
$msg .= "Pays:\t$pays\n"; 
$msg .= "Tel:\t$tel\n"; 
$msg .= "Mobile:\t$mobile\n"; 
$msg .= "Fax:\t$fax\n"; 
$msg .= "E-Mail:\t$mail\n"; 
$msg .= "Message:\t$message\n\n"; 
$msg .= "Merci de ne pas répondre à ce message: \n\n"; 
$msg .= "Retourner sur le site : http://www.alchimica.fr \n\n"; 
$recipient = "[email protected],"; 
$subject = "Demande auprès d'Alchimica.fr, société: $societe, $civilite $nom"; 
$headers = "Bcc: $mail\r\n"; 
mail($recipient, $subject, $msg, $headers); 


//exécution de la requête SQL: 
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;