Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Слепая переменная при подгрузке файла (https://forum.antichat.xyz/showthread.php?t=92194)

Ru}{eeZ 17.11.2008 16:57

Слепая переменная при подгрузке файла
 
Файл в который гружу index.php:
PHP код:

  $_GET['p'] = 'new_read';
  
file_get_contents($site['dir'].'system/main_system.php');
  
$fp fopen('../database/news.db''a');
  
fputs($fp'[id]'.$id2.'[/id]'."\r\n".'[name]'.$_POST['new_them_name'].'[/name]'."\r\n".'[content]'.$_POST['new_them_body'].'[/content]'."\r\n".'[date]'.date('d.m.y').'[/date]'."\r\n"); 

main_system.php:
PHP код:

  case 'new_read':
$file file_get_contents($site['dir'].'database/news.db');
preg_match_all('/\[id\][0-9]+\[\/id\]/'$file$id);
foreach(
$id as $id2) {
  
$id2 str_replace('[id]'''$id2);
  
$id2 str_replace('[/id]'''$id2);
  
//echo '<pre>'; var_dump($id2);


../database/news.db:
Код:

[id]1[/id]
[name]Бородин бомж[/name]
[content]А там
тыры-пыры,
трали-вали...[/content]
[date]15-11-2008[/date]
[id]2[/id]
[name]ЫЫыыЫЫыЫ[/name]
[content]Текст всякий темный[/content]
[date]14-10-2008[/date]
[id][/id]
[name]тест[/name]
[content]тест[/content]
[date]17.11.08[/date]

В последний раз id был пустым, т.к. переменную не нашёл


Я хочу получить переменную $id2 из news.db, затем записать её же в следующую новость, естьственно, когда всё получится буду плюсовать по одному...

Notice: Undefined variable: id2 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\xdf\18\admincp\ind ex.php on line 20

п.с. если юзать инклуд - то добавляется в начало сценария, а та часть кода файла index.php находится в нескольких ифах и т.д....

Подскажите пожалуйста в чё может быть проблемма? :(
спасибо

astrologer 17.11.2008 18:16

Это очень похоже на самописную базу данных на основе придуманного языка разметки. Надеюсь, это не так.

Ru}{eeZ 17.11.2008 18:19

Это так... но мне нужна помощь) юзать всякие мускули и т.п. не предлагать)

astrologer 17.11.2008 18:27

Цитата:

Сообщение от Ru}{eeZ
Это так... но мне нужна помощь) юзать всякие мускули и т.п. не предлагать)

Предлагаю юзать XML.

kalpsik 17.11.2008 18:38

предлагаю такую логику:
if(!$id2){
ищешь предыдущий;
id2++;
}

да, если не находишь, тогда 0 получается...

Gifts 17.11.2008 19:05

ТС, простите, но вы пишете что-то очень страшное:

Чем вам не нравится
PHP код:

preg_match_all('#\[id\]([0-9]+)\[/id\]#i',$file,$id);
$id2=array_pop($id[1]); 

Зачем ненужные foreach, и еще - $id2 - будет массивом, в вашем случае. В моем - будет извлечен последний элемент
Далее, что вы надеетесь получить file_get_contents'ом кроме текста? Или вы считаете что инклуд может быть только в начале скрипта?

Ru}{eeZ 17.11.2008 19:12

Цитата:

Сообщение от Gifts
ТС, простите, но вы пишете что-то очень страшное:

Чем вам не нравится
PHP код:

preg_match_all('#\[id\]([0-9]+)\[/id\]#i',$file,$id);
$id2=array_pop($id[1]); 

Зачем ненужные foreach, и еще - $id2 - будет массивом, в вашем случае.

недодумал)

Цитата:

что вы надеетесь получить file_get_contents'ом кроме текста?
текста кажется хватает)

Цитата:

Или вы считаете что инклуд может быть только в начале скрипта?
а разве нет? :)

-

array_pop() раньше не знал))
а зачем ты ставишь модификатор i? он ведь там не нужен)))

Gifts 17.11.2008 19:15

Ru}{eeZ ТЕКСТА php скрипта? Заметьте, что переменные вы так не получите, ммм никогда ^^ А только либо ВЫВОД этого скрипта (все echo) или исходный код

http://ru2.php.net/manual/ru/function.include.php - читать вдумчиво пример номер 1

GuD-ok 17.11.2008 19:17

Не занимайся *ерней юзай XML.

vikseriq 17.11.2008 19:33

1 есть классная фича - eval()
2 хмл нервов больше потреплет - ради чтения можно взять через регекспы.
3 видал как msini устроены? так тоже на пыхе можно
ЗЫ мускуль рулит


Время: 17:19