Probéme apostrophe php urgent
alen74
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
ptimushu Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
ptimushu Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bonjour,
J'ai un problème avec l'apostrophe dans uen formulaire
Quand je remplis un chanps avec un texte contenant une apostrophe et au moment de poster le message ne passe pas , si j'enleve les apostrophe le message passe et sera recu correctement
J'ai essayé
$message = str_replace("'","’",$message); ca na rien donné
je ne sais vraiment quoi faire voila lune partie du code de la page
<?php
// J'INCLUE LE FICHIE POUR SE CONNECTER
include ("connect.inc.php");
// JE CREE LE CODE POUR CREER LE LIEN PERSONNALISE
// numero du jour,numero du mois, annee, heure, minutes,secondes numero de la semaine
$codice = substr("$name",0,3);
$codice .= date(dnyHisW);
$codice .= substr("$to",0,3);
$message = str_replace("'","’",$message);
// J'INSERE LES DONNEES DANS LA BASE DE DONNEES
$inserer_data = "INSERT INTO ecards (
id,
codice,
from_name,
from_email,
message,
immagine,
date
)
VALUES
('NULL',
'".$codice."',
'".$HTTP_POST_VARS[name]."',
'".$HTTP_POST_VARS[email]."',
'".$HTTP_POST_VARS[message]."',
'".$HTTP_POST_VARS[immagine]."',
NOW())
";
Bonjour,
J'ai un problème avec l'apostrophe dans uen formulaire
Quand je remplis un chanps avec un texte contenant une apostrophe et au moment de poster le message ne passe pas , si j'enleve les apostrophe le message passe et sera recu correctement
J'ai essayé
$message = str_replace("'","’",$message); ca na rien donné
je ne sais vraiment quoi faire voila lune partie du code de la page
<?php
// J'INCLUE LE FICHIE POUR SE CONNECTER
include ("connect.inc.php");
// JE CREE LE CODE POUR CREER LE LIEN PERSONNALISE
// numero du jour,numero du mois, annee, heure, minutes,secondes numero de la semaine
$codice = substr("$name",0,3);
$codice .= date(dnyHisW);
$codice .= substr("$to",0,3);
$message = str_replace("'","’",$message);
// J'INSERE LES DONNEES DANS LA BASE DE DONNEES
$inserer_data = "INSERT INTO ecards (
id,
codice,
from_name,
from_email,
message,
immagine,
date
)
VALUES
('NULL',
'".$codice."',
'".$HTTP_POST_VARS[name]."',
'".$HTTP_POST_VARS[email]."',
'".$HTTP_POST_VARS[message]."',
'".$HTTP_POST_VARS[immagine]."',
NOW())
";
A voir également:
- Probéme apostrophe php urgent
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Apostrophe inversée - Forum Word
- Alert php ✓ - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
Bonjour
il faut TOUJOURS échapper les données non numériques avec mysql_real_escape_string pour les enregistrer dans une base de données mysql
pas besoin de str_replace ni de addslashes
...VALUES
('NULL',
'".mysql_real_escape_string($codice)."',
'".mysql_real_escape_string($HTTP_POST_VARS['name'])."',
'".mysql_real_escape_string($HTTP_POST_VARS['emai'l])."',
'".mysql_real_escape_string($HTTP_POST_VARS['message'])."',
'".mysql_real_escape_string($HTTP_POST_VARS['immagine'])."',
NOW())
";
Normalement, la variable pour récupérer les champs d'un formulaire est $_POST. $HTTP_POST_VARS est obsolète depuis la V4.1.0 de php.
Enfin, il ne faut pas oublier les apostrophes autour des indices non numériques de tableaux : $HTTP_POST_VARS['immagine'] et non pas $HTTP_POST_VARS[immagine]. Ça marche uniquement parce que ton serveur cache les messages d'erreur. Ça marcherait aussi si tu utilisais ta variable entre " " mais ce n'est pas le cas ici.
il faut TOUJOURS échapper les données non numériques avec mysql_real_escape_string pour les enregistrer dans une base de données mysql
pas besoin de str_replace ni de addslashes
...VALUES
('NULL',
'".mysql_real_escape_string($codice)."',
'".mysql_real_escape_string($HTTP_POST_VARS['name'])."',
'".mysql_real_escape_string($HTTP_POST_VARS['emai'l])."',
'".mysql_real_escape_string($HTTP_POST_VARS['message'])."',
'".mysql_real_escape_string($HTTP_POST_VARS['immagine'])."',
NOW())
";
Normalement, la variable pour récupérer les champs d'un formulaire est $_POST. $HTTP_POST_VARS est obsolète depuis la V4.1.0 de php.
Enfin, il ne faut pas oublier les apostrophes autour des indices non numériques de tableaux : $HTTP_POST_VARS['immagine'] et non pas $HTTP_POST_VARS[immagine]. Ça marche uniquement parce que ton serveur cache les messages d'erreur. Ça marcherait aussi si tu utilisais ta variable entre " " mais ce n'est pas le cas ici.
alen
Mais vraiment un grand merci ca marche super bien
Bonjour,
C'est la premiere fois que ça m'arrive.
j'ai la requete suivante :
sql="UPDATE joueur
SET
clan='".addslashes($_POST["nom"])."'
WHERE pseudo ='".$s->pseudo."'
";
Donc tout se met bien a jour dans la table joueur.
Mais quand dans une autre page je demande d'afficher la valeur de clan, mySQL me dit qu'il y a une erreur de syntaxe quand $_POST["nom"] contient un apostrophe. Ici $_POST["nom"]=L'élite
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 'élite'' at line 1
Sans addslashes ou avec stripslashes c'est le même probleme...
Donc le probleme ce n'est pas lors de l'insertion dans la BDD ou lors d'une mise a jour, c'est lorsque je demande l'affichage de clan
Je ne comprends pas d'où ça peut venir car j'ai une autre table avec exactement les mêmes criteres mais je n'ai pas de probleme.
Si quelqu'un est en mesure de m'aider.
Merci
C'est la premiere fois que ça m'arrive.
j'ai la requete suivante :
sql="UPDATE joueur
SET
clan='".addslashes($_POST["nom"])."'
WHERE pseudo ='".$s->pseudo."'
";
Donc tout se met bien a jour dans la table joueur.
Mais quand dans une autre page je demande d'afficher la valeur de clan, mySQL me dit qu'il y a une erreur de syntaxe quand $_POST["nom"] contient un apostrophe. Ici $_POST["nom"]=L'élite
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 'élite'' at line 1
Sans addslashes ou avec stripslashes c'est le même probleme...
Donc le probleme ce n'est pas lors de l'insertion dans la BDD ou lors d'une mise a jour, c'est lorsque je demande l'affichage de clan
Je ne comprends pas d'où ça peut venir car j'ai une autre table avec exactement les mêmes criteres mais je n'ai pas de probleme.
Si quelqu'un est en mesure de m'aider.
Merci