Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с include, не пойму что не так 
V
    Опции темы
s0lman
Дата 11.2.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Всем привет.
Имеется
config.php
Код

<?
$host = "localhost";
$database = "base";
$user = "root";
$pass = "";
$errorf="log/error.log";
$connectf="connect.php";
$functionsf="functions.php";
?>

functions.php
Код

function query($connect_id,$errorf,$string) {
          $query_id = mysql_query($string,$connect_id);
          $errno = mysql_errno();
          $errtext = mysql_error();
          if (!$query_id){
                 add_error_log($errorf,"Неправильный запрос SQL: ".$string,$errno,$errtext);
          }
          return $query_id;
     }

connect.php
Код

подключение к БД

reg.php
 
Код

форма регистрации

и наконец index.php
Код

<?
Error_Reporting(E_ALL & ~E_NOTICE);
 include_once( "config.php" );
 include_once($functionsf);
 include_once ($connectf);
 include_once("reg.php");
?>


Вопрос. Когда пытаюсь зарегистрировать нового пользователя получаю ошибку: неизвестна функция  query. Почему?
Если перенести include из index.php в reg.php то все отлично работает.
Спасибо.


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
MoLeX
Дата 11.2.2008, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(s0lman @  11.2.2008,  14:44 Найти цитируемый пост)
 include_once($functionsf); include_once ($connectf);


может надо
Код

<?
Error_Reporting(E_ALL & ~E_NOTICE);
 include_once("config.php");
 include_once ("connect.php");
 include_once("functions.php");
 include_once("reg.php");
?>


Это сообщение отредактировал(а) MoLeX - 11.2.2008, 14:48


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
s0lman
Дата 11.2.2008, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



пробовал - не работает. проблема не в этом....


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
skyboy
Дата 11.2.2008, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(s0lman @  11.2.2008,  13:44 Найти цитируемый пост)
Когда пытаюсь зарегистрировать нового пользователя получаю ошибку: неизвестна функция  query. Почему?Если перенести include из index.php в reg.php то все отлично работает.

у тебя в reg.php не вызывается query часом?
PM MAIL   Вверх
GeneralElectric
Дата 11.2.2008, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



Вообще-то, очень странно видеть сообщение об отсуствующей функции без сообщения о неудавшейся попытке подключить файл.

во-первых, сделай так, чтобы в functions.php выводилось что-нибудь.
во-вторых, обратись к нему напрямую, и посмотри - выведет ли.
потом обратись к индексу и посмотри.

вообще, я думаю, дело здесь в опечатках/невнимательности.

Если не заработает, сообщения об ошибке СКОПИРУЙ сюда

Добавлено через 3 минуты
s0lman, слушай, ты всегда query так и вызываешь - с тремя параметрами?
Не лень каждый раз их писать? там же только запрос нужен? А коннект - если уж и нужен, то можно сделать необязательным. 
Что лежит в $errorf, я не очень догадываюсь, но уверен, что она тоже не нужна
PM MAIL   Вверх
MoLeX
Дата 11.2.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



query()
это вроде зарезирвированая фу-ция. и если заново ее попытаться создать разве не будет ошибки? 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
skyboy
Дата 11.2.2008, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(MoLeX @  11.2.2008,  14:27 Найти цитируемый пост)
это вроде зарезирвированая фу-ция.

в смысле? в мане ни слова о функции с таким именем. недокументированные возможности? 0_о
PM MAIL   Вверх
MoLeX
Дата 11.2.2008, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



О_о а она у меня есть, вот скриншот
user posted image

РНР 5 версии, редактор - phpDesigner 2008


на счет мана - у меня тоже ее нет, а в редакторе есть  smile 

Это сообщение отредактировал(а) MoLeX - 11.2.2008, 15:36


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
s0lman
Дата 11.2.2008, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Цитата(skyboy @ 11.2.2008,  15:19)
у тебя в reg.php не вызывается query часом?

Вызывается. После проверки валидности полей.

В файле reg.php
Код

...
if(!isset($_GET['step'])){ 
if(query($connect_id,$errorf,"INSERT INTO user (ID,NAME,PASS) VALUES ('','Petya1','pas')"))echo "<script type='text/javascript'> alert('added'); </script>" ;

<form name="form1" id="form1" method="post" action="reg.php?step=1">
...

в этом месте функция выполняется

Код

...
if($_GET['step']=="1"){
/*строка 48*/ if(($_POST['pass']==$_POST['confpass'])&&($_POST['user']!="")&&($_POST['pass']!="")){
    if(query($connect_id,$errorf,"INSERT INTO user (ID,NAME,PASS) VALUES ('','".$_POST['user']."','".$_POST['pass']."')")) 
...

здесь получаю ошибку 
Fatal error: Call to undefined function: query() in z:\home\baza.com\www\reg.php on line 48




--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
skyboy
Дата 11.2.2008, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



я правильно понял: делаешь include($functions) в index.php, а функцию пытаешься вызвать в reg.php?
PM MAIL   Вверх
s0lman
Дата 11.2.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Цитата(skyboy @ 11.2.2008,  16:33)
я правильно понял: делаешь include($functions) в index.php, а функцию пытаешься вызвать в reg.php?

Верно, я вызываю функцио в reg, но reg тоже подключаю через include в индексе. как и functios.

Возможно причина в том что в reg выполняется два шага: сначала заполняется форма, а во втором шаге выполняются проверки  запрос.
После отсылки данных (if($_GET['step']=="1")) функция не определяется. Только почему...


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
GeneralElectric
Дата 11.2.2008, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



СТОП. Описываемые события происходят при одном и том же запуске index.php, или при РАЗНЫХ?
PM MAIL   Вверх
s0lman
Дата 11.2.2008, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Цитата(GeneralElectric @ 11.2.2008,  16:53)
СТОП. Описываемые события происходят при одном и том же запуске index.php, или при РАЗНЫХ?

Одном и том же


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
sTa1kEr
Дата 11.2.2008, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(s0lman @  11.2.2008,  17:42 Найти цитируемый пост)

Возможно причина в том что в reg выполняется два шага: сначала заполняется форма, а во втором шаге выполняются проверки  запрос.

Возможно вы подключаете functions.php только на первом шаге?

Добавлено через 1 минуту и 26 секунд
Цитата(MoLeX @  11.2.2008,  16:34 Найти цитируемый пост)
О_о а она у меня есть, вот скриншот

Это не функция, а метод класса mysqli, а ее полный эквивалент в виде функции называется mysqli_query()
PM MAIL   Вверх
s0lman
Дата 11.2.2008, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Цитата(sTa1kEr @ 11.2.2008,  17:43)

Возможно вы подключаете functions.php только на первом шаге?


А каким образом подключить functions.php на втором шаге после отправки данных?


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0580 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.