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.