J'essaie d'expliquer mon problème avec un anglais non parfait :)PHP - gros problème s'échapper « »
Quand je tente d'envoyer une chaîne de caractères (côté client) au serveur, je vois que le formulaire HTML ajouter le caractère "\" comme échappement avant certains caractères (par exemple avec ", 'et \ lui-même)
Mais c'est un problème: si l'enregistrer sur mysql, avant de filtrer la chaîne en utilisant mysql_real_escape_string(), et il considère le caractère d'échappement ajouté par html comme un "caractère ajouté par l'utilisateur", mais ce n'est pas vrai
La même chose quand, après avoir vérifié la valeur sur le côté serveur et l'ignorer pour une raison quelconque, je placez-les sur les champs. J'ai besoin d'échapper à nouveau les chars (je le fais avec addslashes() fonction php), parce que si j'ai $ var égale à bonjour "monde" comment allez-vous, sur le champ de saisie (comme je l'ai écrit ci-dessus) échoue.
Alors, comment puis-je résoudre ce problème? Je pense qu'il ya une solution :)
Partie 2
Maintenant, avec magic_quotes j'ai résolu ce problème. Maintenant, si le paramètre échoue quand je le vérifie, je vais l'enregistrer sur un var et le mettre dans le bon champ. Le problème est que.
<script type="text/javascript">
$(document).ready(function() {
$("#input1").val("<?= addslashes($name) ?>");
});
</script>
<input class="inputReg" maxlength="20" name="name" id="input1" />
ce code fonctionne !!! Je mets la valeur (troquée JQuery). Si j'écris ceci:
<input class="inputReg" maxlength="20" name="name" value="<?=addslashes($name)?>" id="input1" />
cela ne fonctionne pas. En fait, si j'écris (par exemple) la chaîne "bonjour" mon 'nom est marco "il ajoute à chaque fois 1-2-4-8 le caractère avant. Pourquoi ça? Ça ne marche pas. Une idée? Cheers
omble \ est nommé ** slash **. maintenant vous pouvez essayer de deviner ce que ** addslashes ** signifie –
je sais ce que addslashes() fait. Par exemple (avec string hello "marco") le champ de saisie devrait ressembler (directement, ou truqué JQuery) comme . Mais quand je l'envoie, il devrait supprimer la barre oblique. En fait, en utilisant Jquery, il le fait. – markzzz
le champ de saisie doit ** pas ** ressemble à '