Por favor si quieren modificarlo y mejoraarlo haganló, yo lo hice a mi manera y seguramente que se puede mejorar 100%

Atencion: para usar este script se debe programar el CronJobs del control panel de tu cuenta. con la siguiente linea:
php -q /home/USUARIO/public_html/mail.php
( Donde dice usuario cambialo por tu usuario, si no conoces esta ruta lo que puedes hacer para conocerla es hacer un archivo php con un error asi te devuelve el error con la ruta

Programar el cronjobs para que se ejecute una vez por día.
Dejo aqui los codigos:
ARCHIVO ADMIN.PHP 1° parte
Código PHP:
<?php
include("conexion.php");
####### consulta general para ver cuantos clientes tenemos########
$c_hosting=mysql_query("select * from hosting",$conexion);
############# consulta editar clientes ya existentes###################
$id=$_REQUEST['id'];
$c_editar=mysql_query("select * from hosting where id='$id'",$conexion);
$r_c_editar=mysql_fetch_array($c_editar);
#############BORRAR CLIENTE####################
if (isset($_GET['borrar'])){
$confirmado=$_GET['borrar'];
?>
<p align="center">Está seguro que quiere borrar este cliente?<br/>
<a href="admin.php?confirmado=<?php echo $confirmado; ?>">SI</a> -
<a href="javascript:history.go(-1)">NO</a> </p>
<?php
exit;
}
if (isset($_GET['confirmado'])){
$borrar_cliente=mysql_query("delete from hosting where id ='".$_GET['confirmado']."' ",$conexion);
echo '<p align="center">El cliente ha sido borrado con exito... <br /><br /><a href="admin.php>VOLVER</a></p>';
exit;
}
###############################################
##### die mes y año actuales############################################
$hoy=date("d");
$mes_hoy=date("m");
$ano_hoy=date("Y");
############## si recibimos la variable $_POST['ingresarcliente'] del boton del formulario
/* procedemos a actualizar o ingresar nuevo cliente
si recibimos la variable del campo del formulario, llamada $_POST['update'] actualizamos un cliente
ya existente , sinó ingresamosuno nuevo */
if(isset($_POST['ingresarcliente'])){
#####recuperamos las variables#########
$usuario=$_POST['usuario'];
$dominio=$_POST['dominio'];
$ingreso_dia=$_POST['ingreso_dia'];
$ingreso_mes=$_POST['ingreso_mes'];
$ingreso_ano=$_POST['ingreso_ano'];
$mail=$_POST['mail'];
$observaciones=$_POST['observaciones'];
$importe=$_POST['importe'];
$periodo=$_POST['periodo'];
$anual_enviado=$_POST['anual_enviado'];
if(isset($_POST['update'])&&($_POST['update']!="")){
###### actualizamos/editamos cliente, recibimos el id del cliente mediante $_POST['update'] ###
$c_editar_datos=mysql_query("update hosting set usuario='$usuario',
dominio='$dominio',
ingreso_dia='$ingreso_dia',
ingreso_mes='$ingreso_mes',
ingreso_ano='$ingreso_ano',
mail='$mail',
observaciones='$observaciones',
importe='$importe',
periodo='$periodo'
where id='".$_POST['update']."'",$conexion);
}else{
#####insertamos nuevo cliente##########
$c_nuevo_cliente=mysql_query("insert into hosting (
usuario,
dominio,
ingreso_dia,
ingreso_mes,
ingreso_ano,
mail,
observaciones,
importe,
periodo,
anual_enviado
)values(
'$usuario',
'$dominio',
'$ingreso_dia',
'$ingreso_mes',
'$ingreso_ano',
'$mail',
'$observaciones',
'$importe',
'$periodo',
'$anual_enviado'
)",$conexion)or die(mysql_error());
}
######### volvemos a admin.php para ver los datos actualizados
header("Location: admin.php");
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Gestion de hosting - Básico</title>
<style type="text/css">
<!--
.fondotabla {
background-color: #CCC;
}
.colorgris {
color: #333;
padding-left: 5px;
}
body,td,th {
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
}
.rojo {
color: #900;
padding-left: 5px;
font-weight: bold;
}
.margenderecha {
padding-right: 5px;
}
.centro {
text-align: center;
}
.tamano9 {
font-size: 9px;
}
-->
</style>
</head>
<body>
<h2 class="centro">Gestion de Hosting - Básico</h2>
<p><a href="admin.php">inicio</a></p>
<table width="900" border="0" align="center" cellpadding="0" cellspacing="1" class="fondotabla">
<tr>
<td height="35" align="left" bgcolor="#E2E2E2" class="colorgris"><strong>Clientes actuales</strong></td>
<td align="left" bgcolor="#E2E2E2"><span class="colorgris"><strong>Fecha de ingreso</strong></span></td>
<td align="left" bgcolor="#E2E2E2" class="colorgris"><strong>Periodo</strong></td>
<td align="left" bgcolor="#E2E2E2" class="colorgris"><strong>Observaciones</strong></td>
<td align="left" bgcolor="#E2E2E2" class="colorgris"><strong>Editar</strong></td>
</tr>
<?php
## mostramos los datos de los clientes en este while
while($r_c_hosting=mysql_fetch_array($c_hosting)){?>
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF" class="rojo">
<?php echo $r_c_hosting['dominio'];?>
</td>
<td align="left" valign="middle" bgcolor="#FFFFFF" class="colorgris">
<?php echo $r_c_hosting['ingreso_dia'];?> -
<?php echo $r_c_hosting['ingreso_mes'];?> -
<?php echo $r_c_hosting['ingreso_ano'];?></td>
<td align="left" valign="middle" bgcolor="#FFFFFF" class="colorgris">
<?php
## mostramos si el cliente paga por mes o por año, con este switch
switch ($r_c_hosting['periodo']) {
case 1:
echo "Mensual";
break;
case 2:
echo "Anual";
break;
default:
echo "No definido";
}?>
</td>
<td align="left" bgcolor="#FFFFFF" class="colorgris"><?php echo $r_c_hosting['observaciones'];?></td>
<td align="left" bgcolor="#FFFFFF" class="colorgris"><a href="admin.php?editar=1&id=<?php echo $r_c_hosting['id'];?>">editar</a></td>
</tr>
<?php }?>
</table>
<p> </p>
<form id="form1" name="form1" method="post" action="admin.php">
<table width="900" border="0" align="center" cellpadding="0" cellspacing="1" class="fondotabla">
<tr>
<td width="294" height="35" align="left" bgcolor="#E2E2E2" class="colorgris"><strong><?php
#### si recibimos $_GET['editar'] mostramos el titulo "Editar cliente" sinó mostramos "Ingresar nuevo cliente"
if (isset($_GET['editar'])){echo "Editar cliente "; echo '<span style="color:red">'.$r_c_editar['dominio'].'</span>';}else {echo "Ingresar nuevo cliente";} ?></strong></td>
<td width="374" height="35" align="left" bgcolor="#E2E2E2" class="colorgris"> </td>
<td width="228" align="left" bgcolor="#E2E2E2" class="colorgris">
<?php if (isset($_GET['editar'])){?>
<a href="admin.php?borrar=<?php echo $r_c_editar['id']; ?>">BORRAR ESTE CLIENTE</a>
<?php }?>
</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"> </td>
<td colspan="2" bgcolor="#FFFFFF"> </td>
</tr>
<tr>
<td align="right" bgcolor="#FFFFFF" class="margenderecha">Usuario</td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><label>
<!--si recibimos la variable $_GET['editar'] quiere decir que queremos editar un cliente
entonces mostramos en el value del campo de texto, los valores que ya estan en la base de datos , por medio de la consulta
" $c_editar=mysql_query("select * from hosting where id='$id'",$conexion); "-->
<input name="usuario" type="text" id="usuario" size="45" value="<?php if (isset($_GET['editar'])){echo $r_c_editar['usuario'];} ?>" />
</label></td>
</tr>
<tr>
<td align="right" bgcolor="#FFFFFF" class="margenderecha">Dominio</td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><label>
<input name="dominio" type="text" id="dominio" size="45" value="<?php if (isset($_GET['editar'])){echo $r_c_editar['dominio'];} ?>"/>
</label></td>
</tr>
<tr>
<td align="right" bgcolor="#FFFFFF" class="margenderecha">Importe</td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><label>
<input name="importe" type="text" id="importe" size="45" value="<?php if (isset($_GET['editar'])){echo $r_c_editar['importe'];} ?>"/>
</label></td>
</tr>
<tr>
<td align="right" bgcolor="#FFFFFF" class="margenderecha">Fecha de ingreso <strong>dia</strong></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><label>