[Corrigé 3.1.37] Bug Rappel si le titre contient des '

Vous avez trouvé un bug dans l'application (dernière version stable ou bêta): Décrivez le ici afin que la correction soit intégrée a la prochaine version.
Répondre
patrick.nedelec
Gsup LEVEL 1
Messages : 19
Enregistré le : lun. 19 sept. 2016 18:36

Bonjour,

Je rencontre un bug de gestion de la fonction rappel.
Le bug se reproduit sur la web demo.

Contexte
Le Titre du ticket est : LOGO EPHEMERE (Valide jusqu'au 31/01/2019)

Message affiché en debug
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'au 31/01/2019)','label-warning')' at line 1 in /var/www/html/gestsup/site/demo/event.php:86 Stack trace: #0 /var/www/html/gestsup/site/demo/event.php(86): PDO->exec('INSERT INTO tev...') #1 /var/www/html/gestsup/site/demo/index.php(931): include('/var/www/html/g...') #2 {main} thrown in /var/www/html/gestsup/site/demo/event.php on line 86

Patrick
Gestsup 3.1.34 | Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 | Apache 2.4.10 | Mysql 5.5.54-0 | PHP 5.6.30-0
Avatar du membre
Flox
Administrateur du site
Messages : 9045
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour,

effectivement merci pour votre retour, le problème sera corrigé pour la version 3.1.37

Si vous ne souhaitez pas attendre sa parution, vous pouvez modifier le fichier ./event.php

remplacer:

Code : Tout sélectionner

$db->exec("INSERT INTO tevents (technician,incident,date_start,type,title,classname) VALUES ('$_SESSION[user_id]',$db_id,'$date','1','Rappel: $rticket[title]','label-warning')");

par :

Code : Tout sélectionner

$qry=$db->prepare("INSERT INTO `tevents` (`technician`,`incident`,`date_start`,`type`,`title`,`classname`) VALUES (:technician,:incident,:date_start,:type,:title,:classname)");
			$qry->execute(array(
				'technician' => $_SESSION['user_id'],
				'incident' => $_GET['id'],
				'date_start' => $date,
				'type' => '1',
				'title' => "Rappel: $rticket[title]",
				'classname' => 'label-warning'
				));
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.58 | MariaDB: 11.3.2 | PHP: 8.3.6 | https://doc.gestsup.fr/
Répondre