nouvelingenieur / Refresh

Plateforme de crowdsourcing pour l'enseignement supérieur
nouvelingenieur.fr
13 stars 6 forks source link

Impossible de poster un commentaire #48

Closed jschav88 closed 12 years ago

jschav88 commented 12 years ago

Bonjour,

j'ai installé le scripte REFRESH sur un serveur OVH mais je suis dans l'impossibilité de poster un commentaire or tous les paramètres sont "bons".

J'ai donc le droit à "Erreur lors de la requête d'ajout du nouveau commentaire".

Savez-vous d'où cela peut venir ?

Je précise que j'ai up le dernier fichier comments.php. D'ailleurs j'ai remarqué 'chaine_moderation' n'était pas dans la structure de la BDD, c'est normal ?

Merci si vous avez la solution :)

enpcns commented 12 years ago

Salut,

Je n'ai pas tout suivi, mais comments.php a été mis à jour il y a peu pour intégrer un système de modération par mail. Au commentaires sont donc associées des chaînes de confirmation, inscrite en base en même temps que le commentaire. Et forcément la requête va planter si le champs n'est pas prévu en base.

=> la version de la BDD et du comments.php ne sont pas concordantes...

jschav88 commented 12 years ago

Oui je pense que c'est ça sauf que j'ai l'impression que la structure de la BDD qui est dans la master n'est pas la bonne.

FICHIER COMMENTS.php if (@mysql_query("INSERT INTO comment (comment_id , thread_id , rand_prop , hash_prop , text , date , is_valid , possibly_name , chaine_moderation) VALUES (NULL,$thread_id,$rand_prop,$hash_prop,$text_prec,CURRENT_TIMESTAMP,0,$name_print,$chaine_conf_hash)"))

FICHIER TABLE SQL CREATE TABLE IF NOT EXISTS comment ( comment_id int(20) unsigned NOT NULL AUTO_INCREMENT, thread_id int(16) unsigned NOT NULL, rand_prop int(16) unsigned NOT NULL, hash_prop varchar(40) NOT NULL, text text NOT NULL, date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, is_valid tinyint(1) NOT NULL DEFAULT '0', already_mod tinyint(1) NOT NULL DEFAULT '0', possibly_name varchar(64) NOT NULL, PRIMARY KEY (comment_id), KEY thread_id (thread_id) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; `

Asimov4 commented 12 years ago

Effectivement. Je me demande pourquoi la modif n'est pas passée pour comment alors qu'elle a bien été enregistrée pour threads.

Voici la structure appropriée pour la table comments :

CREATE TABLE IF NOT EXISTS comment ( comment_id int(20) unsigned NOT NULL AUTO_INCREMENT, thread_id int(16) unsigned NOT NULL, rand_prop int(16) unsigned NOT NULL, hash_prop varchar(40) NOT NULL, text text NOT NULL, date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, is_valid tinyint(1) NOT NULL DEFAULT '0', already_mod tinyint(1) NOT NULL DEFAULT '0', possibly_name varchar(64) NOT NULL, chaine_moderation varchar(40) NOT NULL, PRIMARY KEY (comment_id), KEY thread_id (thread_id) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;

Je vais mettre à jour les fichiers sur github.

Asimov4 commented 12 years ago

Vu le fichier de diff, comme tu l'as indiqué, il suffit d'ajouter la colonne chaine_moderation varchar(40) NOT NULL, à la table comment.

jschav88 commented 12 years ago

Ouep c'était le varchar40 qui me manquait. Ca fonctionne :)