Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/03/2011, 19h53   #1
Invité de passage
 
Inscription : février 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3
Points : 0
Points : 0
Par défaut gestion des noms composés

Bonjour a tous,

J'ai réalisé une application php dans laquelle il y a un formulaire classique:

nom
prenom
etc ...

Je viens de m'appercevoir que lorsque j'insere un nom ou prénom composé dans ma base, exemple Jean Paul Du Marché, dans ma base j'ai Jean Du.

Pourriez vous m'aider svp ?

Voici ma requete d'insert :

Code php :
1
2
$requete = "Insert into clients (nom,prenom,dateentree,chambre,tv,acompte) 
values ('".$_POST['nom']."','".$_POST['prenom']."','".$_POST['dateentree']."','".$_POST['chambre']."','".$_POST['tv']."','".$_POST['caution']."')";


Merci d'avance.
bugwarrior est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 14h08   #2
Invité de passage
 
Inscription : février 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3
Points : 0
Points : 0
J'ai trouvé une solution à mon problème.

Celà venait simplement de mon code PHP qui était mal fait :

J'avais ça :
Code :
<input type=hidden name=nom value=<?php echo $_POST['nom'] ?>>
au lieu de ça :
Code :
<input type=hidden name=nom value="<?php echo $_POST['nom'] ?>">
Maintenant je rencontre un autre soucis, j'ai un problème lorsque les nom comporte de '.

Si vous aviez une solution ?

Merci d'avance.
bugwarrior est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 15h21   #3
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 245
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 245
Points : 1 502
Points : 1 502
salut, il faut que tu echappes les caracteres speciaux (quote ou autre)
php.net/manual/fr/function.addslashes.php
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 29/03/2011, 15h36   #4
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Je préciserai ceci pour ma part en complément du message précédent :
Citation:
Envoyé par doc addslashes()
Il est fortement recommandé d'utiliser les fonctions de protection spécifiques à chaque base de données (telle que mysqli_real_escape_string() pour MySQL et pg_escape_string() pour PostGreSQL), mais si la base de données que vous utilisez n'a pas de fonction spécifique, et que cette base utilise \ pour protéger les caractères spéciaux, vous pouvez utiliser cette fonction.
A noter qu'il n'est pas nécessaire de protéger les variables lors d'une requête préparée sous PDO (aucune idée en ce qui concerne mysqli cependant, et je ne connais pas plus pgsql que cela) car il le fait lui même.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 29/03/2011, 15h46   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par transgohan Voir le message
A noter qu'il n'est pas nécessaire de protéger les variables lors d'une requête préparée sous PDO (aucune idée en ce qui concerne mysqli cependant, et je ne connais pas plus pgsql que cela) car il le fait lui même.
oui mais en non préparée il faut le faire grace a PDO::quote, pour mysqli c'est pareil autant au niveau du préparé que du normale avec mysqli_real_escape_string, il faut aussi bien mettre mysql_set_charset


coté HTML il faut toujours faire un htmlspecialchars
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 29/03/2011, 15h50   #6
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 245
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 245
Points : 1 502
Points : 1 502
je tiens a dire pour ma defense : qu'avec le peut de code, c'est pas evident de savoir qu'il etait sous pdo... xD
et aussi que ca fait un moment que je suis avec pdo (requetes preparees, bindvalues, etc..) donc j'ai plus l'habitude de faire ces manipes
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 29/03/2011, 15h59   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par Doksuri Voir le message
je tiens a dire pour ma defense : qu'avec le peut de code, c'est pas evident de savoir qu'il etait sous pdo... xD
et aussi que ca fait un moment que je suis avec pdo (requetes preparees, bindvalues, etc..) donc j'ai plus l'habitude de faire ces manipes
personne n'a dit qu'il était sous PDO, transgohan a juste rappelé, que quelque soit la base de donnée on n'utilise pas addslashes, maisl a fonction qui va avec
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 29/03/2011, 20h51   #8
Membre Expert
 
Inscription : septembre 2010
Messages : 1 242
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 242
Points : 1 564
Points : 1 564
@bugwarrior

Alors c'est résolu ?
Essaies de faire un code html et php valide, et stealth35 t'a donné la solution concernant l'affichage de variables php dans ton code html :
Code :
<input type="hidden" name="nom" value="<?php echo isset($_POST['nom'])? htmlspecialchars($_POST['nom']) : ''?>" >
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h59.


 
 
 
 
Partenaires

Hébergement Web