Bonjour,
J'ai crée un petit script qui permet de convertir des données entréedans une langue vers une autre. Tout fonctionne bien sous easyphp1.8 mais des que je mets la page sur mon serveur (OVH), ça ne marche plus !
La concaténation ne se fait pas et il m'affiche la valeur entrée telle quelle et modifiée (en local, ça se concatene normalement et il m'affiche que la version modifiée)
De plus, une fois sur mon serveur, il ne m'affiche le textarea qu'une fois un double clic...
Je ne comprends pas pourquoi...
J'ai aussi fait une variante en PHP/Flash et là, ça marche parfaitement !
Dans la version flash j'utilise $_HTTP_POST_VARS et dans la version uniquement PHP/HTML, $_POST. Ensuite le script est identique côté déclaration de la session...
Voilà le script pour les courageux...
<?php
// on commence la session et on recupere les fichiers utiles
session_start();
require ("mysql.inc.php");
include( "utf8convert.php" );
// si la session n'existe pas on l'initialise à vide
if(!isset($_SESSION['text'])) { $_SESSION['text'] = ""; }
// si la session existe, on initialise les variables
if (isset($_POST['text'])) {
$text = $_POST['text'];
$text2=$_POST['text'];
//on concatène le resultat du textarea au contenu déjà existant de la session
$_SESSION['text'] .= nl2br(hi(htmlspecialchars($text, ENT_NOQUOTES)));
}
// si le bouton effacer 'vide' est utilisé, on vide la session
if (isset($_POST['vide']))
{
$_SESSION['text'] = "";
}
mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
?>
// formulaire d'entrée
<form method="post" action="">
<fieldset> <legend>Tapez en minuscule<br /></legend><label><br/></label>
<input type="text" name="text" value='' style="font-family: Verdana;background-color:#000000;font-size:12px;color:#FFFFFF;" size="50"/>
<input type="submit" value="Convertir" style="font-family: Verdana;background-color:#000000;font-size:12px;color:#FFFFFF;"/></fieldset></form>
// formulaire de rendu des données
<?php
$string=utf8entities($_SESSION['text']);
echo"
<form action=\"\" method=\"post\">
<fieldset>
<legend>Convertion<br /></legend>
<label><br/></label>
<textarea style=\"background-color:#999999;overflow: hidden; font-size:12px;color:#FFFFFF;\"rows=\"5\" cols=\"60\" name=\"vide\">
$string
</textarea><input type=\"submit\" value=\"Effacer\" style=\"font-family: Verdana;background-color:#000000;font-size:12px;color:#FFFFFF;\"/></form>";
// si la session existe, on initialise les variables
if (isset($_POST['text'])) {
$text2=$_POST['text'];
$hi = hi(htmlspecialchars($text2, ENT_NOQUOTES));
$requete = "SELECT *, MATCH () AGAINST ('".addslashes($hi)."' IN BOOLEAN MODE) AS score FROM table WHERE MATCH () AGAINST ('".addslashes($hi)."' IN BOOLEAN MODE) ORDER BY score DESC LIMIT 0,10";
$execution = mysql_query( $requete, $connection );
$i=1;
while( $un_mot = mysql_fetch_array( $execution ) )
{
$string1= $un_mot["p"];
$string2= utf8entities($un_mot["p"]);
echo "<fieldset><legend>suggestion n°$i<br /></legend><label><br/></label><a href=\"index.php?file=Dico&page=convertion2&text=$string1\">$string2</a></fieldset> ";
$i++;
}
}
?>
Voila, c'est un peu long désolé