Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   LoadVars.send()...и нефига (http://www.flasher.ru/forum/showthread.php?t=79083)

Nafanya 01.05.2006 21:52

LoadVars.send()...и нефига
 
У меня на сайте(школьный проект!) есть регистратция http://steklo.yard.ru
PHP взял из исходников
Код:

<?php

function addNewContact ($strFileName) {
        #Create document object
        $objDom->formatOutput = true;
        $blnFileExists = "tmp.xml";
        #Check to see if file exists. If not then create root element
        #If it does exist, set to root element
        if (file_exists($blnFileExists)) {
                $objDom->load('tmp.xml');
                $objRoot = $objDom->documentElement;
        }else {
                $objRoot = $objDom->createElement('names');
                $objDom->appendChild($objRoot);
        }
        #Append Child Nodes with form values
        $objField = $objDom->createElement($_POST['name'],$_POST['pas']);
        $objField->appendChild($objDom);
        // Write to XML and redirect
        $objDom->save('tmp.xml');
       
}
addNewContact("tmp.xml");
?>

вот код Flash
Код:

xml = new XML();
xml.load("tmp.xml");
trace('eny');
about = new LoadVars();
xml.ignoreWhite = true;
reg.onRelease = function() {
        if (nick.text<>0 && pas1.text == pas2.text && pas1.text<>0) {
                var passFound = false;
                var ch = xml.firstChild.childNodes;
                for (var i = 0; i<ch.length; i++) {
                        if (ch[i].nodeName == nick.text) {
                                passFound = true;
                                trace(passFound);
                        }
                }
                if (passFound == true) {
                        nick.text = "Это имя уже занято!Поменяйте его!";
                        trace("ne");
                } else {
                        trace("ok");
                        abour.name = nick.text;
                        about.pas = pas2.text;
                        about.send("regpep.php", "_self", "POST");
                       
                }
        }
};

И выдаётся ещё PHP ошибка
Цитата:

Fatal error: Call to undefined method stdClass::load() in /www/s/st/steklo.yard.ru/html/regpep.php on line 10
Что делать?Помогите!

Skubent 02.05.2006 12:36

нИфига. Или, лучше, ничего.

Перевожу близко к тексту: метод load() класса stdClass неопределен. Вывод - чего-то в php составляющей не хватает.

Nafanya 02.05.2006 16:37

Я изменил!Но теперь ещё хуже
Цитата:

Error:
Fatal error: Uncaught exception 'DOMException' with message 'Invalid Character Error' in /www/s/st/steklo.yard.ru/html/regpep.php:18 Stack trace: #0 /www/s/st/steklo.yard.ru/html/regpep.php(18): DOMDocument->createElement('', 'aa') #1 /www/s/st/steklo.yard.ru/html/regpep.php(24): addNewContact('tmp.xml') #2 {main} thrown in /www/s/st/steklo.yard.ru/html/regpep.php on line 18
Код:

<?php

function addNewContact ($strFileName) {
        #Create document object
        $objDom = new DOMDocument('1.0', 'iso-8859-1');
        $objDom->formatOutput = true;
        $blnFileExists = "tmp.xml";
        #Check to see if file exists. If not then create root element
        #If it does exist, set to root element
        if (file_exists($blnFileExists)) {
                $objDom->load('tmp.xml');
                $objRoot = $objDom->documentElement;
        }else {
                $objRoot = $objDom->createElement('names');
                $objDom->appendChild($objRoot);
        }
        #Append Child Nodes with form values
        $objField = $objDom->createElement($_POST['name'],$_POST['pas']);
        $objField->appendChild($objDom);
        // Write to XML and redirect
        $objDom->save('tmp.xml');
       
}
addNewContact("tmp.xml");
?>


Antares 03.05.2006 00:53

Недопустимый символ. Парсер спотыкается.

son_of_war 03.05.2006 07:38

а что, функция в php будет видеть $_POST если он не прописан через global ?
по-моему нет
и потом, нигде нет проверки на наличие символов разметки в тексте, само собой парсер споткнется когда-нибудь

Skubent 03.05.2006 12:25

Будет видеть, никуда не денется, учи матчасть.
А вот в такой конструкции, как написано, $_POST массив действительно пустой.

son_of_war 03.05.2006 13:16

я про это и говорю...
при вызове функций php все переменные, используемые в них считает локальными, если явно не указать
global $var1, $var2 ... ;

Skubent 03.05.2006 14:54

Цитата:

Сообщение от son_of_war
я про это и говорю...
при вызове функций php все переменные, используемые в них считает локальными, если явно не указать
global $var1, $var2 ... ;

А я говорю, учи матчасть.
$GLOBALS
$_SERVER
$_GET
$_POST
$_COOKIE
$_FILES
$_ENV
$_REQUEST
$_SESSION
являются (начиная с 4.1.0.) суперглобальными и доступны из любой части кода.

Nafanya 03.05.2006 23:07

Спасибо всем за участие!Я разобрался!:yahoo: :D :yahoo: :D


Часовой пояс GMT +4, время: 11:50.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.