Session marche en locale mais pas sur le serveur??

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Session marche en locale mais pas sur le serveur??

par inuendo » 03 févr. 2006, 11:15

En fait plus qu'un problème d'un session (enfin, ça doit être ça aussi), je me demande si la concaténation se fait bien car j'ai l'impression qu'il concatene le mot entré au mot modifiée mais pas le mot modifié au mot modifié...

Je ne vois vraiment pas ou se situe le problème ](*,)

par inuendo » 01 févr. 2006, 18:08

Merci d'avoir essayé !

C'est ça ! Seule la version modifiée devrait apparaître !


Et, si on retape une autre lettre, par exemple 'ki' on devrait obtenir koki (la version transcrite) et non pas juste ki + ki modifié. La concaténation ne se fait pas...

en fait, la version qui fonctionne comme je voudrais et la version flash :

http://www.raindropfr.com/editeur/tes.php

Elle fonctionne comme ça chez moi en local pour la version php/html.

Effectivement, avec firefox, le formulaire fonctionne comme il devrait ! (au niveau de l'affichage mais pas des resultats). Moi qui voulait me mettre un peu aux normes...

par didgar » 01 févr. 2006, 18:02

Je viens d'essayer. Chez moi, Mac OS X et firefox 1.5 le textarea apparit bien sans faire quoi que ce soit. Si je tape ko dans le champ input et que je fais convertir, apparait koこ dans le textarea.

Si j'ai bien compris, le ko ne devrait pas apparaitre dans le textarea ?

A+

Didier

par inuendo » 01 févr. 2006, 17:54

il indique /tmp pour la session.save_path...

Je me demande si ce n'est pas une erreur dans mon script...
Enfin, je vois pas pourquoi en local ça marcherait et pas sur OVH...

Hum, en fait, il se pourrait que la session soit belle et bien créée car lorsque je vais sur la page, tape un mot, valide puis vais sur un autre site puis reviens, le mot entrée réapparait...

en fait pour voir concretement le problème :

http://www.raindropfr.com/convertion2.php

Donc la lorsqu'on arrive sur la page, il n'y a que la zone d'input (normalement il devrait y avoir le textarea juste en dessous aussi), il faut faire un clique droit pour que le textarea apparaisse (?).
Ensuite, si vous tapez 'ko' dans l'input, le tableau disparaît et il faut refaire un clic pour qu'il reapparaisse avec la valeur qui sera : ko et la lettre (pour certain un carré ou point d'interrogation). Normalement le ko n'a rien à faire là... si on retape 'ko', même histoire et ça ne se concatène pas...

par didgar » 01 févr. 2006, 17:38

Pour être sûr, fais une page de test sur ton serveur avec phpinfo() et ensuite tu cherches session.save_path ! Comme ça tu sera sûr !

Enfin bon si ça fonctionne avec la version flash ...

A+

Didier

par inuendo » 01 févr. 2006, 17:32

Salut et merci pour ta réponse !

Eh bien, j'ai déjà un dossier sessions à la racine de mon site.
En revanche, le dossier qui contient cette page n'est pas à la racine... Je vais essayer de mettre la page à la racine du site pour voir mais normalement, il n'y a pas besoin ?

La session pour la version Flash marche parfaitement. Elle semble se créer sans souci...

par didgar » 01 févr. 2006, 17:24

Salut !

Peut-être voir du côté de l'hébergeur s'il n'est pas nécessaire de créer un dossier sessions à la racine du site !

A+

Didier

Session marche en locale mais pas sur le serveur??

par inuendo » 01 févr. 2006, 14:03

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&deg;$i<br /></legend><label><br/></label><a href=\"index.php?file=Dico&page=convertion2&text=$string1\">$string2</a></fieldset>&nbsp;";
$i++;
}
}
?>
Voila, c'est un peu long désolé