Bonjour à tous,
Dès le premier affichage de la page web dont le code source (réduit à sa plus simple expression) suit, le champ QAFld de type textarea apparemment vide contient sept caractères de tabulation (X'09') intempestifs (révélés par simple copy+paste de ceux-ci dans n'importe quel éditeur permettant l'affichage en hexa-décimal).
Merci à celui qui m'aidera à trouver l'erreur.
Jo VD.
Modifié par JoVD (09 Feb 2010 - 19:45)
Dès le premier affichage de la page web dont le code source (réduit à sa plus simple expression) suit, le champ QAFld de type textarea apparemment vide contient sept caractères de tabulation (X'09') intempestifs (révélés par simple copy+paste de ceux-ci dans n'importe quel éditeur permettant l'affichage en hexa-décimal).
Merci à celui qui m'aidera à trouver l'erreur.
Jo VD.
<?PHP
// QAFld, sbmBtnTxt :
if(!isset($_POST['QAFld'])) $_POST['QAFld'] = ""; else $_POST['QAFld'] = substr($_POST['QAFld'], 0, 256);
print strlen($_POST['QAFld']); // Temporaire (déboggage).
if(!isset($_POST['sbmBtnTxt'])) $_POST['sbmBtnTxt'] = "Soumettre";
$msg = "";
if ($_POST['sbmBtnTxt'] == 'Soumettre') {
if ($_POST['QAFld'] != "") {
if (!mysql_connect('localhost', 'root', 'mysql'))
$msg = "Impossible de se connecter à la base de données foo_db !" . mysql_error();
else if (!mysql_select_db('foo_db')) {
mysql_close();
$msg = "Impossible de sélectionner la base de données foo_db ! " . mysql_error();
}
else {
mysql_query("SET NAMES UTF8");
$sql = "INSERT INTO qae_list VALUES (now(),0,NULL,NULL,'".$_POST['QAFld']."','','')";
$result = mysql_query($sql);
if (!$result) $msg = "Erreur SQL (" . $sql . "): " . mysql_error();
else {
$_POST['QAFld'] = 'Cette question a été enregistrée sous la date de création '.date("Y-m-d H:i:s").'.';
$_POST['sbmBtnTxt'] = "Nouvelle question";
}
mysql_close(); // mysql_free_result($result);
}
}
}
else { // if ($_POST['sbmBtnTxt'] == 'Nouvelle question'
$_POST['QAFld'] = "" ;
$_POST['sbmBtnTxt'] = "Soumettre";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>FOO</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<style type="text/css">
.center{text-align: center;}
.red{color: red;}
.right{text-align: right;}
</style>
</head>
<body>
<p><b>Proposition de nouvelle question: </b> </p>
<p>La présente page vous permet de poser une question longue de 256 caractères au maximum.</p> <br />
<form action="Textarea_test.php" method="post" class="center">
<textarea name="QAFld" id="QAFld" rows="4" cols="80" onchange="this.value = this.value.slice(0, 256)"
onKeyUp="remLen.value = 256 - this.value.length; this.value = this.value.slice(0, 256)" />
<?php print $_POST['QAFld']; ?>
</textarea> <br /><br />
<input readonly type="text" name="remLen" size="3" maxlength="2" value="256" class="right" /> caractère(s) restant(s).<br /><br />
<input type="submit" name="sbmBtnTxt" id="sbmBtnTxt" value="<?php print $_POST['sbmBtnTxt']; ?>" />
<input type="button" name="PrevPgBtn" value="Page précédente" onclick="history.back();" /><br />
</form>
<p class="red"><?php echo $msg; ?></p>
</body>
</html>
Modifié par JoVD (09 Feb 2010 - 19:45)