problème apostrophe euh non cest l'ID qui merde

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 : problème apostrophe euh non cest l'ID qui merde

par Stratus » 24 mai 2005, 15:10

Avec INT ca marche déjà mieux !!

par Stratus » 24 mai 2005, 14:57

Effectivement c'est ca !! Tinyint ne va pas au delà de 127 :lol:

Ca me servira de leçon. :roll:

merci pour votre aide

et désolé de vous avoir déranger pour une connerie pareil :?

par Cyrano » 24 mai 2005, 14:52

un auto-incrément en TINYINT ? intéressant: ça ne pourra pas aller au delà de 127, à la rigueur 255 si tu le mettais en unsigned:

Modifie le champ et mets le en INT, à l'extrème rigueur en SMALLINT

par zeus » 24 mai 2005, 14:52

Essaye de changer le type pour un plus grand et réassaye

par Stratus » 24 mai 2005, 14:48

Je suis nul. C'est effectivement un problème d'ID. J'ai déjà un ID 127. C'est d'ailleurs le dernier enregistrement.

Je n'avais pas vu les autres pages

Pourquoi ma base de données c'est mise à déconner à l'ID 127 ?

L'ID est en autoincrement !

La variable de l'ID est "tinyint(6)"

par zeus » 24 mai 2005, 14:48

LE champ qui doit contenir test5 n'est pas déclaré comme unique ??

Ca me fait pas penser à une erreur SQL, c'est bizarre !!!

par Stratus » 24 mai 2005, 14:36

Que veut dire

Duplicate entry '127' for key 1

mon premier réflexe a été de chercher si je n'avais pas un Id 127. Or mes Id s'arrête à 36 ??

par Stratus » 24 mai 2005, 14:34

Mince effectivement, j'ai le même problème.

Pourtant, il marchait parfaitement ce formulaire. La preuve est que j'ai 36 insertion dans la base !!

Bon, je vais chercher dans une autre direction

Merci pour votre aide

par zeus » 24 mai 2005, 14:32

Je ne veux pas remttre en cause ta parole, mais chez moi, ton code me retourne une 't\'est5'

Tu es sûr que ton addslashes n'est pas dans une boucle ou un truc de ce genre !!!

par zeus » 24 mai 2005, 14:27

Si je regarde ton erreur, je n'ai pas l'impression que l'erreur vienne de l'apostrophe, essaye avec test5 au lien de t'est5 et regarde si tu as encore l'erreur

par Stratus » 24 mai 2005, 14:24

Ben si justement et c'est là que ca commence à devenir drôle.

voici le code

Code : Tout sélectionner

echo $nom; $nom = addslashes($nom); $insertion = "INSERT INTO T_Broch(Broch_Civilite,Broch_Prenom,Broch_Nom,Broch_Adresse,Broch_Cp,Broch_Ville," ."Broch_Tel,Broch_Fax,Broch_Mobile,Broch_Email,Broch_Niveau,Broch_Dernier,Broch_Etablissement,Broch_Comment," ."Broch_Preciser,Broch_Question,Broch_Doc,Broch_Date)" ." VALUES ('$civilite','$nom','$prenom','$adresse','$cp','$ville','$tel','$fax','$mobile'," ."'$email','$niveau','$dernier','$etablissement','$comment','$preciser','$question','$doc2','$date')"; mysql_query($insertion) or die("Erreur SQL !<br>".$insertion."<br>".mysql_error());
et le résultat

t\'est5Erreur SQL !
INSERT INTO T_Broch(Broch_Civilite,Broch_Prenom,Broch_Nom,Broch_Adresse,Broch_Cp,Broch_Ville,Broch_Tel,Broch_Fax,Broch_Mobile,Broch_Email,Broch_Niveau,Broch_Dernier,Broch_Etablissement,Broch_Comment,Broch_Preciser,Broch_Question,Broch_Doc,Broch_Date) VALUES ('Mr.','t\\\'est5','e','e','e','e','','','','[email protected]','e','e','e','','','','Cycle BTS','24-05-2005')
Duplicate entry '127' for key 1

A remarquer que j'ai fait un echo de la variable pour bien montré qu'elle est bien égale à t'est5 et qu'ensuite elle est égale à t\\\'est5'[/code]

par zeus » 24 mai 2005, 14:16

Il y a quelquechose que tu as dû oublié d'enlever !!!

addslashes ne rejoute pas 3 \ toute seule !!!

Donne nous le bout de code concerné, mais en entier

par Stratus » 24 mai 2005, 14:11

Avec cette syntaxe

avec $ nom = t'est2

$nom = addslashes($nom);

Voci ce que j'obtients
Erreur SQL !
INSERT INTO T_Broch(Broch_Nom,) VALUES ('t\\\'est2')
Duplicate entry '127' for key 1

Est-ce que je fais une erreur de syntaxe

avec
$nom = stripslashes($nom);

voici ce que j'obtients

Erreur SQL !
INSERT INTO T_Broch(Broch_Nom,) VALUES ('t'est3')
You have an error in your SQL syntax near 'est3','e','12','95','d','','','','[email protected]','e','e','e','',' at line 1

Là je comprend pas du tout

par Elie » 24 mai 2005, 13:50

Et stripslashes ne resoud pas ton probleme ?

par Stratus » 24 mai 2005, 11:59

J'ai utilisé le moteur :lol: du lien aussi

j'ai utilisé $nom = htmlspecialchars($nom,ENT_QUOTES);

et ca bug toujours car l'apostrophe est toujours là. Je vais donc essayer les autres fonctions qui double l'apostrophe

---------------
Erreur SQL !
INSERT INTO T_Broch(Broch_Civilite,Broch_Prenom,Broch_Nom,Broch_Adresse,Broch_Cp,Broch
_Ville,Broch_Tel,Broch_Fax,Broch_Mobile,Broch_Email,Broch_Niveau ,
Broch_Dernier,Broch_Etablissement,Broch_Comment,Broch_Preciser,
Broch_Question,Broch_Doc,Broch_Date) VALUES ('Mr.','t\'est','r','r','r','r','','','','[email protected]
','e','e','e','','','','Cycle BTS','24-05-2005')
Duplicate entry '127' for key 1
--------------

Je vais manger, puis je lit le tuto sur PHPFrance et je test les autres fonctions

Merci pour les infos