THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

Je viens d'installer sur Windows2003 web edition et j'ai copié le template à la racine.
Tout s'affiche bien.
Quand je suis dans l'interface d'administration par contre je n'arrive à rien ajouter nulle part (rubrique, produit, content) et aucun utilisateur n'arrive à s'inscrire dans le système. Il n'y aucun erreur quelque part.
Par exemple quand j'ajoute une rubrique, et je clique sur valider, il revient sur la page d'ajout comme si ne rien s'est fait.

Le serveur web est IIS, MySQL 5.0, php5; j'ai bien mis des droits d'écriture sur le répertoire clients. Le user mysql a bien des droits d'écriture dans sur la base de données.

Quelqu'un peut me dire ?

Merci,

Willem


PS  Sur un linux je n'ai eu aucun problème.

Last edited by wkuypers (18-09-2007 17:44:28)

Offline


Tu dits que le serveur web est IIS... C'est prévu pour exécuter du Php ?

Offline


StefPei wrote:

Tu dits que le serveur web est IIS... C'est prévu pour exécuter du Php ?

oui sans problème; je dis le site s'affiche correctement, et j'arrive à entrer login et mot de passe
les sessions fonctionnent aussi. Je me demande s'il n'y pas un problème d'écriture sur le cache de l'admin par exemple, mais quand je donne des droit d'écriture le problème reste le même.

Offline


Bon je viens d'installer spip. Il fonctionne, et il a le même problème. Je ne peux pas ajouter des nouveaux articles-rubriques. Sur thelia, j'ai importé la base de données du site linux, et j'arrive à modifier par exemple les produits, mais je n'arrive toujours pas à ajouter de nouveaux. C'est vraiment très bizarre ce truc.
Cela doit être quelque part dans la config du IIS6. Mais où ?

Last edited by wkuypers (19-09-2007 13:06:00)

Offline


Dernière info : SPIP fonctionne grâce au forum. D'abord les logs de spip indiquaient qu'il manquait une valeur par défaut pour les rubriques textes dans la définition des champs.  Bref, c'était un problème avec MySQL5 que SPIP n'a pas encore résolu.
Maintenant j'ai fait de même pour Thelia, mais ca ne fonctionne toujours pas.

bon j'ai trouvé encore plus précis : Thelia insert pour l'id par exemple en ajoutant une devise une chaine vide à savoir '' , tandis que MySQL n'accepte que le NULL.
Thelia produit ceci : INSERT INTO `storepmd`.`devise` (`id` ,`nom` ,`code` ,`symbole` ,`taux`) VALUES ('','fff', 'fff', 'fff', '0');
Mysql veut ceci : INSERT INTO `storepmd`.`devise` (`id` ,`nom` ,`code` ,`symbole` ,`taux`) VALUES (NULL,'fff', 'fff', 'fff', '0');

Last edited by wkuypers (20-09-2007 18:23:26)

Offline


Voilà la réponse est ici


[27 Mar 2006 20:26] Daniel Brabec

Description:
In MySQL 4 and prior, if you set int_column = '', it was converted to the zero value. In
MySQL 5 it causes error "Incorrect integer value".

It isn't an error at all, but it's very unpleasant, if your applications uses this
"autoconversion" and now it doesn't work.

I haven't found any about this problem in documentation and I don't know whether it's a
bug or it's intended.

How to repeat:
CREATE TABLE `test` (
`int_column` INT NOT NULL
) TYPE = MYISAM ;

INSERT INTO test SET int_column = '';

[27 Mar 2006 21:12] Peter Laursen

@Daniel

this is an sql_mode issue.  To have the old behaviour you should execute
set sql_mode = ''; -- empty string means 'traditional MySQL-mode'

Refer to: http://dev.mysql.com/doc/refman/5.0/en/ … -mode.html

Also if you use the configuration wizard at install you may specify this as the default
for connections.

Also note that TYPE is depreciated - use ENGINE instead.

[27 Mar 2006 21:16] Miguel Solorzano

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.mysql.com/documentation/ and the instructions on
how to report a bug at http://bugs.mysql.com/how-to-report.php

Additional info:

Thank you for the bug report. You already got the correct answer from
Mr. Peter Laursen.

[21 Jul 2006 22:29] Troy Vitullo

I found that global.sql_mode='' gives me  different behavior than
global.sql_mode=TRADITIONAL. With the former I was still able to insert blank
integers surrounded by quotes. With the latter I could finally get an error instead of a
warning, which is what I wanted. This is MySQL 5.0.22 windows.

I take this behavior to mean that 'traditional MySQL-mode' is different than setting mysql
to TRADITIONAL.

Troy Vitullo

Offline


Bonjour,

Je rencontre le meme probleme sur un serveur Windows que je ne gère pas, y'a-t-il une solution ?!

Merci d'avance.

Offline


Oui, lis le message avant que j'ai mis.
Le problème est dans le fichier config de ton mysql. Il suffit d'effacer dans le sql.mode.
Il faut prendre le ini par default , et pas l'ini recommandé.

WK

Offline


Merci, mais comme je t'ai dis je ne gère pas le serveur donc je ne peux pas toucher à la config de mysql

Offline


Bonjour !

N'y a-t-il pas une solution au niveau du code de Thelia ?

Car je ne peux pas du tout changer la config de MySQL, il y a d'autres sites qui tournent sur ce serveur...

Changer quelque chose dans les requetes ou je ne sais quoi...

C'est assez urgent ! Merci !

Offline


skrcreation wrote:

Bonjour !

N'y a-t-il pas une solution au niveau du code de Thelia ?

Car je ne peux pas du tout changer la config de MySQL, il y a d'autres sites qui tournent sur ce serveur...

Changer quelque chose dans les requetes ou je ne sais quoi...

C'est assez urgent ! Merci !

L'auteur de Thelia ne m'a pas pu aider non plus. En fait, je pense qu'il faut ré-écrire certains requetes pourqu'ils soient compatible avec les nouveaux paramètres de MySQL. Désolé.

Offline


Merci.

J'ai essayé de remplacer le '' par NULL dans la requete d'ajout, mais cela ne marche toujours pas.

Je l'ai remplacé uniquement sur l'id, faut-il remplacer tous les '' par des NULL ?

EDIT: J'essaye, on verra bien

Last edited by skrcreation (16-10-2007 12:48:59)

Offline


skrcreation wrote:

Merci.

J'ai essayé de remplacer le '' par NULL dans la requete d'ajout, mais cela ne marche toujours pas.

Je l'ai remplacé uniquement sur l'id, faut-il remplacer tous les '' par des NULL ?

EDIT: J'essaye, on verra bien

En fait dans le fonction d'insertion il prend tous les champs d'une table, et veux insérer une valeur. Il faudrait modifier la fonction pour que dans l'ajout, il retire la clé primaire, et n'insérère que des valeurs pour tous les autres. D'ailleurs cela resterait compatible avec MySQL 4 qui permet cela aussi.

Offline


Je sais pas si j'ai bien compris ?

En fait il faudrait simplement modifier la requete en retirant la colonne de la clé ?

Merci.

Offline


skrcreation wrote:

Je sais pas si j'ai bien compris ?

En fait il faudrait simplement modifier la requete en retirant la colonne de la clé ?

Merci.

oui, le problème est que la requete renvoie une chaine vide '' pour la clé primaire; avec ta config de mysql il n'accepte pas ça. il faut soit renvoyer NULL ou soit ne rien envoyer du tout. Je repète ce comportement de MySQL ne se montre qu'avec certaine s configuration de my.ini ou my.cnf, c'est pour cela que ça marche sur certaines machines Windows sans problème comme sur un easyphp , mais pas sur toutes.

Offline


J'ai essayé de remplacer tout les '' par NULL, mais ca ne marche pas non plus !

Le pb ne doit pas venir de cela...