Mantenga su PHP antes que cualquier HTML a menos que sea necesario. Además, especifique las columnas en su consulta porque una cadena en blanco puede hacer que la consulta falle.
¿Realmente necesita almacenar la contraseña de confirmación en la base de datos? No creo que lo hagas, y asegúrate de hacerlo. Confirme que todas sus columnas en la base de datos coincidan con lo que está insertando.
<?php
include("config.php");
if(isset($_POST['submit'])) {
$name=mysql_real_escape_string($_POST['username']);
$email=mysql_real_escape_string($_POST['email']);
$password=mysql_real_escape_string($_POST['password']);
$cpassword=mysql_real_escape_string($_POST['confirmpassword']);
$query = mysql_query("INSERT INTO register
(name_column,email_column,password_column)
VALUES('".$name."', '".$email."', '".$password."')");
if($query) {
header("location:success.php");
}
} else {
echo "no form data received.";
}
?>
<!DOCTYPE html>
//HTML HERE//