begin process at 2012 05 31 07:14:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

probleme de quote dans code php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme de quote dans code php

lundi 14 mars 2005 à 10:01:33 | probleme de quote dans code php

rukiyes

bonjour à tous,

j'ai une zone de texte à remplir dans un formulaire, mais quand je mais une quote dans ce texte le php croit que je veut fermer la quote de la requete sql, alors que non.

pour mieux comprendre:


Ajout dans l'agenda

date
heure
texte


et là, il prend en compte la quote:


09/05/200412:50c'est un teste de quote
INSERT INTO agenda (datebd, heure, texte) VALUES ( '09/05/2004', '12:50', 'c'est un teste de quote')


Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression ''c'est un teste de quote')'., SQL state 37000 in SQLExecDirect in c:\program files\easyphp1-7\www\pref28\ajout_agenda2.php on line 32
37000

 

voici mon code:


<html>
<head><title>ajout dans agenda</title></head>

<body>
<FORM NAME="formulaire">

<?php

include ("connexion.php");
 
  //récupération des valeurs des champs:
 
  $datebd  = $_POST["datebd"] ;
 
  $heure = $_POST["heure"] ;
 
  $texte = $_POST["texte"] ;
 
  echo $datebd;
 echo $heure;
 echo $texte;

  //création de la requête SQL:
  
$sql = "INSERT INTO agenda (datebd, heure, texte)
           VALUES ( '$datebd', '$heure', '$texte')"; 
       
       
 echo ( "<center>".$sql."</center>"."<br>") ;
 
   
$requete = odbc_do ($cnx,$sql) or die( odbc_error() ) ;

  if($requete)
 
    echo("<center>L'insertion a été correctement effectuée</center>") ;
  else
    echo("<center>L'insertion à échouée</center>") ;

odbc_close($cnx);


?>



merci de votre aide;




lundi 14 mars 2005 à 10:41:04 | Re : probleme de quote dans code php

morpheus262

Salut,

ben une solution peux consister a d abord modifier la cote avant de la saisir dans la base et tu effectura l operation inverse pour un affichage.
str_replace($texte,"'","%xx"); va te trnaformer ton ' en %xx (tu met ce que tu veux pour le xx mais y en a des resservé)
et tu fera l inverse pour afficher.
essaye aussi
str_replace($texte," ' "," '' ") ca peut peut etre marcher:



Sans maîtrise la puissance n'est rien et je maîtrise...  Apprend ca petit
Sur ce a tchiao bon dimanche.
lundi 14 mars 2005 à 10:46:57 | Re : probleme de quote dans code php

malalam

Administrateur CodeS-SourceS
Hello,

ben c'est a ca que servent addslashes() et stripslashes().
http://de2.php.net/manual/fr/function.addslashes.php
lundi 14 mars 2005 à 14:19:53 | Re : probleme de quote dans code php

rukiyes

salut
morpheus262, ta solution n'a pas marché
merci quand meme 


lundi 14 mars 2005 à 14:26:26 | Re : probleme de quote dans code php

malalam

Administrateur CodeS-SourceS
Re,

voui, ben raison de plus pour utiliser addslashes() puis stripslashes()

lol.

lundi 14 mars 2005 à 14:38:48 | Re : probleme de quote dans code php

rukiyes

salut

malalam,

addslashes mache bien quand je met :         $texte = $_POST["texte"] ;
                                                                  echo  addslashes ($texte) ;       

mais dans la requete sql, ça ne marche pas:   
soit quand je met ça:

$sql = "INSERT INTO agenda (datebd, heure, texte)
           VALUES ( '$datebd', '$heure', '$texte')";         
       
 echo  addslashes( "<center>".$sql."</center>"."<br>") ;


il me met ça:

INSERT INTO agenda (datebd, heure, texte) VALUES ( \'un\', \'un\', \'une\'quote\')


Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression ''une'quote')'., SQL state 37000 in SQLExecDirect in c:\program files\easyphp1-7\www\pref28\ajout_agenda2.php on line 31

soit quand je met ça :

$sql = "INSERT INTO agenda (datebd, heure, texte)
           VALUES ( '$datebd', '$heure', '$texte')"; 
       
       
 echo ( "<center>".$sql."</center>"."<br>") ;


il me met ça :
 

INSERT INTO agenda (datebd, heure, texte) VALUES ( 'un', 'un', 'une'quote')


Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression ''une'quote')'., SQL state 37000 in SQLExecDirect in c:\program files\easyphp1-7\www\pref28\ajout_agenda2.php on line 31
37000


je sais plus quoi  faire, et la doc est en anglais et j'ai du mal!!!

aidez moi svp
merci quand meme si tu trouve pas malalam
lundi 14 mars 2005 à 14:47:15 | Re : probleme de quote dans code php

ecloet

salut 

Essaye le code suivant

<?php
include ("connexion.php");
  //récupération des valeurs des champs:
  $datebd  = $_POST["datebd"] ;
  $heure = $_POST["heure"] ;
  $texte = addslashes($_POST["texte"]) ;
  echo $datebd;
  echo $heure;
  echo striplsashes($texte);
  //création de la requête SQL:
 
$sql = "INSERT INTO agenda (datebd, heure, texte)
           VALUES ( '$datebd', '$heure', '$texte')";
       
      
 echo ( "<center>".$sql."</center>"."<br>") ;
 
  
$requete = odbc_do ($cnx,$sql) or die( odbc_error() ) ;

  if($requete)
 
    echo("<center>L'insertion a été correctement effectuée</center>") ;
  else
    echo("<center>L'insertion à échouée</center>") ;

odbc_close($cnx);

lundi 14 mars 2005 à 15:09:19 | Re : probleme de quote dans code php

rukiyes

salut,
j'ai bien mit

$texte = addslashes($_POST["texte"]) ;
et
echo striplsashes($texte);

il me met bien les / au bon endroit

 mais il me met encore la meme erreur

Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression ''unm\'essage');'., SQL state 37000 in SQLExecDirect in ...

jcomprend pas, quand je met un texte sans ' ça marche pourtant!!


merci quand meme
lundi 14 mars 2005 à 15:44:57 | Re : probleme de quote dans code php

rukiyes

re,
l'erreur peu venir du sql
ptet que en sql, le ' n'est pas le caractère qui permet de ne pas interpreté ce qu'il y a dedans,
si c'est le cas, savez vous qu'elle est  ,en sql ,le caractère qui permet de ne pas interpreté les quote,
sinon si vous avez une autre idée n'hesité pas svp !!!
avez vous une


lundi 14 mars 2005 à 17:38:30 | Re : probleme de quote dans code php

malalam

Administrateur CodeS-SourceS
Le truc ce n'est que ce n'est pas mysql, apparemment. Mysql a aussi un caractere d'echappement bien a lui.
Y a une fonction php : http://de3.php.net/manual/en/function.mysql-real-escape-string.php
mysql_real_escape_string () qui permet de gerer ca.
Il n'y a pas l'air d'y avoir la meme chose avec odbc.

Mais je suis quand meme tres etonne...j'ai utilise des addslashes() des tas de fois avec des requetes sans que cela pose de probleme. D'ailleurs, c'est marque la :
http://dev.mysql.com/doc/mysql/en/string-syntax.html

lol.

Bon...tu fais donc bien $texte = addslashes($_POST['texte']);

puis tu mets juste $texte dans ta requete.
Et elle plante en s'arretant au simple quote.

Il faut que tu vois du cote de ta base quel est le caractere d'echappement. Le probleme vient peut-etre du fait qu'elle ne comprend pas \ comme un caractere d'echappement.



1 2

Cette discussion est classée dans : texte, sql, heure, quote, datebd


Répondre à ce message

Sujets en rapport avec ce message

Requète sql à heure précise [ par Neoziro ] Bonjour, voila j'aimerais envoyer une requète sql à une heure précise, mais je ne sais pas commment faire, je ne sais pas si en le mettant dans une si inserer des données dans une base access [ par rukiyes ] bonjour, voilà, j'ai un probleme pour inserer des donnée dans une base access.Et le pire c'est que je ne sais pas d'où vient le probleme, je ne compre Du TXT au SQL ( en passant par le PHP ) [ par levieuxjah ] Bonjour à tous , Voila je suis un peu bloqué niveau PHP pour ce que je veux faire , j'ai beau chercher des explications ou des tutoriaux mais rien ne Fichier texte vers BDD SQL [ par vl92 ] Bonjour,J'ai un fichier texte (.txt) avec une liste de plus de 300 mots, sans balise, avec un mot par ligne.Je voudrais insérer chacun des 300 mots da Compteur de visite [ par Jay77270 ] Bonjour,Voila je débute dans le script php mysql et j'aimerai vivement intégré un compteur de visite ah mon site j'ai un code php mais en l'executant probleme de quote imbrique [ par fuktop13 ] bonjour j ai un probleme pour les quotes imbriques ,lors d une citation simple po de probleme mais lors d une citation d un texte deja citer , sa ne f reconnaissance, dans un texte, de mots pré-enregistré dans une base SQL [ par Tristan75 ] Bonjour,Je suis débutant en PHP et j'ai un petit problème.Je souhaite afficher un texte, à la manière d'un livre d'or (tous les textes sont stocké dan configuration d'un champs texte de formulaire pour conversion du texte en format heure [ par RomantikA ] Bonjour, je ne sais pas trop si c'est le bon endroit pour exposer mon probème, mais étant débutant j'ai penssé que je trouverais peut être ici l'aide Automatisation d'une insertion dans un fichier texte en fontion de l'heure [ par sly456328971 ] Bonjour, Dans un fichier texte, j'aimerais automatiser l'insertion d'une ligne tous les jours a 13h00 par exemple. Je sais qu'en php on peut récupére afficher un texte a une heure precise [ par ikiu91 ] Bonjour, je souhaiterais afficher un texte dans une page de mon site entre 16h00 et 16h45, comment est ce possible merci d'avance


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,279 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales