Necesitarás ambos, porque PHP para formatear y mostrar datos utiliza HTML.
Te pongo un ejemplo en PHP que podría capturar esos datos que he puesto antes de ejemplo, y guardarlos en una base de datos MySql. En este código guardo también la IP del usuario. Tendrías que cambiar en este fuente lo referente al nombre, usuario, contraseña y nombres de campos de tu base de datos. Para mayor seguridad, podrías incluso añadir en el IF que comprueba la clave, que compruebe también la IP, para dejar que solo se puedan meter datos desde una IP concreta. Para visualizar los datos, tendrías que hacer otro programa en PHP, que lea la base de datos, formatee y visualice esos datos, es muy sencillo.
<?
/***************************************************/
/*--- Guarda datos recibidos en base de datos MySQL -------- */
/***************************************************/
$ip_usuario = $_SERVER['REMOTE_ADDR']; // capturo IP de usuario
/*-- abro conexion mysql -- */
$con = mysql_connect("localhost","usuario","clave");
if (!$con)
{
die();
}
/*-- selecciono base datos --*/
$base_datos = mysql_select_db("mi_base_de_datos", $con);
if (!$base_datos)
{
mysql_close($con);
die();
}
/*-- añado registro a BD si clave es correcta--*/
if ($private_key == "dqRzD2KxzMUwqN250zzG") {
$sql = "INSERT INTO datos (ip, fecha, hora, temperatura, humedad) VALUES ('$ip_usuario', '$fecha', '$hora', '$temperatura', '$humedad')";
if (!mysql_query($sql,$con))
{
mysql_close($con);
die();
}
}
/*-- cierro BD -- */
mysql_close($con);
?>