8792 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai été surpris de constater que le premier retour de ligne dans un
textarea n'est pas envoyé (il est supprimé), cela veut dire que

<textarea>hello</textarea>


est l'équivalent de

<textarea>
hello</textarea>


en tout cas, les données postées sont les mêmes !

voici mon programme de test en php

<?
	function showAscII($data) {
		 $chars = array();
		 for($i=0;$i<strlen($data);$i++) {
			 $chars[] = ord($data[$i]);
		 }
		 echo implode(',', $chars)."<br>";
	}

	function buildTextarea($name, $value) {
		return "<textarea name='$name' rows='5' cols='10'>$value</textarea>";
	}
	
	if($_SERVER['REQUEST_METHOD']=='POST') {
		showAscII($_REQUEST['test1']);
		showAscII($_REQUEST['test2']);
		showAscII($_REQUEST['test3']);
		showAscII($_REQUEST['test4']);
		showAscII($_REQUEST['test5']);
		exit;
	}
?>
<form action='test3.php' method="post">
<? echo buildTextarea('test1', "abc"); ?>
<? echo buildTextarea('test2', "\ndef"); ?>
<? echo buildTextarea('test3', "\r\nghi"); ?>
<? echo buildTextarea('test4', "\n\nklm"); ?>
<? echo buildTextarea('test5', "\r\n\r\nnop"); ?>
  <input type='submit' />
</form>


voici mon résultat,

97,98,99
100,101,102
103,104,105
13,10,107,108,109
13,10,110,111,112


ça a l'air de fonctionner sur IE, FF, Safari, MAC et PC

Mon problème, c'est que je ne trouve pas d'indication claire dans une
RFC qui stipule que cela doit être interprêté ainsi. Je m'inquiête que
cela soit "au bon vouloir" du navigateur.

qqn peut confirmer que la suppression du premier retour de ligne
est standard ?