dataobjects

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : dataobjects

par Jules Petibidon » 08 janv. 2008, 15:38

** se sent con tout à coup

** hésite entre aller se cacher et se jeter dans un puits

:gla:

par Berzemus » 08 janv. 2008, 15:32

un accent grave je dirais.. (petit lien)
accent grave (avec chasse) ` ` 96 (0x60) 96 (0x60) 96 (0x60) 96 (0x60) U+0060
Il s'agit bien du caractère 96 en ascii.

par Jules Petibidon » 08 janv. 2008, 15:27

hello,

desc est un mot réservé de mysql. du coup pour mysql, ta requete veut plus dire grand chose...

tu as le choix, soit tu change le nom du champ (meilleure solution) ou sinon tu entoure le nom de champ avec des ` (<-- que je sais pas comment ca s'appelle :oops: )

dans ton cas en fait, je suis pas sur que tu ais vraiment le choix :)

bon courage !

par Invité » 08 janv. 2008, 15:01

voici l'erreur complète. Si je saisis 'test' dans mon input text nommé "desc_1", dont la valeur doit aller dans le champ "desc" de ma table, je reçois l'erreur:
INSERT INTO f_fields (desc ) VALUES ('test' ) [nativecode=1064 ** Erreur de syntaxe près de 'desc ) VALUES ('test' )' à la ligne 1]

par Invité » 08 janv. 2008, 14:54

le debug mode me renvoie:
1064 ** Erreur de syntaxe près de 'desc , nomvar , oblig , ctrl , published ) VALUES ( 1 , 'text' ,' à la ligne 1
Il y a donc bien une erreur sur le input text nommé desc, mais je ne vois pas ce que ça peut être.
J'ai pensé à des guillemets qui peuvent générer ce type d'erreur, mais j'ai le même problème quand le input text ne continent qu'1 mot, sans caractères spéciaux ou de ponctuation.

dataobjects

par Invité » 08 janv. 2008, 14:37

Bonjour à tous,
j'utilise pear dataobjects pour insérer des infos dans une bdd à partir d'un formulaire ordinaire.
Le formulaire:
 <form name="addText" action="admin.php?page=addfields" id="addText" method="post">
	<input type="text" id="desc_1" name="desc_1"  class="input0" />	</td>
	<input type="hidden" id="maxid" name="maxid" value="<?php echo $maxid; ?>" />	</td>
	<input type="hidden" id="idtheme" name="idtheme" value="<?php echo $themes->id; ?>" />	</td>
	<input type="hidden" id="idsection" name="idsection" value="<?php echo $sections->id; ?>" />	</td>
	<input type="hidden" id="typeChamp" name="typeChamp" value="text" />	</td>
</form>

Et le code d'insertion dans la bdd:
$fields->id        = $maxid;
$fields->sectionid = $_REQUEST['idsection']; 
$fields->type      = $_REQUEST['typeChamp'];
$fields->desc      = $_REQUEST['desc_1']; 
Mon problème: toutes les valeurs venant d'un input hidden sont enregistrées, pas les valeurs venant du input text appelé "desc_1".
J'ai également testé les valeurs venant de select, checkbox et radio: pas de pb, ça marche.
Il n'y a que les input text dont la valeur n'est pas enregistrée.
Pourtant, un var_dump($_REQUEST) me montre que toutes les valeurs sont bien envoyées à la page d'enregistrement, y compris les valeurs de champ texte.

Voyez vous d'ou ça pourrait venir?
Merci pour vos réponses.