CMS

XOOPS Помогите разобраться с ошибкой PHP

Модуль знакомств. файл редактирования профиля (анкеты).

делаем профиль, открываем файл редактирования = контента нету - только header и flooter
Php отладчик говорит ошибка с следубщей строке:
if ($page == "update") {
$sql = "UPDATE ".$xoopsDB->prefix

Где там ошибка? Я что совсем уже дурак?

Самое забавное что случилось это после добавления новых таблиц для редактирования..

Могу привести весь файл но думаю этой части хватит:

Цитата:


include("../../mainfile.php");
include("../../header.php");
include("cache/config.php");
include("header.php");
include(XOOPS_ROOT_PATH."/include/xoopscodes.php");
$xoopsOption['show_rblock'] =1;

$uid=$xoopsUser->uid("E");
global $xoopsDB, $xoopsTheme, $xoopsConfig, $xoopsModule, $imagesize, $logo, $xoopsUser;
global $dateformat, $autoactive, $anonymusmail, $anonymussearch, $mailtoadmin, $emailaddress, $imagesize, $heightunit, $weightunit, $proffunit, $footermsgtxt;

if($dateformat==0){
$textdateformat = _ttmmjjjj;
} else {
$textdateformat = _jjjjmmtt;
}

if (!$xoopsUser) {
include(XOOPS_ROOT_PATH."header.php");

OpenTable();
echo "<DIV ALIGN="center">"._TEXTNOXOOPSUSER."<A HREF="".XOOPS_URL."/register.php">"._CLA_REGISTER."</A><BR>"._CLA_OR." <A HREF="".XOOPS_URL."/user.php">"._CLA_CONECT."</A> "._CLA_IFAREMEMBER."</DIV>";
CloseTable();
include("../../footer.php");
} else {

OpenTable();
if ($page == "update") {
$sql = "UPDATE ".$xoopsDB->prefix("znakom")." SET sex='$sex', active='$active', name='$name', partner='$partner', category='$category', state='$state', hobby='$hobby', Description='$Description', height='$height', weight='$weight', birth='$birth', topic='$topic', orient='$orient', proff='$proff', sl1='$sl1', sl2='$sl2', sl3='$sl3' WHERE uid = '$uid'";
$result = $xoopsDB->query($sql);
redirect_header("index.php",2,_TEXTPROFILEUPDATED."");

if ($mailtoadmin==1) {
$xoopsMailer =& getMailer();
$xoopsMailer->useMail();
$xoopsMailer->setToEmails($emailaddress);
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
$xoopsMailer->setFromName($xoopsConfig['sitename']);
$xoopsMailer->setSubject(sprintf(_US_NEWUSERREGAT));
$xoopsMailer->setBody(sprintf(_US_HASJUSTREG));
$xoopsMailer->send();
} else {

}
} else {

$view = $xoopsDB->query("SELECT id,uid,user,active,sex,category,name,email,state,hobby,partner,height,weight,birth,pic,Description,imgname,imgtime,date,topic,orient,title,sextitle,cattitle,sid,orienttitle,orientid,cid,catid,proff,sl1,sl1id,sl1title,sl2,sl2id,sl2title,sl3,sl3id,sl3title FROM ".$xoopsDB->prefix("znakom")."
inner join ".$xoopsDB->prefix("znakom_state")."
on state = cid
inner join ".$xoopsDB->prefix("znakom_sex")."
on sex = sid
inner join ".$xoopsDB->prefix("znakom_category")."
on category = catid
inner join ".$xoopsDB->prefix("znakom_orient")."
on orient = orientid
inner join ".$xoopsDB->prefix("znakom_sl1")."
on sl1 = sl1id
inner join ".$xoopsDB->prefix("znakom_sl2")."
on sl2 = sl2id
inner join ".$xoopsDB->prefix("znakom_sl3")."
on sl3 = sl3id
WHERE uid = '$uid'");

while (list($id,$uid,$user,$active,$sex,$category,$name,$email,$state,$hobby,$partner,$height,$weight,$birth,$pic,$Description,$imgname,$imgtime,$date,$topic,$orient,$title,$sextitle,$cattitle,$sid,$orienttitle,$orientid,$cid,$catid,$proff,$sl1,$sl1id,$sl1title,$sl2,$sl2id,$sl2title,$sl3,$sl3id,$sl3title,) = $xoopsDB->fetchRow($view)) {

echo"

Забыл указать:

Версия PHP 4.1.13-max
Версия MySQL 4.1.7
Xoops 2.0.16

----------------
Что меня не убивает, то делает меня сильнее. (Ф. Ницше)
Нам, Русским, заграницей иностранци никчему. (Б.Г.)



Замени кавычки в prefix("znakom") на prefix('znakom'). Ну и далее по аналогии. Должно помочь.
----------------
С уважением, Влад
http://www.tropica.ru
Заменил все prefix("xxxxxxxxxxx") на prefix('xxxxxxxxxx') толку НОЛЬ все рвно ругается именно на эту строчку

if ($page == "update") {


пробовал менять на
if ($page == 'update') {

НЕ ПОМОГАЕТ

Поставил уже на версию 2.0.13 - ругается на туже самую строчку. ну что в ней не так ?
----------------
Что меня не убивает, то делает меня сильнее. (Ф. Ницше)
Нам, Русским, заграницей иностранци никчему. (Б.Г.)



А приведи текст сообщения об ошибке.
----------------
С уважением, Влад
http://www.tropica.ru
Вот.
Notice [PHP]: Undefined variable: page in file c:program filesvertrigoservApachehtdocsmodulesznakomedit.php line 43




Самое смешное что в таком варианте сообщение остается но страница работает (отображается и редактируется та часть что описана):
(Измененное выделил жирным)

Цитата:
OpenTable();
if ($page == "update")
{
$sql="UPDATE ".$xoopsDB->prefix("znakom")." SET sex='$sex', active='$active', name='$name', partner='$partner', category='$category', state='$state', hobby='$hobby', Description='$Description', height='$height', weight='$weight', birth='$birth', topic='$topic', orient='$orient', proff='$proff' WHERE uid = '$uid'";
$result = $xoopsDB->query($sql);
redirect_header("index.php",2,_TEXTPROFILEUPDATED."");

if ($mailtoadmin==1) {
$xoopsMailer =& getMailer();
$xoopsMailer->useMail();
$xoopsMailer->setToEmails($emailaddress);
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
$xoopsMailer->setFromName($xoopsConfig['sitename']);
$xoopsMailer->setSubject(sprintf(_US_NEWUSERREGAT));
$xoopsMailer->setBody(sprintf(_US_HASJUSTREG));
$xoopsMailer->send();
} else {
}
} else {

$view = $xoopsDB->query("SELECT id,uid,user,active,sex,category,name,email,state,hobby,partner,height,weight,birth,pic,Description,imgname,imgtime,date,topic,orient,title,sextitle,cattitle,sid,orienttitle,orientid,cid,catid,proff FROM ".$xoopsDB->prefix("znakom")."
inner join ".$xoopsDB->prefix("znakom_state")."
on state = cid
inner join ".$xoopsDB->prefix("znakom_sex")."
on sex = sid
inner join ".$xoopsDB->prefix("znakom_category")."
on category = catid
inner join ".$xoopsDB->prefix("znakom_orient")."
on orient = orientid
WHERE uid = '$uid'");


while (list($id,$uid,$user,$active,$sex,$category,$name,$email,$state,$hobby,$partner,$height,$weight,$birth,$pic,$Description,$imgname,$imgtime,$date,$topic,$orient,$title,$sextitle,$cattitle,$sid,$orienttitle,$orientid,$cid,$catid,$proff,) = $xoopsDB->fetchRow($view)) {
Вот форма вывода:

Цитата:
echo" <tr><td WIDTH=220 align=right>"._TEXTSLA."</td><td>";

list($numrows) = $xoopsDB->fetchRow($xoopsDB->query("select slaid, slatitle from ".$xoopsDB->prefix("znakom_sla").""));
if ($numrows>0) {
$result = $xoopsDB->query("select slaid, slatitle from ".$xoopsDB->prefix("znakom_sla")." order by slatitle");
echo "<select name="sla"><option value=".$slaid.">".$slatitle."</option>";
while(list($slaid, $slatitle) = $xoopsDB->fetchRow($result)) {
echo "<option value=".$slaid.">$slatitle</option>";
}
}
echo"</td></tr>";
Где инициализируется переменная $page? Она передается в качестве параметра? Если да, то как именно происходит инициализация.
----------------
С уважением, Влад
http://www.tropica.ru
<form action=edit.php?uid=".$uid."&page=update method=post enctype=post>
----------------
Что меня не убивает, то делает меня сильнее. (Ф. Ницше)
Нам, Русским, заграницей иностранци никчему. (Б.Г.)



Попробуй в начало файла вставить вот такую конструкцию:

if ( isset( $_GET['page'] ) ) $page = $_GET['page'];
if ( isset( $_POST['page'] ) ) $page = $_POST['page'];

----------------
С уважением, Влад
http://www.tropica.ruВставил:

Получилось вот что:
Цитата:
//************************************************************
OpenTable();
if ( isset( $_GET['page'] ) ) $page = $_GET['page'];
if ( isset( $_POST['page'] ) ) $page = $_POST['page'];
if ($page == "update")
{
$sql="UPDATE ".$xoopsDB->prefix("znakom")." SET sex='$sex', active='$active', name='$name', partner='$partner', category='$category', state='$state', hobby='$hobby', Description='$Description', height='$height', weight='$weight', birth='$birth', topic='$topic', orient='$orient', proff='$proff' WHERE uid = '$uid'";
$result = $xoopsDB->query($sql);
redirect_header("index.php",2,_TEXTPROFILEUPDATED."");

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

И дай ссылку на модуль, скачаю и погляжу у себя н локалке, так быстре будет.
----------------
С уважением, Влад
http://www.tropica.ru
Вот
http://ifolder.ru/1393178

500 кил
----------------
Что меня не убивает, то делает меня сильнее. (Ф. Ницше)
Нам, Русским, заграницей иностранци никчему. (Б.Г.)



Ну что молчишь ?
----------------
Что меня не убивает, то делает меня сильнее. (Ф. Ницше)
Нам, Русским, заграницей иностранци никчему. (Б.Г.)