SVP, vraiment bizarre, empty ou isset [Résolu]

Signaler
Messages postés
110
Date d'inscription
mardi 22 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005
-
Messages postés
110
Date d'inscription
mardi 22 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005
-
hello,

voila le probleme,

j'ai deux champs, lien et texte


Lien,


Résumé,
----

,
<TEXTAREA onkeydown=limite(this,255); onkeyup=limite(this,255); name=texte rows=7 cols=80 ALT="texte"></TEXTAREA>


et à chaque fois que j'insere ça me le met dans la base,

et quand on met rien dans le lien,
il me met un blanc dans ma base:

if(! empty ($lien)) {

$lien = $_POST ["lien"] ;
}
else{
$lien=" ";
}


je voudrai faire la meme chose pour le texte,
mais quand je fais la meme chose, ça ne marche pas

if (! empty ($texte ) {

$texte = $POST ["texte"] ;
}
else {
$texte = " " ;
}

peut etre que le empty ne marche pas avec les textarea, j'ai essayé de mettre isset, rien ne marche,

j'espere que je me suis fais bien comprendre

merci d'avance pour votre aide

13 réponses

Messages postés
143
Date d'inscription
vendredi 5 juillet 2002
Statut
Membre
Dernière intervention
18 mars 2006
1
Re !



Une suggestion toute bete (mais qui a son importance !!!)

Et si juste avant d'executer ta requete SQL, tu initialises ta variable $texte avec une valeur !?



genre : $texte = "du texte";



Et qu'ensuite tu executes ta requete, que dit le driver ODBC ??



Si ca passe sans probleme, alors montre nous un bout de ton code generant l'erreur !

Sinon, ton erreur provient d'ailleurs !!



a+

Anli.
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

Ben oui mais tu peux inserer directement tes valeurs dans la abse sans faire le texte, et si il y a rien dans tes champs il y aura rien dans ta base.

<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
110
Date d'inscription
mardi 22 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

quand je mets rien dans le champs,

$texte = $_POST ["texte"] ;


alors il me met:

Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Le champ 'breve.texte' ne peut pas être une chaîne vide., SQL state S1000 in SQLExecDirect in c:\program files\easyphp1...
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

As tu es sous micorosft ok alors la desolé je conais pas bien le systeme de base de donnee en Mysql ca amrche mais pas en microsoft.


<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Hello,



quels sont les types de tes 2 champs dans ta base ?
Messages postés
110
Date d'inscription
mardi 22 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

dans ma base:
le format de lien c'est Lien hypertexte
le format de texte c'est texte
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Ben il est entrain de te dire que ce champ texte ne peut pas contenir une chaine vide.

Maintenant, je ne connais pas non plus Access, difficile de t'aider plus.

Verifies si tu autorises une valeur NULL peut-etre.

Mais c'est bizarre...un espace est un caractere...donc cela devrair rentrer dans un champ texte.
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

Oui mais c'est du micrsoft point important a ne pas negliger lol. ils ont une certaine logique pas forcement logique.

lol


<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
110
Date d'inscription
mardi 22 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

dans ma base access, j'ai mis pour le champs texte:
Nul Interdit: Non

mais je pense que l'erreur vien du php et du texarea, enfin j'en sais rien,
et en ce qui conserne Microsoft access, je ne connais pas beaucoup non plus
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Bah fais voir ton code avec le formulaire alors, et la recuperation du formulaire.
Messages postés
143
Date d'inscription
vendredi 5 juillet 2002
Statut
Membre
Dernière intervention
18 mars 2006
1
Salut !



Selon moi, l'erreur provient de ton driver ODBC ! Par experience, j'ai
appris a ne pas faire confiance au driver ODBC natif, fournis par
defaut dans Windows ! (mieux vaut prendre ceux des constructeurs et la
dernier release si possible !)



T'as pas de chance....c'est du microsoft pour toi



Apparement, dans ton cas, meme si au niveau de ta base access tu
effectues les declarations adequats (champs texte NON NULL), l'ODBC
doit schinter cela et retourner un code d'erreur au PHP ! (champs vide
= pas content....du coup, ca gueule !)



As-tu tester des conditions telles que :



if ( ! $texte ) {
$texte = $POST ["texte"] ;
}
else {
$texte = 'NULL' ;
}




Ou alors :

if ( $texte == "" ) {
$texte = $POST ["texte"] ;
}
else {
$texte = 'NULL' ;
}




A+



Anli
Messages postés
110
Date d'inscription
mardi 22 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

non, ça ne marche pas,
il me met encore:
Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Le champ 'breve.texte1' ne peut pas être une chaîne vide., SQL state S1000 in SQLExecDirect in
Messages postés
110
Date d'inscription
mardi 22 mars 2005
Statut
Membre
Dernière intervention
16 juin 2005

oui, tu as raison, le probleme vient d'autre part
en tout cas, je vous remercie beaucoup
@+