il codice php viene elaborato lato server, mentre il javascript lato client. quindi il php viene interpretato prima del JS; il risultato dell'elaborazione dei php viene spedito al browser dell'utente ed è in questo momento che il JS viene interpretato. non prima.

quindi l'unico modo per far interagire JS e PHP facendo in modo che sia JS a passare dei valori al PHP, è quello di farlo in fasi sequenziali per distinte.

in particolare, devi avere una pagina che contiene il codice JS che vuoi eseguire; questa pagina dev'essere aperta prima della pagina contenente il PHP che deve elaborare i risultati generati dal JS.

la prima pagina (quella col codice JS) deve quindi fare un redirect alla seconda pagina (quella col PHP) passandole i risultati dell'elaborazione nella query string (i parametri dell'URL in pratica).

il codice JS che hai postato diventa così:

codice:
<script language="javascript"> 
var today=new Date(); 
var todayy=today.getYear(); 
var todayd=today.getDate(); 
var todaym=today.getMonth()+1; 

var todaystring =todayy+"-"+todaym+"-"+todayd;

window.location = 'seconda_pagina.php?data='+todaystring;
</script>
ho aggiunto la linea "window.location", che fa il redirect alla pagina php passandole il campo "data" nell'URL. dalla pagina php leggi il valore di "data" ed il gioco è fatto.