if(strlen($_REQUEST['email']) >= 0 && preg_match('^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$', $_REQUEST['email'])) { $error = true; echo "Please enter a valid Email address"; } Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in /var/www/team2648/OPIS/register.php on line 30
Вы забыли разделители . Добавьте их.
Также обратите внимание, что вы regex игнорирует некоторые совершенно допустимые адреса (например, foo@example.museum)
foo@example.museum
preg_match требует открытия и закрытия разделителей, таких как perl.Вы хотите включить, скажем, косую черту в начале и конце строки регулярного выражения, например
'/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'
PHP поставляется со встроенной функцией для проверки некоторых популярных данных, таких как URL-адреса, электронные письма и т. Д. - он называется filter_var().
filter_var()
if ($_REQUEST['email'] && filter_var($_REQUEST['email'], FILTER_VALIDATE_EMAIL)) { // This makes your code much cleaner! }