Hello,

Voila bientot 5 ans que je n'ai plus touché de php, je m'y remets doucement... Seulement je bute contre un problème sans doute basique, mais que j'ai beau chercher comment, je n'arrive pas à m'en tirer...

En gros, j'ai un formulaire contenant une textarea, contenant des retours chariot. Je l'envoie donc par formulaire via $_POST et la récupère de l'autre côté, ou elle est sensé être insérée dans ma base de données. Seulement, si l'utilisateur ne remplis pas tous les autres champs, j'aimerai que la textarea soit re-remplie avec son contenu précédent. J'ai fais un petit code de test, mais visiblement les retours chariot me pose problème. Voici les codes en questions :

Page du formulaire de test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?php
	$a = $_GET['a'];
?>
<body><form action="testaction.php" method="post" name="testArea">
<textarea name="resume" cols="60" rows="10" wrap="physical"></textarea>
<input name="send" type="submit" value="Envoyer" />
</form>
 
<?php echo $a; ?>
</body>
</html>
et la page d'action
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?php
 
$a = $_POST['resume'];
$a = str_replace('\r\n', '%20', nl2br($a));
echo $a;
 
 
header ('Location: entree.php?a='. $a);
 
//echo $texte;
?>
J'ai essayé plusieurs choses, placer la variable $a dans l'url sans utiliser aucune fonction, essayé d'utiliser nl2br, str_replace... J'ai un vague souvenir qu'il y avait moyen de remplacer les retours chariot par des %20 ou truc du style, mais je ne trouve plus comment.

Au final, j'ai l'erreur suivante qui sort à chaque fois :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Warning: Header may not contain more than a single header, new line detected. in /home/users3-new/p/psychee/www/conv/tests/testaction.php on line 8
Si quelqu'un à un exemple concret de comment gérer les textareas, je suis preneur, parce que je ne trouve rien de valable...