Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING
 
 автор: Angel_Hranitel   (02.06.2007 в 14:57)   письмо автору
 
 

вот код

<?php
include ($_SERVER["DOCUMENT_ROOT"]."/up.dat");
echo 
"<card id=\"reg\" title=\"Регистрация\">";
echo 
"<p align=\"center\">";
require(
$_SERVER["DOCUMENT_ROOT"]."/conf.php");

$_POST['name'] = addslashes(htmlspecialchars(trim($_POST['name'])));
$_POST['name'] = ereg_replace(" +"," ",$_POST['name']);
$_POST['pass'] = addslashes(htmlspecialchars(trim($_POST['pass'])));
$_POST['pass'] = ereg_replace(" +"," ",$_POST['pass']);
$_POST['pass_again'] = addslashes(htmlspecialchars(trim($_POST['pass_again'])));
$_POST['pass_again'] = ereg_replace(" +"," ",$_POST['pass_again']);
$_POST['mail'] = addslashes(htmlspecialchars(trim($_POST['mail'])));
$_POST['mail'] = ereg_replace(" +"," ",$_POST['mail']);
$_POST['url'] = addslashes(htmlspecialchars(trim($_POST['url'])));
$_POST['url'] = ereg_replace(" +"," ",$_POST['url']);

//if(empty($_POST['name'])) exit();

  // Проверяем правильно ли заполнены обязательные поля
if(empty($_POST['name'])){
echo 
"<small>Поле \"Имя\" не заполнено<br/></small></p><p align=\"left\"><small>
<anchor>Назад<prev/></anchor><br/><a href=\"/\">На главную</a><br/><br/></small>
</p><p align=\"center\">"
;
include (
$_SERVER["DOCUMENT_ROOT"]."/down.dat");
exit();
}

if(empty(
$_POST['pass'])) {
echo 
"<small>Одно из полей \"Пароль\" не заполнено<br/></small></p>
<p align=\"left\"><small><anchor>Назад<prev/></anchor><br/>
<a href=\"/\">На главную</a><br/><br/></small></p><p align=\"center\">"
;
include (
$_SERVER["DOCUMENT_ROOT"]."/down.dat");
exit();
}

if(empty(
$_POST['pass_again'])) {
echo 
"<small>Одно из полей \"Пароль\" не заполнено<br/></small></p>
<p align=\"left\"><small><anchor>Назад<prev/></anchor><br/>
<a href=\"/\">На главную</a><br/><br/></small></p><p align=\"center\">"
;
include (
$_SERVER["DOCUMENT_ROOT"]."/down.dat");
exit();
}


if(
$_POST['pass'] != $_POST['pass_again']) {
echo 
"<small>Пароли не совпадают<br/></small></p><p align=\"left\">
<small><anchor>Назад<prev/></anchor><br/>
<a href=\"/\">На главную</a><br/><br/></small></p><p align=\"center\">"
;
include (
$_SERVER["DOCUMENT_ROOT"]."/down.dat");
exit();
}

  
// Если введён e-mail проверяем его на соответсвие
if(!empty($_POST['mail']))
  {
if(!
preg_match("|^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,6}$|i"$_POST['mail']))
    {
echo 
"<small>Поле \"E-mail\" должно соответствовать формату somebody@somewhere.ru
<br/></small></p><p align=\"left\"><small><anchor>Назад<prev/></anchor><br/>
<a href=\"/\">На главную</a><br/><br/></small></p><p align=\"center\">"
;
include (
$_SERVER["DOCUMENT_ROOT"]."/down.dat");
exit();
}
 }

  
// Если на сервер не включены "магические кавычки"
  // обрабатываем введённые пользователями данные
  // функцией mysql_escape_string()
if (!get_magic_quotes_gpc())
  {
$_POST['name']  = mysql_escape_string($_POST['name']);
$_POST['pass']  = mysql_escape_string($_POST['pass']);
$_POST['mail'] = mysql_escape_string($_POST['mail']);
$_POST['url']  = mysql_escape_string($_POST['url']);
  }

  
// Устанавливаем соединение с базой данных
require_once("config.php");
  
// Проверяем не было ли переданное имя
  // зарегистрировано ранее
$query "SELECT COUNT(*) FROM users WHERE name = ".$_POST['name']." ";
$usr mysql_query($query);
if(!
$usr) {
echo 
"<small>Ошибка - ".mysql_error()."
<br/></small></p><p align=\"left\"><small><anchor>Назад<prev/></anchor><br/>
<a href=\"/\">На главную</a><br/><br/></small></p><p align=\"center\">"
;
include (
$_SERVER["DOCUMENT_ROOT"]."/down.dat");
exit();
}
$total mysql_result($usr0);
if(
$total 0) {
echo 
"<small>Данное имя уже зарегистрировано, пожалуйста, выберите другое
<br/></small></p><p align=\"left\"><small><anchor>Назад<prev/></anchor><br/>
<a href=\"/\">На главную</a><br/><br/></small></p><p align=\"center\">"
;
include (
$_SERVER["DOCUMENT_ROOT"]."/down.dat");
exit();
  }

  
// Формируем и выполняем SQL-запрос на
  // добавление нового пользователя
  
$query "INSERT INTO users
            VALUES(NULL,
                   '
$_POST[name]',
                   '
$_POST[pass]',
                   '
$_POST[mail]',
                   '
$_POST[url]')";
  if(
mysql_query($query))
  {
session_start();
$_SESSION['name'] = $_POST['name'];
$_SESSION['pass'] = $_POST['pass'];
$_SESSION['mail'] = $_POST['mail'];
header "(Location: './vhod.php')";
  } else {
echo 
"<small>Ошибка при добавлении данных - ".mysql_error()."
<br/></small></p><p align=\"left\"><small><anchor>Назад<prev/></anchor><br/>
<a href=\"/\">На главную</a><br/><br/></small></p><p align=\"center\">"
;
include (
$_SERVER["DOCUMENT_ROOT"]."/down.dat");
exit();
}
    echo 
"<small><br/><a href=\"/\">На главную</a><br/><br/></small>";

include (
$_SERVER["DOCUMENT_ROOT"]."/down.dat");

?>


вот ошибка
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in T:\home\virtual\site.ru\regi\reg.php on line 113

не могу понять что не так.... скорей всего с сессиями... я их учу сейчас...

   
 
 автор: elenaki   (02.06.2007 в 15:04)   письмо автору
 
   для: Angel_Hranitel   (02.06.2007 в 14:57)
 

вместо:
header "(Location: './vhod.php')";
надо писать:
header ("Location: './vhod.php'");
(нарушен порядок следования кавычек и скобок)

PS этот тип ошибки обычно возникает из-за незакрытых скобок, кавычек...
PPS такие большие лиситинги лучше присоединять как аттачмент.

   
 
 автор: Angel_Hranitel   (02.06.2007 в 15:10)   письмо автору
 
   для: elenaki   (02.06.2007 в 15:04)
 

>вместо:
>header "(Location: './vhod.php')";
>надо писать:
>header ("Location: './vhod.php'");
>(нарушен порядок следования кавычек и скобок)

исправил, ошибка такая же....

>PS этот тип ошибки обычно возникает из-за незакрытых скобок, кавычек...

спасибо, буду знать...

>PPS такие большие лиситинги лучше присоединять как аттачмент.

учту!!!!

   
 
 автор: elenaki   (02.06.2007 в 15:18)   письмо автору
 
   для: Angel_Hranitel   (02.06.2007 в 15:10)
 

тогда уберите одинарные кавычки после двоеточия
header ("Location: ./vhod.php");

   
 
 автор: Angel_Hranitel   (02.06.2007 в 15:21)   письмо автору
 
   для: elenaki   (02.06.2007 в 15:18)
 

та же ошибка!!!
у меня 113 строка это

$_SESSION['mail'] = $_POST['mail'];

   
 
 автор: elenaki   (02.06.2007 в 15:29)   письмо автору
 
   для: Angel_Hranitel   (02.06.2007 в 15:21)
 

ошибка была в 114 строке, там, где хедер. после исправления (и закомментаривания некоторых инклюдов, т.к. у меня нет этих файлов) у меня все работает.

   
 
 автор: Angel_Hranitel   (02.06.2007 в 15:53)   письмо автору
 
   для: elenaki   (02.06.2007 в 15:29)
 

вот up.dat

<?php
ob_start
("ob_gzhandler");
//Error_Reporting(0);
header("Content-type: text/vnd.wap.wml;charset=utf-8");
echo 
"<?xml version=\"1.0\" encoding=\"utf-8\"?>
<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">
<wml>"
;
?>


вот down.dat

<?php
$pagesize
=round((ob_get_length())/1024,1);
$start_time microtime();
$start_array explode(" ",$start_time);
$start_time $start_array[1] + $start_array[0];
$end_time microtime();
$end_array explode(" ",$end_time);
$end_time $end_array[1] + $end_array[0];
$time $end_time $start_time;
echo 
"<small>© Wap-Kuban.Net.Ru<br/>".$pagesize." Кбайт | ".round($time,6).
" сек</small>
</p></card></wml>"
;
ob_end_flush();
?>

   
 
 автор: bronenos   (02.06.2007 в 15:30)   письмо автору
 
   для: Angel_Hranitel   (02.06.2007 в 15:21)
 

приведите код который теперь получился... а то старые ошибки смущают

   
 
 автор: Angel_Hranitel   (02.06.2007 в 15:49)   письмо автору
 
   для: bronenos   (02.06.2007 в 15:30)
 

вот кусочек...

<?php
  
// Устанавливаем соединение с базой данных
require_once("config.php");
  
// Проверяем не было ли переданное имя
  // зарегистрировано ранее
$query "SELECT COUNT(*) FROM users WHERE name = ".$_POST['name']." ";
$usr mysql_query($query);
if(!
$usr) {
echo 
"<small>Ошибка - ".mysql_error()."
<br/></small></p><p align=\"left\"><small><anchor>Назад<prev/></anchor><br/>
<a href=\"/\">На главную</a><br/><br/></small></p><p align=\"center\">"
;
include (
$_SERVER["DOCUMENT_ROOT"]."/down.dat");
exit();
}
$total mysql_result($usr0);
if(
$total 0) {
echo 
"<small>Данное имя уже зарегистрировано, пожалуйста, выберите другое
<br/></small></p><p align=\"left\"><small><anchor>Назад<prev/></anchor><br/>
<a href=\"/\">На главную</a><br/><br/></small></p><p align=\"center\">"
;
include (
$_SERVER["DOCUMENT_ROOT"]."/down.dat");
exit();
  }

  
// Формируем и выполняем SQL-запрос на
  // добавление нового пользователя
  
$query "INSERT INTO users
            VALUES(NULL,
                   '
$_POST[name]',
                   '
$_POST[pass]',
                   '
$_POST[mail]',
                   '
$_POST[url]')";
  if(
mysql_query($query))
  {
session_start();
$_SESSION['name'] = $_POST['name'];
$_SESSION['pass'] = $_POST['pass'];
$_SESSION['mail'] = $_POST['mail'];
header ("Location: ./vhod.php");
  } else {
echo 
"<small>Ошибка при добавлении данных - ".mysql_error()."
<br/></small></p><p align=\"left\"><small><anchor>Назад<prev/></anchor><br/>
<a href=\"/\">На главную</a><br/><br/></small></p><p align=\"center\">"
;
include (
$_SERVER["DOCUMENT_ROOT"]."/down.dat");
exit();
}
?>

   
 
 автор: Angel_Hranitel   (02.06.2007 в 15:58)   письмо автору
 
   для: Angel_Hranitel   (02.06.2007 в 15:49)
 

извиняюсь, страница заработала...
только вот ошибка записи Ошибка - Unknown column 'aaa' in 'where clause'

   
 
 автор: elenaki   (02.06.2007 в 16:11)   письмо автору
 
   для: Angel_Hranitel   (02.06.2007 в 15:58)
 

что ж вы так кавычки-то неуважаете? ;)


$query = "INSERT INTO users 
            VALUES(NULL, 
                   '".$_POST["name"]."', 
                   '".$_POST["pass"]."', 
                   '".$_POST["mail"]."', 
                   '".$_POST["url"]."')"; 

   
 
 автор: Unkind   (02.06.2007 в 16:15)   письмо автору
 
   для: Angel_Hranitel   (02.06.2007 в 15:58)
 

только вот ошибка записи Ошибка - Unknown column 'aaa' in 'where clause'
Как же это может быть ошибка записи? "WHERE" не может быть в INSERT/REPLACE.

   
 
 автор: elenaki   (02.06.2007 в 16:17)   письмо автору
 
   для: Unkind   (02.06.2007 в 16:15)
 

$query = "SELECT COUNT(*) FROM users WHERE name = ".$_POST['name']." ";

тут в конце лишняя пара кавычек. можно закончить просто name = ".$_POST['name'];

   
 
 автор: Unkind   (02.06.2007 в 16:20)   письмо автору
 
   для: elenaki   (02.06.2007 в 16:17)
 

Строки в MySQL берутся в кавычки:


<?php
$query 
"SELECT COUNT(*) FROM `users` WHERE `name` = '" $_POST['name'] . "';";
?>

   
 
 автор: Angel_Hranitel   (02.06.2007 в 16:25)   письмо автору
 
   для: Unkind   (02.06.2007 в 16:20)
 

спасибо, работает!!!

пример регистрации беру из "MySQL5 В подленнике"

   
 
 автор: Unkind   (02.06.2007 в 16:27)   письмо автору
 
   для: Angel_Hranitel   (02.06.2007 в 16:25)
 

пример регистрации беру из "MySQL5 В подленнике"
Не верю :)

   
 
 автор: Angel_Hranitel   (02.06.2007 в 16:43)   письмо автору
 
   для: Unkind   (02.06.2007 в 16:27)
 

я делаю wap сайт.... взял пример и подредактировал под себя...

Часть5.Взаимодействие MySQL с языками программиривания....
Глава 39.Взаимодействие MySQL и PHP.....

39.11. Система регистрации (стр. 862)

   
 
 автор: Unkind   (02.06.2007 в 17:13)   письмо автору
 
   для: Angel_Hranitel   (02.06.2007 в 16:43)
 

Да я не про разметку, а про то, что сначала переменные проходят addslashes(), а затем через mysql_escape_string(), если magic_quotes_gpc = on.

   
 
 автор: Angel_Hranitel   (02.06.2007 в 17:51)   письмо автору
 
   для: Unkind   (02.06.2007 в 17:13)
 

упс! 1,5 суток не спал.... крыша ехала

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования