Page 1 sur 1

Ajouter les variables dans un formulaire

Posté : 29 janv. 2006, 17:39
par inuendo
Bonjour,

ça va faire 6H que je cherche et je ne trouve rien qui réponde à ma question ou du moins, rien qui soit à ma portée...

Voilà ce que je voudrais faire :

J'ai un textaera dans lequel on rentre des lettres, on appuit sur l'envoi et en dessous dans un autre textaera, on recupère les lettres tapées modifiées.

Je voudrais que les lettres se rajoutent les unes aux autres dans le deuxième textaera mais, des qu'on appui sur envoi, cela retourne que la valeur entrée à ce moment...

Je ne sais pas comment faire et je ne trouve aucun tuto...

Voilà le script simplifié à l'essentiel :
<?php  
session_start();
include( "utf8convert.php" );
if (isset($_POST['text'])) 
{
$text = $_POST['text']; 
$_SESSION['text'] = nl2br(romaji(htmlspecialchars($text, ENT_NOQUOTES)));
}
mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
?>
 <form action="" method="post">

      <textarea rows="5" cols="80" name="text"></textarea>

<input type="submit" value="convertir" /></form>
<?php
$string=$_SESSION['text'];
echo "<textarea rows=\"5\" cols=\"80\" name=\"\">$string</textarea>";
?>
Donc je voudrais que dans l'echo, il me renvoie toutes les lettres tapées puis validées et pas seulemenent celles validées à cet instant... Je ne vois pas comment faire...
Merci à celui ou celle qui pourra m'aiguiller !

Posté : 29 janv. 2006, 18:39
par inuendo
En changeant ça :

Code : Tout sélectionner

<form action="" method="post">
par ça :

Code : Tout sélectionner

<form action="index.php?file=Dico&page=convertion2&string=<?php echo $text;?>" method="post">
Il y a du mieux car il me retourne le mot tapé précédemment mais, je ne vois toujours pas comment avoir dans mon textaera final :

mot valide1 + mot valide2+ mot valide3...

En fait, j'utilise peut-être pas la bonne méthode?

Posté : 29 janv. 2006, 18:55
par Truc
Je sais pas si j'ai compris ce que tu veux vraiment mais essaie ça:
if(!isset($_SESSION['text'])) // si la session n'existe pas on l'initialise à vide
   $_SESSION['text'] = "";

if (isset($_POST['text']))
{
$text = $_POST['text'];
$_SESSION['text'] .= nl2br(romaji(htmlspecialchars($text, ENT_NOQUOTES))); //avec .= on concatène le resultat du textarea au contenu déjà existant de la session
} 

Posté : 29 janv. 2006, 19:07
par inuendo
ARGH ! C EST CA !!!!!!!!!!

Merci !!
:pouce:


Mais j'avais jamais vu ça ! Le coup de la concaténation .= ! Ca peut se trouver ou ce genre d'infos ??

Je suis entre la joie et l'envie d'aller me defenestrer pour avoir chercher pendant toute la journée!!

Sinon, comme je ne voyais pas comment faire, j'ai essayé avec des sessions mais ça ne sert peut-être à rien en fait? Du moins, si je vais sur une page du site et que je reviens, le texte est toujours présent... Ca peut-être très utile (genre on tape pendant 20min puis fausse manip, on retourne en arrière sur la page... on revient et hoho, plus RIEN ! )
mais comment faire pour que la personne efface définitevement le contenu ? Genre un bouton efface qui appelle la destruction de la session ??

Posté : 29 janv. 2006, 19:15
par Truc
Mais j'avais jamais vu ça ! Le coup de la concaténation .= ! Ca peut se trouver ou ce genre d'infos ??
quelques explications ICI
mais comment faire pour que la personne efface définitevement le contenu ? Genre un bouton efface qui appelle la destruction de la session ??
suffit d'affecter du vide a la session:
$_SESSION['text'] = "";

Posté : 29 janv. 2006, 20:03
par inuendo
Merci beaucoup Truc !

J'ai essayé de vider la session dans un lien mais il m'applique ça à l'autre lien... Je vais regarder de plus près.

J'aurai peut-être d'autres questions sur ce petit code mais on peut dire que c'est résolu pour l'instant !

Merci !

Posté : 29 janv. 2006, 20:14
par Truc
dans ce cas n'oublis pas le [Résolu] :wink:

Posté : 29 janv. 2006, 20:16
par inuendo
:merci: fait!