izin konusunda hem fikirim, ama alttaki kodla tc doğru mu kontrol etmek mümkün.

if (isset($_POST["kontrolEt"])) {
	$TC = $_POST["TC"];
	if (strlen($TC) == 11) {
		if (is_numeric($TC)) {
			$TC_10 = ((($TC[0] + $TC[2] + $TC[4] + $TC[6] + $TC[8])*7) - ($TC[1] + $TC[3] + $TC[5] + $TC[7])) % 10;
			if ($TC_10 == $TC[9]) {
				$TC_11 = ($TC[0] + $TC[1] + $TC[2] + $TC[3] + $TC[4] + $TC[5] + $TC[6] + $TC[7] + $TC[8] + $TC[9]) % 10;
				if ($TC_11 == $TC[10]) {
					echo "TC Kimlik Numarası <span style='color:green'>GEÇERLİ!</span>";
				} else {
					echo "TC Kimlik Numarası <span style='color:red'>GEÇERSİZ</span>";
				}
			} else {
					echo "TC Kimlik Numarası <span style='color:red'>GEÇERSİZ</span>";
			}
		} else {
			echo "TC Kimlik Numarası yalnızca rakamlardan oluşmaktadır.";
		}
	} else {
		echo "TC Kimlik Numarası 11 hane olmak zorundadır.";
	}
}

demosu

https://hostservis.com/tckimlik/