Check out the LimeSurvey source code on GitHub!

Comment ne pas stocker les réponses?

More
5 years 3 months ago #69447 by Ben_V
Bonjour à tous,

Quelqu'un connait-il un moyen (genre dans les 'optional settings' ou un autre fichier de config) de déshabiliter l'écriture des réponses dans la base ?

En fait j'ai une plateforme, dont la finalité est uniquement de donner un score ou une évaluation en fin de session et je dois donc effacer régulièrement de la base 100% des réponses...(ou alors il faudrait que je m'oriente vers un script qui le fasse à ma place..)

Merci d'avance
Ben.

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)

Please Log in to join the conversation.

More
5 years 3 months ago #69449 by DenisChenu
Aucune méthode existante,

La seule chose que je verrais serait de se servir d'un script ajax à la fin du questionnaire pour effacer toutes les réponses du questionnaires en question.

Le script n'a besoin de rien, et c'est juste une requète "TRUNCATE TABLE", pas trop lourd :).

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).

Please Log in to join the conversation.

More
5 years 3 months ago - 5 years 3 months ago #69451 by Ben_V
Merci Denis...
Une précision car les doutes arrivent...
quand tu dis "à la fin du questionnaire", tu parles bien du survey lui-même pas de l'index.php? (faut bien renseigner le nom de la table quelquepart...)
TRUNCATE TABLE table_name
Si tu vois une syntaxe évidente... ce n'est pas encore mon cas mon pour l'instant ! :huh:

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Last Edit: 5 years 3 months ago by Ben_V.

Please Log in to join the conversation.

More
5 years 3 months ago - 5 years 3 months ago #69452 by DenisChenu
Salut,

Dans le endpage.pstpl ou le message de fin, tu lance un script php ne ajax.
$.ajax({
  url: 'vide.php'
});

Ton fichier vide.php comprenant le script supprimant les données de la table.

Il faut bien sur que le scriopt contiennet les données de connexion et le nom de la table en brut.

Après il est possible de passer le numéro du questionnaire via les paramètres ajax, mais dans ton cas, je ne pense pas que tu en es besoin :).

api.jquery.com/category/ajax/

Denis :)

PS : Si le questionnaire a beaucoup d'accès, vérifie que la suppression de toutes les données en cours de réponse à un questionnaire ne pose pas de problème, il me semble que tout est dans la session mais bon.
PS2: attention de protéger un minima vide.php ( en tous cas de ne pas envoyer d'information tel un mot de passe).
PS3: il est possible de récupérer toutes les méthodes de connexion de LS, ca va plus vite ;).

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
Last Edit: 5 years 3 months ago by DenisChenu.

Please Log in to join the conversation.

More
5 years 3 months ago #69455 by Ben_V
Ok c'est clair..
Dès que j'ai un peu de temps j'essaie en local..
Pas de raison pour que a ne fonctionne pas!
Effectivement avec ce genre d'additifs faut bien penser à ne pas ouvrir une brèche dans la sécu de la base!

En attendant je continuerai à vider les tables à mano dans phpMyAdmin

Merci bien en tous cas !

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)

Please Log in to join the conversation.

More
5 years 3 months ago - 5 years 3 months ago #69458 by DenisChenu
C'est pour cela que le mieux est de le faire sans aucune réception de données.

Tu ne récupère aucune info en GET/SESSION/POST.
Tu fait ta bidouille dans le fichier, tu ne renvoi que TRUE ou FALSE.
Tu t'assure que ca ne pose aucun problème si c'est lancé 100 fois à la suite

Testé et validé ici :http://demonstration.sondages.pro/56159/lang-fr ( meri pour le questionnaire ;) )

Le script php:
<?php
require_once(dirname(__FILE__).'/config-defaults.php');
require_once ($rootdir.'/classes/adodb/adodb.inc.php');
 
$thissurvey = '56159';
 
 
$DB = NewADOConnection($databasetype);
$DB->Connect($databaselocation, $databaseuser, $databasepass, $databasename);
 
$result = $DB->Execute("TRUNCATE TABLE ".$dbprefix."survey_".$thissurvey);
if ($result){return TRUE;}else{return FALSE;}
Si on passe le surveyid via un GET, il faudra vérifier que c'est bien un questionnaire de type supprimable.

Et l'impression des réponses ne fonctionne pas, bien sur.

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
Last Edit: 5 years 3 months ago by DenisChenu.

Please Log in to join the conversation.

More
5 years 3 months ago - 5 years 3 months ago #69469 by Ben_V
Muchas Graciàs Denis,
...parce que j'avais réussi la manip sur tes conseils précedents mais, si mon vide.php fonctionnait, il me faisait peur à moi-même :lol:
<?php
$databaselocation = "localhost";
$databaseuser = "toto";
$databasepass = "tata";
$databasename = "survey_190";
$query = "TRUNCATE lime_survey_62894";
 
	//Connect to MySQL Server
mysql_connect($databaselocation, $databaseuser, $databasepass);
	//Select Database
mysql_select_db($databasename) or die(mysql_error());
	//Build query
mysql_query("$query");
?>
Pour le problême de l'impression on peut toujours appeler le script à la fin de printanswers.psptl.... (si il y a une personne sur 10 qui imprime, elle fera le boulot pour les autres... ce n'est pas très grave...)

Merci encore!
Ben.

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Last Edit: 5 years 3 months ago by Ben_V.

Please Log in to join the conversation.

Moderators: Nickko
Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form