Il faut que tu entoures ta date de guillemets.
Exemple :
<?php
mysql_query("UPDATE ".$table." SET date = '".mysql_escape_string($_POST['nouvelleDate'])."' WHERE ID='0'") or die(mysql_error());
?>
Pense aussi à utiliser mysql_escape_string pour protéger les données que tu vas envoyer à MySQL.
Ta construction de if est louche par contre.
Tu lances l'update SQL quoi qu'il arrive (je ne pense pas que ce soit voulu).
Et si tu rentres dans le else, ben $table n'existe pas, or tu l'utilises dans ta requete.
Utilise des { } pour délimiter tes if, et dans le cas du else, bloque l'éxection d'une facon ou d'une autre pour ne pas faire la requête (exit, header ou bien declarer une variable $erreur, et tu lances l'update que si $erreur n'existe pas, etc.).