Se quelle variabili risultano undefined potrebbe dipendere da Javascript o da HTML o da PHP.. impossibile capire dove sta il problema senza vedere l'intero contesto.

Quello che posso consigliarti è di provare a fare qualche verifica andando a ritroso per verificare dove nasce il problema.

Tieni presente che l'attributo data- è HTML5, quindi bisogna verificare che tu possa utilizzarlo nel tuo progetto.

Il primo punto, quindi, è: Stai usando HTML5?

Se la risposta è no, allora bisogna cambiare metodo.

Se la risposta è sì, allora vai avanti con le verifiche lato client. Sulla web console (F12), del tuo browser, verifica intanto che non ci siano errori sintattici sul codice JavaScript o altre segnalazioni particolari.

Se non ci sono errori, prova a mettere qualche alert (o console.log, come meglio preferisci), qua e là, per capire fin dove le variabili risultano undefined.

Se sono undefined fin dall'inizio, allora il problema passa a PHP.