0 / 0 / 1
Регистрация: 15.01.2018
Сообщений: 24
1

Ошибка Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in D:\home\test1.ru\w

15.02.2018, 09:09. Показов 15938. Ответов 14

Author24 — интернет-сервис помощи студентам
Ошибка при загрузке страницы регистрации: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in D:\home\test1.ru\www\register.php on line 34

register.php
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
<?php require_once("includes/connection.php"); ?>
<?php include("includes/header.php"); ?>
<?php
    
    if(isset($_POST["register"])){
    
    if(!empty($_POST['full_name']) && !empty($_POST['email']) && !empty($_POST['username']) && !empty($_POST['password'])) {
  $full_name= htmlspecialchars($_POST['full_name']);
    $email=htmlspecialchars($_POST['email']);
 $username=htmlspecialchars($_POST['username']);
 $password=htmlspecialchars($_POST['password']);
 $query=mysql_query("SELECT * FROM usertbl WHEREusername='".$username."'");
  $numrows=mysql_num_rows($query);
if($numrows==0)
   {
    $sql="INSERT INTO usertbl
  (full_name, email, username,password)
    VALUES('$full_name','$email', '$username', '$password')";
  $result=mysql_query($sql);
 if($result){
    $message = "Account Successfully Created";
} else {
 $message = "Failed to insert data information!";
  }
    } else {
    $message = "That username already exists! Please try another one!";
   }
    } else {
    $message = "All fields are required!";
    }
    }
    ?>
 
<?php if (!empty($message)) {echo "<p class="error">" . "MESSAGE: ". $message . "</p>";} ?>  /* Вот 34 строка */
Дальше идёт разметка
Что делать?

Добавлено через 8 минут
На время удалил строку, заработало. Но появилась новая ошибка при регистрации:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\home\test1.ru\www\register.php on line 13

HELP PLEASE
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2018, 09:09
Ответы с готовыми решениями:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in Z:\home\script.ua\www\script_1.ph
имеется код $res = mysql_query(&quot;SELECT * FROM news&quot;); $count = mysql_num_rows($res); $res_2 =...

Ошибка Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRIN
При запуске локального сервера, выдает эту ошибку. Parse error: syntax error, unexpected...

Ошибка - Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'
вот код &quot;&lt;table&gt; &lt;tr&gt; &lt;td&gt;&lt;?php the_category(); ?&gt;&lt;/td&gt; &lt;td&gt; , &lt;/td&gt; ...

Ошибка - Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'
&lt;div class=&quot;popup_container&quot;&gt; &lt;div class=&quot;reg_popup&quot;&gt; &lt;form action=&quot;&quot;...

14
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
15.02.2018, 09:11 2
http://phpfaq.ru/debug
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
15.02.2018, 14:10 3
SQL
1
WHEREusername
Это что?
0
0 / 0 / 1
Регистрация: 15.01.2018
Сообщений: 24
15.02.2018, 19:00  [ТС] 4
Para bellum, выделение поля username) P.S. Я нубик пока что, прошу сильно не ругать
Запрос: из usertbl поле где username запросить username. Вроде бы
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
15.02.2018, 19:42 5
Пробел после WHERE забыли. Я об этом говорю.
0
0 / 0 / 1
Регистрация: 15.01.2018
Сообщений: 24
16.02.2018, 17:57  [ТС] 6
Para bellum, окей, позже попробую - отпишусь

Добавлено через 21 час 3 минуты
Para bellum, удалил - сработало, но как исправить ошибку в 34 строке? А ещё, когда я поставил пробел и удалил 34 строку у меня просто обновилась страница рег-ии. И всё. Что делать?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
17.02.2018, 07:12 7
Цитата Сообщение от reseeman Посмотреть сообщение
как исправить ошибку в 34 строке?
Дело в кавычках: вы обернули строку двойными кавычками и в той строке у Вас содержатся двойные кавычки. Отсюда и конфликт.
Так будет работать:
PHP
1
2
3
<?php if (!empty($message)) {
    echo '<p class="error">MESSAGE: '. $message . '</p>';
} ?>
0
0 / 0 / 1
Регистрация: 15.01.2018
Сообщений: 24
18.02.2018, 12:24  [ТС] 8
Para bellum, при логине теперь в index.php (тип login.php) пишет ошибку (33 строку ругается) Warning: Cannot modify header information - headers already sent by (output started at D:\home\reseeman.ru\www\index.php:1) in D:\home\reseeman.ru\www\index.php on line 33.

index.php
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
<?php require_once("includes/connection.php"); ?>
<?php include("includes/header.php"); ?>
 
    <?php require_once("includes/connection.php"); ?>
    <?php include("includes/header.php"); ?>     
    <?php
    
    if(isset($_SESSION["session_username"])){
    // вывод "Session is set"; // в целях проверки
    header("Location: intropage.php");
    }
 
    if(isset($_POST["login"])){
 
    if(!empty($_POST['username']) && !empty($_POST['password'])) {
    $username=htmlspecialchars($_POST['username']);
    $password=htmlspecialchars($_POST['password']);
    $query =mysql_query("SELECT * FROM usertbl WHERE username='".$username."' AND password='".$password."'");
    $numrows=mysql_num_rows($query);
    if($numrows!=0)
 {
while($row=mysql_fetch_assoc($query))
 {
    $dbusername=$row['username'];
  $dbpassword=$row['password'];
 }
  if($username == $dbusername && $password == $dbpassword)
 {
    // старое место расположения
    //  session_start();
     $_SESSION['session_username']=$username;    
 /* Перенаправление браузера */
   header("Location: intropage.php");
    }
    } else {
    //  $message = "Invalid username or password!";
    
    echo  "Invalid username or password!";
 }
    } else {
    $message = "All fields are required!";
    }
    }
    ?>
Добавлено через 5 минут
Para bellum, ещё добавил сессию в самом-самом начале:
PHP
1
2
3
<?php
    session_start();
?>
И выдаёт ошибку при загруке страницы:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\home\reseeman.ru\www\index.php:1) in D:\home\reseeman.ru\www\index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\home\reseeman.ru\www\index.php:1) in D:\home\reseeman.ru\www\index.php on line 2
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
18.02.2018, 12:25 9
Лучший ответ Сообщение было отмечено reseeman как решение

Решение

Ознакомьтесь: Что означает предупреждение "headers already sent"

Добавлено через 48 секунд
Думаю, что у Вас файл в UTF-8 с BOM, а надо без. Это я про session_start, ведь оно в самом начале. Что до header -- там ещё и пробелы влияют.
1
0 / 0 / 1
Регистрация: 15.01.2018
Сообщений: 24
18.02.2018, 13:07  [ТС] 10
Para bellum, Thanks, всё устранил))
0
0 / 0 / 1
Регистрация: 15.01.2018
Сообщений: 24
25.02.2018, 12:44  [ТС] 11
Para bellum, снова ошибка: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\home\reseeman.ru\www\register.php on line 13

PHP
1
$numrows=mysql_num_rows($query);
Добавлено через 18 минут
Para bellum, правильнее будет)

PHP
1
2
 $query=mysql_query("SELECT * FROM `usertbl` WHERE username='".$username."'"); // LINE 12
 $numrows=mysql_num_rows($query); // LINE 13
0
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
25.02.2018, 12:51 12
Правильнее будет
PHP
1
2
3
4
5
if($query=mysql_query("SELECT * FROM `usertbl` WHERE username='$username'")){
 $numrows=mysql_num_rows($query); 
}else{
echo 'нету ничего';
}
0
0 / 0 / 1
Регистрация: 15.01.2018
Сообщений: 24
25.02.2018, 13:08  [ТС] 13
otto-fukin, пишет 'нету ничего', что делать?

Добавлено через 1 минуту
otto-fukin, вот весь нынешний код

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
<?php require_once("includes/connection.php"); ?>
<?php include("includes/header.php"); ?>
<?php
 
    if(isset($_POST["register"])){
 
    if(!empty($_POST['full_name']) && !empty($_POST['email']) && !empty($_POST['username']) && !empty($_POST['password'])) {
 $full_name= htmlspecialchars($_POST['full_name']);
 $email=htmlspecialchars($_POST['email']);
 $username=htmlspecialchars($_POST['username']);
 $password=htmlspecialchars($_POST['password']);
 $query=mysql_query("SELECT * FROM `usertbl` WHERE username='".$username."'");
 if($query=mysql_query("SELECT * FROM `usertbl` WHERE username='$username'")){
 $numrows=mysql_num_rows($query); 
}else{
 echo 'nothing';
}
if($numrows==0)
   {
    $sql="INSERT INTO usertbl
  (full_name, email, username,password)
    VALUES('$full_name','$email', '$username', '$password')";
  $result=mysql_query($sql);
 if($result){
    $message = "Account Successfully Created";
} else {
 $message = "Failed to insert data information!";
  }
    } else {
    $message = "That username already exists! Please try another one!"; 
   }
    } else {
    $message = "All fields are required!";
    }
    }
    ?>
<?php if (!empty($message)) {
    echo '<p class="error">MESSAGE: '. $message . '</p>';
} ?>
0
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
25.02.2018, 13:56 14
Цитата Сообщение от reseeman Посмотреть сообщение
что делать?
занести в базу данные удовлетворяющие вашему условию. Или изменить условия.
А еще не мешало бы заменить все бесполезные здесь htmlspecialchars на необходимые mysql_real_escape_string
0
0 / 0 / 1
Регистрация: 15.01.2018
Сообщений: 24
25.02.2018, 22:49  [ТС] 15
otto-fukin, можно подробнее?)) Пожалуйста
0
25.02.2018, 22:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.02.2018, 22:49
Помогаю со студенческими работами здесь

Ошибка Parse error: syntax error, unexpected T_CLASS, expecting T_STRING or T_VARIABLE
да блин капец.. не могу понять ничего.. кто поможет? Parse error: syntax error, unexpected...

Ошибка Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Ясно, что проблема с кавычками, но как исправить :о Parse error: syntax error, unexpected...

Ошибка в php - Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in CODE on line 9
Доброго времени суток! Есть код, в нем где-то есть ошибка (вроде кавычки), но знаний php у меня 0,...

Ошибка Parse error: syntax error, unexpected T_STRING in /home/bh22299/public_html/wp-config.php on line 25
Здравствуйте. Залил сайт на хостинг и выдаёт ошибку Вот участок кода из файла конфига.......


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru