"c'est" ce verbe avec l'accent ne fonctionne pas d

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 : "c'est" ce verbe avec l'accent ne fonctionne pas d

par Truc » 04 déc. 2006, 21:00

J'aurai bien aimé utiliser :
mysql_real_escape_string();
mais je n'ai compris où l'écrire malgré mes recherches dans le manuel de référence.
suffit de passer la variable POST en paramètre de la fonction :
$titre = mysql_real_escape_string($_POST['titre']);
tu peux donc faire :
$titre = (isset ($_POST['titre']))  ? mysql_real_escape_string($_POST['titre']) : "";
Pour la syntaxe regarde CECI

par Invité » 04 déc. 2006, 19:42

Bonsoir à tous,

J'ai réglé mon problème de la façon suivante :
<?php
 require('config.php'); 
/* on récupére les formulaire */
if(isset ($_POST['titre']))  $titre=addslashes($_POST['titre']);
else       $titre=""; 
 
if(isset ($_POST['article']))  $article=addslashes($_POST['article']);
else       $article="";
 
if(isset ($_POST['date']))  $date=addslashes($_POST['date']);
else       $date="";
J'aurai bien aimé utiliser :
mysql_real_escape_string();
mais je n'ai compris où l'écrire malgré mes recherches dans le manuel de référence.

Encore merci à tous de l'aide et du temps que vous passez pour nous amateurs et débutants.

par Ajoloca » 04 déc. 2006, 00:55

ben eux pourquoi? t'aime pas la raclette...?
faut persévérer!!!
montre nous ce que t'a essayer et dis nous ce qui ne marhce pas!!
Il a marqué le sujet comme résolu, je suppose que c'est réglé.

par jojolapine » 04 déc. 2006, 00:49

ben eux pourquoi? t'aime pas la raclette...?
faut persévérer!!!
montre nous ce que t'a essayer et dis nous ce qui ne marhce pas!!

par alaingpl » 04 déc. 2006, 00:19

euh... tout compte fait je vais prendre une fondue...


Merci à tous de l'aide.

par DocType » 03 déc. 2006, 20:47

+1 à mysql_real_escape_string() , à mettre sur chaque variable php qui correspond avec la requête sql :wink:

par Ajoloca » 03 déc. 2006, 19:46

Bonsoir,

Le caractère apostrophe est un caractère "délimiteur de chaine" tout comme le guillemet.

Pour pouvoir les insérer dans une requête il faut les "protéger".
Tu as plusieurs façons de faire :

- Dobler le caractère 'c''est un message';
- Utiliser l'antislash 'c\'est un message';
- Changer le délimiteur "c'est un message";
- Utiliser les fonctions fournies par PHP comme
- mysql_real_escape_string();
- addslashes();

par jojolapine » 03 déc. 2006, 19:38

Euh... essaye d'utiliser un autre verbe, du style:
"ce soir il y a de la raclette au restaurant"


:langue:
Sinon plus sérieusement, tu dois "échapper" tes apostrophes, qu'elle viennent du verbe être ou d'ailleurs...
Pour ce faire, tu peux utiliser addslashes, ou mieux:
mysql_real_escape_string, qui protègera également les commentaires, et d'autres trucs que je ne connais pas... mais tout cela en fonction de base de donnée, donc toujours pile juste :wink:

par Invité » 03 déc. 2006, 19:35

splendide. Soleil, neige et farniente. Les vacances se passent très bien et les enfants sont ravis. Ce soir, c\'est raclette au

"c'est" ce verbe avec l'accent ne fonctionne pas d

par alaingpl » 03 déc. 2006, 19:32

Bonjour à tous,

Lorsque je tape un message dans mon formulaire et que j'utilise le verbe "c'est" j'ai le message d'erreur suivant :

Erreur SQL !INSERT INTO table_actus (id, titre, article, dater) VALUES('', '1ère journée','Il y a de la neige est le temps est splendide. Soleil, neige et farniente. Les vacances se passent très bien et les enfants sont ravis. Ce soir, c'est raclette au restaurant.','mardi 9 janvier')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'est raclette au restaurant.','mardi 9 janvier')' at line 2

Comment dois je faire pour que cela n'arive pas ?

Ci - dessous le fichier qui traite le formulaire .
<?php
 require('config.php'); 
/* on récupére les formulaire */
if(isset ($_POST['titre']))  $titre=$_POST['titre'];
else       $titre=""; 
 
if(isset ($_POST['article']))  $article=$_POST['article'];
else       $article="";
 
if(isset ($_POST['date']))  $date=$_POST['date'];
else       $date="";
 
 /* on vérifie s'ils sont vide */
 {
if (empty($titre) OR empty($article) OR empty($date))
 {
 echo ' tous les champs doivent être renseignés ';
 }
else 
 {/* connection */
mysql_connect($localhost,$login,$mot) OR die("Erreur !<br/ >" .mysql_error());  
mysql_select_db($dbName) OR die("Erreur !<br />" .mysql_error()); 

/* on insére dans la table, puis les champs les variables */
$sql = "INSERT INTO table_actus (id, titre, article, dater)
VALUES('', '$titre','$article','$date')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
{
echo "<p align=\"center\"> <a href=\"javascript:history.go(-1);\">Entrez un nouvel article</a></p>";
}
mysql_close();// on ferme la connexion
}
}
?>
Merci d'avance de m'aider.