Форум Flasher.ru

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

kuflash 12.08.2009 14:09

Помогите додумать алгоритм
 
Всем гуру PHP здрасте. Вот есть небольшой код:
PHP код:

<?php
$login 
= $_POST["login"];
$question = $_POST["question"];
$scores = $_POST["scores"];
$dom = new DomDocument();
$dom->load("bd_users.xml");
$root = $dom->documentElement;
$nodeList = $root->childNodes;
$flag = false;
for(
$i=0;$i<$nodeList->length;$i++){
$child = $nodeList->item($i)->childNodes->item(0);
$value = $child->nodeValue;
if(
$value == $login){
$flag = true;
$nodeList->item($i)->childNodes->item(2)->nodeValue = 0;
$dom->save("bd_users.xml");
}
}
if(!
flag){
$person = $dom->createElement("person");
$name = $dom->createElement("name",iconv('utf-8','utf-8',$login));
$bdquestion = $dom->createElement("bdquestion",iconv('utf-8','utf-8',$question));
$score = $dom->createElement("score",iconv('utf-8','utf-8',$scores));
$person->appendChild($name);
$person->appendChild($bdquestion);
$person->appendChild($score);
$dom->getElementsByTagName("users")->item(0)->appendChild ($person);
$dom->save("bd_users.xml"); 
}
?>

Суть его такова: Из флеша передаются три переменные: логин, база вопросов и очки. Так вот если в хмл файле юзер с таким логином есть, то ему надо обнулить очки. Это работает. А если такого юзера еще не существует, то надо добавить его в хмл файл. Вот это как раз не работает. Может вы поможете мне? Заранее благодарен за дельные советы:victory:

duhowka 12.08.2009 22:24

целый день ждал ответов, на этот пост.
если php5, то вроде бы не хватает одной строки...
Код:

$person = $dom->createElement("person");
$name = $dom->createElement("name",iconv('utf-8','utf-8',$login));
$bdquestion = $dom->createElement("bdquestion",iconv('utf-8','utf-8',$question));
$score = $dom->createElement("score",iconv('utf-8','utf-8',$scores));
$person_new= $dom->appendChild($person);
$person_new->appendChild($name);
$person_new->appendChild($bdquestion); ...

может конечно я его чего не знаю, но у вас синтаксис работы с xml dom взят Php5, вы уверены, что на хостере стоит 5? может быть в этом проблема?
з.ы один раз у меня такое было. много времени убил =)

kuflash 12.08.2009 22:30

Я уже сам разобрался вся трабла была вот тут:
if(!flag){
А надо:
if($flag==false){
В общем все работает прекрасно

dmx102 26.08.2009 17:46

P.S.: iconv уберите, это здесь не будет работать ;)

P.P.S.: вы пытаетесь конвертировать символы из одной кодировочной таблицы не в другую, а в ту же самую

easmith 07.09.2009 04:28

А вообще при тестировании нужно

PHP код:

error_reporting(E_ALL); 

писать в начале скрипта

epsyl 10.09.2009 11:39

какая же гадкая у вас тут подсветка кода
пардон за флейм


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

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