La fonction header, comme son nom l'indique (header=entete), sert à envoyer des entetes HTTP, pas du contenu html. voir http://www.php.net/manual/fr/function.header.php
Pour faire en sorte que pendant le traitement de ton script, le moteur php envoie du html, il est plus "propre" de faire qq chose comme ceci :
$query = "select * from personnes where nom='$nom' ";
$result = mysql_query($query);
$nb=mysql_numrows($result);
if ($nb==0){
/*
** on va écrire du code html, donc il faut fermer la balise php
*/
?>
<form method="get" action="formulaire.php3">
....
.....
<?
/*
** le code html a été "envoyé", on peut rouvrir la balise php,
** et l'exécution du code reprendra.
*/
else {
echo"pas trop tot";
}
Mais j'insiste, la fonction header n'est pas appropriée dans ce cas, même si elle fonctionne ;)
--
Tittom (ça c'est de la signature)