Задать вопрос
@sunnyrio

Отладчик указывает на синтаксическую ошибку, а ее там нет почему?

Отладчик указывает на синтаксическую ошибку, а ее там нет почему?

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\OpenServer\domains\localhost\signup.php on line 48

Сам код:
<?php
	require_once 'header.php';
	
	echo <<<_END
	<script>
	function checkUser(user)
	{
		if (user.value == '')
		{
			O('info').innerHTML = ''
			return
		}
		
		params = "user=" + user.value
		request = new ajaxRequest()
		request.open("POST", "checkuser.php", true)
		request.setRequestHeader("Content-type","application/x-www-form-urlencoded")
		request.setRequestHeader("Connection", "close")
		
		request.onreadystatechange = function()
		{
				if (this.readyState == 4)
					if (this.status == 200)
						if (this.responseText != null)
							O('info').innerHTML = this.responseText
		}
		request.send(params)
	}
	
	function ajaxRequest()
	{
		try {var request = new XMLHttpRequest()}
		catch(e1){
			try {request = new ActiveXObject("Msxml2.XMLHTTP")}
			catch(e2)
				try {request = new ActiveXObject("Microsoft.XMLHTTP")}
				catch(e3){
					request = false
		}	}	}
		return request
	}
	</script>
	<div class='main'><h3>Please enter your details to sign up</h3>
	// Введите, пожайлуста, свои регистрационные данные
	_END;
	
	$error = $user = $pass = "";
	if (isset($_POST['user'])) destroySession();
	
	if (isset($_POST['user']))
	{
		$user = sanitizeString($_POST['user']);
		$pass = sanitizeString($_POST['pass']);
		
		if ($user == "" || $pass == "")
			$error = "Данные введены не во все поля<br><br>";
		else
		{
			$result = queryMysql("SELECT * FROM members WHERE user='$user'");
			if ($result->num_rows)
				$error = "Такое имя уже существует<br><br>";
			else
			{
				queryMysql("INSERT INTO members VALUES('$user','$pass')");
				die("<h4>Account created</h4>Please Log in.<br><br>");
				// Учетная запись создана,
				// пожайлуста, войдите на сайт
			}
		}
	}
	
	echo <<<_END
	<form method=;post' action='signup.php'>$error
		<span class='fieldname'>Username</span>
		<input type='text' maxlength='16' name='user' value='$user' onBlur='checkUser(this)'><span id='info'></span><br>
		<span class='fieldname'>Password</span>
		<input type='text' maxlength='16' name='pass' value='$pass'><br>
		_END;
		?>
		
		<span class='fieldname'>&nbsp;</span>
		<input type='submit' value='Sign up' />
		</form></div><br>
		</body>
	</html>
?>
  • Вопрос задан
  • 2386 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Stalker_RED
@Stalker_RED
Она там есть.
(на самом деле она чуть выше, в строке 45)
Поставьте себе какой-нибудь редактор с подсветкой.

Внимание
Очень важно отметить, что строка с закрывающим идентификатором не должна содержать других символов, за исключением точки с запятой (;). Это означает, что идентификатор не должен вводиться с отступом и что не может быть никаких пробелов или знаков табуляции до или после точки с запятой.

php.net/manual/ru/language.types.string.php

P.S.: И да, если вашему учебнику лет 15, то возможно стоит поискать ему замену, пока вы не привыкли писать лапшу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы