Y que problema tienes concretamente?
En que te basas para generar esa "fecha de expiraciòn"? .. hoy + N días o algo así?
Si, .. en ese caso con mktime() podrìas hacerlo .. ejemplos tienes en la documentación oficial de esa funciòn:
www.php.net/mktime
Pero en PHP tienes la función strtotiem() para hacer cálculos (o también se pueden hacer por ese mètodo).
Pero, lo lògico si usas BBDD es que lo hagas por SQL .. Un campo tipo DATE para esas fechas y la función de SQL: CURDATE() te serviría igual).
Para el cálculo de fechas puedes usar Más SQL. Te recomiendo usar Más SQL .. tienes un manual al respecto:
http://www.mysql-hispano.org/page.php?id=31&pag=6
Si te fijas en uno de sus ejemplos .. sumar N dìas a la fecha actual serìa:
INSERT INTO ... VALUES (....,CURDATE(),DATE_ADD(CURDATE(), INTERVAL 15 DAY), .....)
Simple en SQL .. complicado y con màs código hacerlo en PHP .. Entiendo que a veces necesitas mostrar esas fechas "calculadas" .. pero en esos casos lo muestras de los datos que quedaron insertados en tus BBDD (así de paso corroboras que es lo que registrastes).
Depende de que ese campo sea tipo "DATE" (no sirve un "varchar" ... )
Un saludo,