Tom's Guide > Forum > Programmation > bizare ( copier coller longtext )

bizare ( copier coller longtext )

Forum Programmation : bizare ( copier coller longtext )

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

bonjour
j'ai un script ou il y a un champ a remplir defini dans la BDD en longtext
ca marche si je tape le texte moi meme mais si je fait un copier coller a partir d'ailleur ca ne marche plus les champs de la BDD ne sont plus remplis

est ce bien normal ???

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

ha bah d'accord mais as tu une explication ? parce que le "non" je m'en doutai un peu

Répondre à aravis@IDN

si tu nous montrais ton script d'insertion ....et le contenu que tu veux y coller ?
en passant, longtext, tu es sur d'en avoir besoin?

Répondre à okinou

non mais comme je ne savais pas combien supportai un longtext ou un medium dans le doute j'ai mis long mais je vais reduire il est evident que je n'ai pas besoind de je ne sais plus combien de million de caractere

Code :
  1. <form method="post"> 
  2.     <p>
  3.         page : <textarea name="page" rows="1" cols="10"></textarea> <br />
  4.       texte :<textarea name="texte" rows="25" cols="50"></textarea> <br />
  5.         <input type="submit" value="Envoyer" />
  6.     </p>
  7. </form>
  8. <?php
  9. mysql_connect("localhost", "root", "" );
  10. mysql_select_db("test" );
  11. if (isset($_POST['page'])AND isset($_POST['texte']))
  12. {
  13.     $page = ($_POST['page']);
  14.     $texte = nl2br($_POST['texte']);
  15. mysql_query("UPDATE evenements SET page='" . $page . "', texte='" . $texte ."' WHERE numpage='1'" );
  16. }
  17. mysql_close();
  18. ?>



voila c'est pas totalement fini mais la fonction principale fonctionne (si on copie colle pas)


Message édité par aravis@IDN le 29-10-2006 à 22:38:26
Répondre à aravis@IDN

insere tu que du texte ou des caractères spéciaux, quel type de contenu insere tu ?

mysql_query("UPDATE evenements SET page='" . $page . "', texte='" . $texte ."' WHERE numpage='1'" ); rajoute :

mysql_query("UPDATE evenements SET page='" . $page . "', texte='" . $texte ."' WHERE numpage='1'" ) OR DIE (mysql_error());


http://www.vulgarisation-informati [...] onnees.php

pour les type de données, avec un longtext, comme tu peut le voir tu as de quoi faire ;)

Répondre à okinou

j'ai capté le probleme mais je ne sais pas le resoudre

j'explique:
si je copie colle du texte (a partir de word) il n'y a pas de retour a la ligne en effet dans word les retours a la ligne se font automatiquement en fin de ligne et n'existite pas reelement. En revanche si je copie colle un texte ou il y a des entré a la fin de chaque ligne ca marche.

dans le premier cas avec le "OR DIE (mysql_error()); " cela m'indique qu'il y a une erreur a la ligne 1 (enfin ca doit etre la premiere erreur apres y 'en a une a chaque ligne normalement)

Ce qui est etrange c'est que dans si l'on tape le message directement les retour a la ligne se font automatiquement aussi alors pourquoi pas dans le cas de copier coller ??

Répondre à aravis@IDN

peut tu me dire l'erreur retourné a la ligne 1 ? c'était ca le but a vrai dire du mysql_error() et un bout du contenu que tu copie et colle via word.

Répondre à okinou

Citation :

Erreur de syntaxe près de 'Hyrule, puis jouez le chant du temps devant le magasin de masque' à la ligne 1


voici pour l'erreur

elle provient si je met ceci:

Citation :

Bourse de 500 pièces
Allez au village d'Hyrule, puis jouez le chant du temps devant le magasin de masques. Une fée apparaîtra et vous donnera une bourse de 500 pièces.
Tuer Volcania
Pour tuer facilement le boss du temple du feu, prenez la masse des titans et donnez-lui un coup sur la tête lorsqu'il sort de la lave (repérez l'endroit où il va sortir par le dégagement de fumée précédent sa sortie), puis enchaînez avec trois coups d'épée. Evitez ensuite le dragon, attendez qu'il retourne se réfugier dans la lave et répétez l'opération quelques fois. Lorsque le dragon s'envole hors de l'écran courrez pour éviter les rochers qu'il fait tomber (attention à ne pas marcher dans la lave), puis attendez qu'il redescende dans la lave et utilisez la même méthode que précédemment pour l'atteindre à sa sortie.
Réussir la chasse aux trésors



c'est un extrai des soluces de zelda :p j'ai pris le premier truc que j'avais sous la main pour faire des test

par contre si je met ceci ca marche:

Citation :

Sam 18 novembre : 1ère journée Départementale de triathlon à la Halle de Mondeville

Sam 25 novembre : « Bal du Club » à Ranville

Sam 9 décembre : 2ème journée Départementale de triathlon à la Halle de Mondeville

Dim 14 janvier : Championnat départemental de cross à Beauregard
« Cross d’Hérouville »

Dim 21 janvier : Championnat Régional de cross

Sam 10 février : Championnat départemental à la Halle de Mondeville

Dim 11 mars : Challenge Equi’Athlé tour hivernal à la Halle de Mondeville
(sous réserve)

Dim 25 mars : Finale Inter comités à la Halle de Mondeville (sur qualification)



ps: dans le premier texte il n'y a presque aucun retour de ligne alors que dans l'autre il y en a c'est la seul difference que j'ai pu trouvé entre les deux mais finalement je suis pas sur que ca soir ca le probleme


Message édité par aravis@IDN le 30-10-2006 à 13:46:21
Répondre à aravis@IDN

ca ne serait pas l'apostrophe qui poserait probleme.je connais la commande pour postgres mais pas pour mysql.
pg_escape_string () si ca peut aider
mysql_escape_string() peut etre


Message édité par coca25 le 30-10-2006 à 13:55:47
Répondre à coca25

$page = addslashes($_POST['page']);
$texte = addslashes($_POST['texte']);

vire le nl2br, c'est à l'affichage, pas l'insertion.

http://fr3.php.net/manual/fr/function.addslashes.php


Message édité par okinou le 30-10-2006 à 14:33:39
Répondre à okinou

Bien vu coca25 c'est ca il veux pas de mes apostrophes vu qu'il n'y a

c'est bon ca marche bien j'ai rajouté un "addslashes" et ca va tous seul

c'ets vrai que j'aurai pas du oublié ca c'est une regretable erreur de ma part mais c'est en ce trompant qu'on progresse ^^

merci coca25 et okinou de votre aide

EDIT : lol okinou on a posté en meme temps j'avai pas vu ton post mais j'avais trouvé tous seul ^^ merci quand meme (en meme temps non ya 20mn de diference entre nos deux post mais j'ai mis 30mn a ecrire le msg car je fait plusieur chose a la fois donc j'avai pas vu ta reponse :D bref...)

EDIT2 pourquoi veux tu virer le nl2br ca permet de mettre un <br/> donc de retourner a la ligne il faut le laisser
j'ai mis:

Code :
  1. nl2br (addslashes($_POST['texte']));


Message édité par aravis@IDN le 30-10-2006 à 14:49:34
Répondre à aravis@IDN
Tom's Guide > Forum > Programmation > bizare ( copier coller longtext )
Aller à :

Il y a 2232 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens