Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
NightRain
0 / 0 / 5
Регистрация: 01.02.2013
Сообщений: 98
#1

Синтаксическая ошибка - PHP

16.02.2013, 11:48. Просмотров 2058. Ответов 38
Метки нет (Все метки)

HTML5
1
<a href='.$UserStatus[ $myrow['prava'] ].$myrow['id'].'>Моя анкета</a>
в чем синтаксическая ошибка ссылки?

Добавлено через 49 секунд
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2013, 11:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Синтаксическая ошибка (PHP):

Синтаксическая ошибка
Здравствуйте! Написал GET Запрос, при нажатии на него идет нападение на бота....

Синтаксическая ошибка
&lt;?php $num = ; print_r($num); ?&gt; Пишет синтаксическую ошибку....

Синтаксическая ошибка
Помогите пожалуйста: Parse error: syntax error, unexpected 'function'...

Синтаксическая ошибка
не понимаю почему возникает следующая ошибка Parse error: syntax error,...

Синтаксическая ошибка
В чем может быть ошибка? &lt;!doctype html&gt; &lt;html lang=&quot;ru&quot;&gt; &lt;head&gt; &lt;meta...

Синтаксическая ошибка
Всем привет я зациклился в строках знаю что проблема в грамматике выдает что...

38
Vovan-VE
13148 / 6531 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
16.02.2013, 11:51 #2
Минимальный кусок, выраванный из контекста. Нужно больше кода вокруг.
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
16.02.2013, 11:54 #3
NightRain, а вы не видите по подсветке?
Цитата Сообщение от NightRain Посмотреть сообщение
'.$UserStatus[ $myrow['prava['] ].$myrow[['id['].'
0
NightRain
0 / 0 / 5
Регистрация: 01.02.2013
Сообщений: 98
16.02.2013, 11:57  [ТС] #4
тоже самое
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
16.02.2013, 11:59 #5
код в студию, гадание на кофейной гуще не прельщает..
0
NightRain
0 / 0 / 5
Регистрация: 01.02.2013
Сообщений: 98
16.02.2013, 12:21  [ТС] #6
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
            <html>
            <head>
            <title>Регистрация</title>
            </head>
            <body>
<?php
 
          // вся процедура работает на сессиях. Именно в ней хранятся    данные пользователя, пока он находится на сайте. Очень важно запустить их в    самом начале странички!!!
          session_start();
include ("bd.php");// файл bd.php должен быть в той же папке, что и    все остальные, если это не так, то просто измените путь
if    (!empty($_SESSION['login']) and !empty($_SESSION['password']))
            {
            //если существует логин и пароль в сессиях, то проверяем их и    извлекаем аватар
 
            $login    = $_SESSION['login'];
            $password    = $_SESSION['password'];
            $result    = mysql_query("SELECT id,avatar FROM users WHERE login='$login' AND    password='$password'",$db);
            $myrow    = mysql_fetch_array($result);
 
            //извлекаем нужные данные о пользователе
            }
$UserStatus = array(
'admin' => 'admin.php?id=',
'user' => 'user.php?id=',
'moder' => 'moder.php?id=',
'sadmin' => 'sadmin.php?id=',
'kontent' => 'kontent.php?id='
);
            ?>
 
 
<?php
            if    (!isset($myrow['avatar']) or $myrow['avatar']=='') {
 
            //проверяем, не извлечены ли данные пользователя из базы. Если    нет, то он не вошел, либо пароль в сессии неверный. Выводим окно для входа.    Но мы не будем его выводить для вошедших, им оно уже не нужно.
print <<<HERE
            <form    action="testreg.php" method="post">
            <!-- testreg.php - это адрес обработчика. То есть, после нажатия на кнопку    "Войти", данные из полей отправятся на страничку testreg.php методом "post"  -->
              <p>
                <label>Ваш логин:<br></label>
                <input    name="login" type="text" size="15"    maxlength="15"
HERE;
 
            if (isset($_COOKIE['login'])) //есть    ли переменная с логином в COOKIE. Должна быть,    если пользователь при предыдущем входе нажал на чекбокс "Запомнить    меня"
            {
            //если да, то вставляем в форму ее значение. При этом    пользователю отображается, что его логин уже вписан в нужную графу
            echo    ' value="'.$_COOKIE['login'].'">';
            }
 
 
print <<<HERE
              </p>
            <!-- В текстовое поле (name="login" type="text") пользователь вводит свой    логин -->
              <p>
                <label>Ваш пароль:<br></label>
                <input    name="password" type="password" size="15"    maxlength="15"
HERE;
 
            if (isset($_COOKIE['password']))//есть    ли переменная с паролем в COOKIE. Должна быть,    если пользователь при предыдущем входе нажал на чекбокс "Запомнить    меня"
            {
            //если да, то вставляем в форму ее значение. При этом пользователю    отображается, что его пароль уже вписан в нужную графу
            echo    ' value="'.$_COOKIE['password'].'">';
            }
 
 
print <<<HERE
              </p>
            <!-- В поле для паролей (name="password"    type="password") пользователь вводит свой пароль -->
              <p>
                <input name="save" type="checkbox"    value='1'> Запомнить меня.
              </p>
<p>
            <input    type="submit" name="submit" value="Войти">
            <!-- Кнопочка (type="submit") отправляет данные на страничку testreg.php     -->
            <br>
 
            <!-- ссылка на регистрацию, ведь как-то же должны гости    туда попадать  -->
            <a    href="reg.php">Зарегистрироваться</a>
            </p></form>
HERE;
            }
 
else
            {
 
print <<<HERE
 
|<a href='.$UserStatus[ $myrow['prava'] ].$myrow['id'].'>Моя анкета</a>|<a href='index.php'>Главная страница</a>|<a href='all_users.php'>Список пользователей</a>|<a href='exit.php'>Выход</a><br><br>
 
<!-- Между оператором  "print <<<HERE" выводится html код с нужными переменными из php -->
Вы вошли на сайт, как $_SESSION[login]<br>
<!-- выше ссылка на выход из аккаунта -->
 
<a href='http://tvpavlovsk.sk6.ru/'>Эта ссылка доступна только зарегистрированным пользователям</a><br>
Ваш аватар:<br>
<img alt='$_SESSION[login]' src='$myrow[avatar]'>
<!-- Выше отображается аватар. Его адрес содержит переменная $myrow[avatar] -->
 
<!-- Именно здесь можно добавлять формы для отправки комментариев и прочего... -->
 
HERE;
 
}
?>
            </body>
            </html>
Добавлено через 12 минут
88 строчка
0
Vovan-VE
13148 / 6531 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
16.02.2013, 12:32 #7
Цитата Сообщение от NightRain Посмотреть сообщение
PHP
1
2
print <<<HERE
|<a href='.$UserStatus[ $myrow['prava'] ].$myrow['id'].'>Моя анкета</a>|<a href='index.php'>Главная страница</a>|<a href='all_users.php'>Список пользователей</a>|<a href='exit.php'>Выход</a><br><br>

PHP
1
2
echo <<<HERE
|<a href="{$UserStatus[$myrow['prava']]}{$myrow['id']}">Моя анкета</a>|<a href='index.php'>Главная страница</a>|<a href='all_users.php'>Список пользователей</a>|<a href='exit.php'>Выход</a><br><br>
0
NightRain
0 / 0 / 5
Регистрация: 01.02.2013
Сообщений: 98
16.02.2013, 12:37  [ТС] #8
опять же не помогает. Тоже самое(
Я пробовал с скобками
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
16.02.2013, 12:44 #9
насколько помню, в кавычках нельзя использовать конструкцию вида $arr1[$arr2[...]], выдает синтаксическую ошибку. Используйте обычный синтаксис конструкции echo, без HEREDOC-синтаксиса.
0
Vovan-VE
13148 / 6531 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
16.02.2013, 12:46 #10
Цитата Сообщение от NightRain Посмотреть сообщение
опять же не помогает. Тоже самое(
Вы что-то упустили.
0
NightRain
0 / 0 / 5
Регистрация: 01.02.2013
Сообщений: 98
16.02.2013, 12:47  [ТС] #11
пробовал и одиночные кавычки)

что я мог упустить?
0
Vovan-VE
13148 / 6531 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
16.02.2013, 12:48 #12
PHP
1
2
3
4
5
6
7
8
<?php
$a = array('foo' => 42);
$b = array(42 => 'ok');
 
echo <<<HERE
lorem {$b[$a['foo']]} ipsum
     
HERE;
Код
lorem ok ipsum
0
NightRain
0 / 0 / 5
Регистрация: 01.02.2013
Сообщений: 98
16.02.2013, 12:50  [ТС] #13
Цитата Сообщение от Vovan-VE Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
<?php
$a = array('foo' => 42);
$b = array(42 => 'ok');
 
echo <<<HERE
lorem {$b[$a['foo']]} ipsum
     
HERE;
Код
lorem ok ipsum
Что это? как-то слишком извращенно)))
0
Vovan-VE
13148 / 6531 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
16.02.2013, 12:52 #14
Цитата Сообщение от NightRain Посмотреть сообщение
как-то слишком извращенно)
NightRain, Синтаксически аналогично вашему же извращению.

Исправил ту строку, как сам же и советовал - ошибок больше нет. Вы что-то упустили.
Какая у Вас версия PHP? Не важно. На любой работает.
0
NightRain
0 / 0 / 5
Регистрация: 01.02.2013
Сообщений: 98
16.02.2013, 13:04  [ТС] #15
но я ничего не понял...

Добавлено через 38 секунд
что за ok, foo?

1 lorem ok ipsum?
0
Vovan-VE
13148 / 6531 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
16.02.2013, 13:08 #16
Цитата Сообщение от NightRain Посмотреть сообщение
но я ничего не понял...
Сообщение #7 на первой странице. После этого синтаксических ошибок больше нет.
0
NightRain
0 / 0 / 5
Регистрация: 01.02.2013
Сообщений: 98
16.02.2013, 13:12  [ТС] #17
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Сообщение #7 на первой странице. После этого синтаксических ошибок большк нет.
да что вы? Я скопировал даже с вашего сообщения #7, ошибка не меняется
0
Vovan-VE
13148 / 6531 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
16.02.2013, 13:13 #18
Как говорится, у меня всё работает. Давайте сюда весь получившийся код.
0
NightRain
0 / 0 / 5
Регистрация: 01.02.2013
Сообщений: 98
16.02.2013, 13:15  [ТС] #19
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
            <html>
            <head>
            <title>Регистрация</title>
            </head>
            <body>
<?php
 
          // вся процедура работает на сессиях. Именно в ней хранятся    данные пользователя, пока он находится на сайте. Очень важно запустить их в    самом начале странички!!!
          session_start();
include ("bd.php");// файл bd.php должен быть в той же папке, что и    все остальные, если это не так, то просто измените путь
if    (!empty($_SESSION['login']) and !empty($_SESSION['password']))
            {
            //если существует логин и пароль в сессиях, то проверяем их и    извлекаем аватар
 
            $login    = $_SESSION['login'];
            $password    = $_SESSION['password'];
            $result    = mysql_query("SELECT id,avatar FROM users WHERE login='$login' AND    password='$password'",$db);
            $myrow    = mysql_fetch_array($result);
 
            //извлекаем нужные данные о пользователе
            }
$UserStatus = array(
'admin' => 'admin.php?id=',
'user' => 'user.php?id=',
'moder' => 'moder.php?id=',
'sadmin' => 'sadmin.php?id=',
'kontent' => 'kontent.php?id='
);
            ?>
 
 
<?php
            if    (!isset($myrow['avatar']) or $myrow['avatar']=='') {
 
            //проверяем, не извлечены ли данные пользователя из базы. Если    нет, то он не вошел, либо пароль в сессии неверный. Выводим окно для входа.    Но мы не будем его выводить для вошедших, им оно уже не нужно.
print <<<HERE
            <form    action="testreg.php" method="post">
            <!-- testreg.php - это адрес обработчика. То есть, после нажатия на кнопку    "Войти", данные из полей отправятся на страничку testreg.php методом "post"  -->
              <p>
                <label>Ваш логин:<br></label>
                <input    name="login" type="text" size="15"    maxlength="15"
HERE;
 
            if (isset($_COOKIE['login'])) //есть    ли переменная с логином в COOKIE. Должна быть,    если пользователь при предыдущем входе нажал на чекбокс "Запомнить    меня"
            {
            //если да, то вставляем в форму ее значение. При этом    пользователю отображается, что его логин уже вписан в нужную графу
            echo    ' value="'.$_COOKIE['login'].'">';
            }
 
 
print <<<HERE
              </p>
            <!-- В текстовое поле (name="login" type="text") пользователь вводит свой    логин -->
              <p>
                <label>Ваш пароль:<br></label>
                <input    name="password" type="password" size="15"    maxlength="15"
HERE;
 
            if (isset($_COOKIE['password']))//есть    ли переменная с паролем в COOKIE. Должна быть,    если пользователь при предыдущем входе нажал на чекбокс "Запомнить    меня"
            {
            //если да, то вставляем в форму ее значение. При этом пользователю    отображается, что его пароль уже вписан в нужную графу
            echo    ' value="'.$_COOKIE['password'].'">';
            }
 
 
print <<<HERE
              </p>
            <!-- В поле для паролей (name="password"    type="password") пользователь вводит свой пароль -->
              <p>
                <input name="save" type="checkbox"    value='1'> Запомнить меня.
              </p>
<p>
            <input    type="submit" name="submit" value="Войти">
            <!-- Кнопочка (type="submit") отправляет данные на страничку testreg.php     -->
            <br>
 
            <!-- ссылка на регистрацию, ведь как-то же должны гости    туда попадать  -->
            <a    href="reg.php">Зарегистрироваться</a>
            </p></form>
HERE;
            }
 
else
            {
 
echo <<<HERE
|<a href="{$UserStatus[$myrow['prava']]}{$myrow['id']}">Моя анкета</a>|<a href='index.php'>Главная страница</a>|<a href='all_users.php'>Список пользователей</a>|<a href='exit.php'>Выход</a><br><br>
 
<!-- Между оператором  "print <<<HERE" выводится html код с нужными переменными из php -->
Вы вошли на сайт, как $_SESSION[login]<br>
<!-- выше ссылка на выход из аккаунта -->
 
<a href='http://tvpavlovsk.sk6.ru/'>Эта ссылка доступна только зарегистрированным пользователям</a><br>
Ваш аватар:<br>
<img alt='$_SESSION[login]' src='$myrow[avatar]'>
<!-- Выше отображается аватар. Его адрес содержит переменная $myrow[avatar] -->
 
<!-- Именно здесь можно добавлять формы для отправки комментариев и прочего... -->
 
HERE;
 
}
?>
            </body>
            </html>
Может сбросить исходник файла аутентификации?
0
Vovan-VE
13148 / 6531 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
16.02.2013, 13:21 #20
Все ж нормально:
No syntax errors detected in test.php
0
16.02.2013, 13:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2013, 13:21
Привет! Вот еще темы с решениями:

Синтаксическая ошибка в строке
Скрипт ругается на эту строчку, выдает Parse error: syntax error, unexpected '...

CDATA синтаксическая ошибка
Всем привет, кто понимает синтаксис скриптов помогите , пытаюсь переменой...

Синтаксическая ошибка в строке 91
&lt;?php require_once &quot;config_class.php&quot;; require_once &quot;checkvalid_class.php&quot;; ...

Синтаксическая ошибка EndIf
Добрый день! Использую wordpress для интернет-магазина, выяснилось, что есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru