formulaire et caractères réservés
Bonjour à tous,
J'ai un soucis avec les caractères réservés.
Ma page html contient un simple formulaire permettant de saisir des titres de livre.
Les données sont transmises au script perl par la méthode POST.
Les données saisies dans ce formulaire sont récupérées via la méthode param du module CGI. Elles sont ensuite envoyées vers une base de données MySQL.
Lorsque je veux envoyer des données contenant des caractères réservés (par exemple une apostrophe) j'ai un message d'erreur dans mon navigateur.
J'ai bien tenté d'utiliser le module URI:Escape; mais la conversion des caractères réservés semble ne pas fonctionner.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #!C:/wamp/apps/Perl/bin/perl.exe
use strict;
use warnings;
use DBI;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use URI::Escape;
# connexion à ma base de données mysql minichat
my $database = "db1";
my $hostname = "localhost";
my $login = "root";
my $pw = "";
my $dsn = "DBI:mysql:database=$database;host=$hostname";
my $dbh = DBI->connect($dsn,$login,$pw) or die "ECHEC connexion";
# récupération de la valeurs transmise par le formulaire
my $cgi = CGI->new;
my $TITRE;
$TITRE= $cgi->param('titre');
my $TITRE_SAFE = uri_escape("$TITRE");
# insertion dans la base de données
my $query = ("INSERT INTO livres VALUES (DEFAULT, '$TITRE_SAFE')");
my $sth=$dbh->prepare($query);
$sth->execute() or die "Cannot execute sth: $DBI::errstr";
$sth->finish;
$dbh->disconnect; |
Pouvez-vous m'aider à identifier mon erreur?
Merci