Bizarrerie php/sql (edition de table)
Posté : 14 avr. 2010, 15:48
Salut...
J'ai fait un site en local, avec une interface utilisateur permettant de modifier le texte de certaines sections du site, via un textarea à remplir qui quand on le valide appelle un fichier php qui effectue une requête sql pour mettre à jour la base de donnée (qui est appelée dans les sections éditables du site).
Ca marche bien, sauf avec les copiers collés, je ne sais pas pourquoi certains textes passent et d'autres pas, je prends deux extraits d'un même site au hasard ( http://www.lipsum.com/)
Quand je copie le texte ci dessous, pas de problème, c'est édité:
A tout hasard voici le code php du processus d'édition de la table:
J'ai fait un site en local, avec une interface utilisateur permettant de modifier le texte de certaines sections du site, via un textarea à remplir qui quand on le valide appelle un fichier php qui effectue une requête sql pour mettre à jour la base de donnée (qui est appelée dans les sections éditables du site).
Ca marche bien, sauf avec les copiers collés, je ne sais pas pourquoi certains textes passent et d'autres pas, je prends deux extraits d'un même site au hasard ( http://www.lipsum.com/)
Quand je copie le texte ci dessous, pas de problème, c'est édité:
Par contre quand je copie le texte suivant, ça ne passe pas:The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.
Pourtant il n'y a pas plus de texte, est-ce que vous savez quelle peut-être la raison de cette bizarrerie?There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable.
A tout hasard voici le code php du processus d'édition de la table:
<?php
// dans un premier temps regarde quel formulaire d'édition a été validé, il y en a 8 différents
if(isset($_POST["sfaire"])){
$contenu=utf8_encode($_POST["sfaire"]);
$id=1;
if(strlen($contenu) > 560){
header("location: troplong.php");
}
}
elseif(isset($_POST["meca"])){
$contenu=utf8_encode($_POST["meca"]);
$id=2;
if(strlen($contenu) > 560){
header("location: devis.php");
}
}
elseif(isset($_POST["chimie"])){
$contenu=utf8_encode($_POST["chimie"]);
$id=3;
}
elseif(isset($_POST["marketing"])){
$contenu=utf8_encode($_POST["marketing"]);
$id=4;
}
elseif(isset($_POST["col1"])){
$contenu=utf8_encode($_POST["col1"]);
$id=5;
}
elseif(isset($_POST["col2"])){
$contenu=utf8_encode($_POST["col2"]);
$id=6;
}
elseif(isset($_POST["col3"])){
$contenu=utf8_encode($_POST["col3"]);
$id=7;
}
else{
$contenu=utf8_encode($_POST["travail"]);
$id=8;
}
//-------------------------------------------------------------
//-------------------------------------------------------------
//-------------------MYSQL-------------------------------------
//Connexion
$connection=mysql_connect("localhost","root","");
//selection de la database
$selection=mysql_select_db("budget",$connection);
// utf8 pour les caractères spécifiques au français
mysql_query("SET NAMES 'utf8'");
//requête: mise à jour
$resultat=mysql_query("UPDATE miseajour SET contenu = '$contenu' WHERE id = '$id' ");
mysql_close($connection);
//-------------------------------------------------------------
//------------------REDIRECTION---------------------------------
//-------------------------------------------------------------
header("location: maj2.php"); ?>