cs_christobal
Messages postés208Date d'inscriptionjeudi 3 octobre 2002StatutMembreDernière intervention31 mars 2011
-
15 févr. 2007 à 21:39
cs_christobal
Messages postés208Date d'inscriptionjeudi 3 octobre 2002StatutMembreDernière intervention31 mars 2011
-
16 févr. 2007 à 20:13
Bonjour, je cherche à enregistrer dans ma DB la valeur de l'input ci dessous dans deux champs de ma table :
Le premiere enregistrement se fait normalement dans le champ "titre"
Tandi que le deuxieme devrait se faire dans le champ "url" apres avoir été passé à la moulinette grace à la fonction suivante :
<?php
function no_accent($str_accent) {
$pattern = Array("/é/", "/è/", "/ê/", "/ç/", "/à/", "/â/", "/î/", "/ï/", "/ù/", "/ô/", "/ /" , "/ /", "/./");
$rep_pat = Array("e", "e", "e", "c", "a", "a", "i", "i", "u", "o", "-", "-", "");
$str_noacc = preg_replace($pattern, $rep_pat, $str_accent);
return $str_noacc;
}
?>
L'enregistrement de la valeur dans le champ 'titre' ne me posse pas de probleme mais c'est le passage a la moulinette et l'envoie de la valeur modifier a la basse qui me posse un gros pb.
Pour info j'enregistre la valeur grace à :
GetSQLValueString($_POST['titre'], "text"),
Merci de votre aide
l'objectif et de générer des urls qui posséde le même nom que l'article (comme phpcs)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 15 févr. 2007 à 21:59
Hello,
déjà, pourquoi un preg_replace () ? str_replace suffirait amplement.
Ensuite, cette fonction : GetSQLValueString (), elle fait quoi??
Et enfin...quel est le problème. TU nous dis que tu as un problème...ok...mais pas lequel ?
cs_christobal
Messages postés208Date d'inscriptionjeudi 3 octobre 2002StatutMembreDernière intervention31 mars 2011 15 févr. 2007 à 22:17
Bonsoir, la fonction GetSQLValueString($_POST['titre'], "text"), récupere la valeur de l'input du même nom pour l'enregistrement dans le champ du même nom.
Ensuite mon probleme est qu'il faudrait que la valeur saisie dans cette input soit aussi converti avec la fonction "no_accent" puis envoyé dans le champs "url" de ma table.
je ne sais pas comment enregistre une variable qui ne se trouva pas dans un input ou textarea ou autre objet de formulaire et je n'arrive pas a appliquer la fonction no_accent" a la valeur de l'input.
Du coups comment récupérer le résultat de la moulinette dans la fonction (SQLValueString($_POST['url'], "text") ?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 15 févr. 2007 à 22:33
Si tu as un $_POST['titre'], c'est que ton formulaire a été saisi.
Tu veux enregistrer ça dans un champ, et le résultat de l'application de ta moulinette sur ce même post, dans un autre champ, c'est ça ?
Si c'est ça, je ne pige pas ton problème, du tout.
Ou j'ai peur de le piger... : tu ne passes QUE par
GetSQLValueString () pour enregistrer tes données en base ?
Bref :
$_POST['url'] =
no_accent ($_POST['titre']);
GetSQLValueString(
$_POST['url']
, "text");
?
Même si j'aimerais bien voir le code de
GetSQLValueString () parce que ça m'intrigue comme fonctionnement...
Cependant j'ai une erreur que je n'avais jamais vue :
Warning: Missing argument 2 for getsqlvaluestring() in /aaaa/bbbb/cccc/dddd/eeee/mapage.php on line 46 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 ')' at line 1
La ligne 46 est celle de la déclaration de la fonction
Vous n’avez pas trouvé la réponse que vous recherchez ?
juki_webmaster
Messages postés947Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 5 avril 20083 15 févr. 2007 à 23:08
Salut,
Ta methode pour remplacer les accents est totalement inutilisable, convertie ta chaine avec htmlentities() , fait une array qui remplace les À en A etc.. (tu en as pour 30minutes), un str_replace(), html_entity_decode().
http://www.commentcamarche.net/html/htmlcarac.php3
cs_christobal
Messages postés208Date d'inscriptionjeudi 3 octobre 2002StatutMembreDernière intervention31 mars 2011 15 févr. 2007 à 23:30
Trés franchement je n'y comprand plus rien, je ne sais quoi faire .
Ca ne marche tj pas et j'ai testé plusieur varriante.
J'ai tj cette erreur :
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 ')' at line 1
Je ne sais même pas a quoi correspond cette ligne.
et voici la ligne modifier :
GetSQLValueString($_POST['url'], no_accent($_POST['titre'], "text")));
cs_christobal
Messages postés208Date d'inscriptionjeudi 3 octobre 2002StatutMembreDernière intervention31 mars 2011 16 févr. 2007 à 09:35
Mais si j'utilise seulement
GetSQLValueString (no_accent($_POST['titre']), "text");
cela va insére dans le champs "titre" de la base le titre formaté avec la fonction no_accent.
Alors que l'objectif et que dans le champ "titre" il soit inséré normalement (sans traitement) et que dans le champ "url" il soit inséré apres le traitement de la fonction no_accent.
cs_christobal
Messages postés208Date d'inscriptionjeudi 3 octobre 2002StatutMembreDernière intervention31 mars 2011 16 févr. 2007 à 17:19
j'ai mis un point de débug et voici le résultat de la requete
<dir>
query:INSERT INTO article (id, day, titre, aff_article, article, menu, s_menu, url) VALUES (0, NULL, 'cette été je part', 1, 'Ecrivez votre article.', '1', '1', )
</dir>
donc on voie bien qu'il n'y a pas de valeur dans la variable url.
je ne sais pas si c'est ma fonction (no_accent) de réécriture d'une chaine ou si c'est la facon dont est codé GetSQLValueString($_POST['url'], no_accent($_POST['titre'], "text")) mais rien ne passe dedant.
cs_christobal
Messages postés208Date d'inscriptionjeudi 3 octobre 2002StatutMembreDernière intervention31 mars 2011 16 févr. 2007 à 20:13
En faite c'est bien ma fonction qui est a chier.
j'en fait une autre mais j'aimerais savoir s'il existe de fonction tel que stripslashes pour supprimer les simple ou double quotes