khalad Profil : Jeune recrue | bonjour
J'ai un formulaire qui rentre un enregistrement dans une table. Tout marche, ca a bien enregistré. Ensuite je ressort ces informations pour les rentrer dans une nouvelle table. Ca, ca fonctionne sauf que dans le transfert, si dans mon texte il y a une apostrophe, tout ce qui suit après l'apostrophe n'est plus pris en compte. Je me retrouve avec des textes tronconnées dans ma Base de données...
Je précise également que lors de l'enregistrement de l'infos dans la table "fiche_tempo", tout fonctionne, quand j'affiche tout fonctionne qu'il y ait des apostrophes ou pas, mais c'est le transfert d'une table à l'autre qui pose problème.
voici la page qui extrait, update et supprime l'enregistrement dans les deux tables.
Code :
- <?php
- include("infos_connexion.php" );
- $valdef="true";
- $connexion = mysql_connect($host,$user,$password) or die ("Connection a la base de donnée impossible" );
- $db=mysql_select_db($database,$connexion) or die ("Sélection de la base de donnée impossible" );
- $sql="SELECT * FROM fiche_tempo WHERE id='$_POST[id]'";
- mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
- $ligne = mysql_fetch_array($result,MYSQL_ASSOC);
- extract($ligne);
- $pseudo=$ligne['pseudo'];
- $num=$ligne['num'];
- $avatar=$ligne['image'];
- $titre_m=$ligne['titre_m'];
- $description=$ligne['description'];
- $categorie=$ligne['categorie'];
- $titre_f=$ligne['titre_f'];
- $texte=stripSlashes($ligne['texte']);
- $origine=$ligne['origine'];
- $constructeur=$ligne['constructeur'];
- $taille=$ligne['taille'];
- $armement=$ligne['armement'];
- $equipage=$ligne['equipage'];
- $affiliation=$ligne['affiliation'];
- $systeme=$ligne['systeme'];
- $region=$ligne['region'];
- $type=$ligne['type'];
- $climat=$ligne['climat'];
- $espece=$ligne['espece'];
- $language=$ligne['language'];
- include("infos_connexion.php" );
- $valdef="true";
- $connexion = mysql_connect($host,$user,$password) or die ("Connection a la base de donnée impossible" );
- $db=mysql_select_db($database,$connexion) or die ("Sélection de la base de donnée impossible" );
- $sql="UPDATE fiche SET image='$avatar', titre_m='$titre_m', valdef='$valdef', description='$description', categorie='$categorie', titre_f='$titre_f', texte='$texte', origine='$origine', constructeur='$constructeur', taille='$taille', armement='$armement', equipage='$equipage', affiliation='$affiliation', systeme='$systeme', region='$region', type='$type', climat='$climat', espece='$espece', language='$language' WHERE id='$num'";
- mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
- $sql="DELETE FROM fiche_tempo WHERE id='$_POST[id]'";
- mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
- include("fiche_staff_formulaire_modif_ok_texte.php" );
- ?>
|
Voila, dans ce transfert la, la variable "texte" est bien updatée... mais s'il y a une apostrophe le texte est coupé, le reste n'est pas enregistré. Mais si je met un texte sans apostrophe ca marche. Alors j'ai essayé en mettant un stripSlashes() mais ca ne fait rien. Je précise que magic_quotes_runtimes est OFF, donc techniquement je devrais pas avoir besoin de stripSlashes().
Voila, j'espère que vous pourrez m'aider, bonne journée ! Message édité par khalad le 31-03-2007 à 00:56:15
|