Webboard

Pełna wersja: Formularz dodający posty
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
wersja skryptu MyBB: 1.6.x
adres forum: www.planeta-skilla.pl
na czym polega problem (screen, opis, komunikaty): brak dostatecznych umiejętności programistycznych

Witam,
postanowiłem na swoim forum zrobić formularz, po wypełnieniu którego na forum zostanie dodany nowy post. Wszystko ładnie działa, tylko mam problem, jak dodać załącznik. Mianowicie formularz polega na tym, że wpisujemy pewne informacje i dodajemy załącznik, następnie klikamy przycisk wyślij, tworzy się nowy post z informacjami które wprowadziliśmy + załącznik.

Niestety nie potrafię dodać załącznika. Do utworzenia nowego wątku używam funkcji createThread(). Tutaj jest link do formularza: http://www.planeta-skilla.pl/formularz.php?id=2
Nie lepiej użyć pluginu xthread?
1. Chciałem poćwiczyć swoje umiejętności, nauczyć się czegoś nowego.
2. Nie słyszałem o takowym pluginie
@up dzięki za link, ale wolę sam pokombinować.

Okej troszkę posunąłem się do przodu, ale jeszcze jest jakiś mały błąd. Oto co wykminiłem:

Kod:
require_once 'inc/functions_upload.php'; //dodajemy funkcje upload_attachment
(...)
$plik = $_FILES["plik"];
$plik['name'] = time()."-".$plik['name']; // dzieki temu, nie wyskoczy nigdy error o powtórzonej nazwie
$upload_info = upload_attachment($plik); // funkcja upload_attachment dodaje na forum załącznik

Czyli mamy już załącznik na forum, ale nie jest on przypisany do żadnego postu, a więc aktualizujemy rekord w bazie danych:

Kod:
$create = $MyBBI->createThread($data); // funkcja która słuzy do utworzenia nowego tematu
$query = $db->query("
        UPDATE ".TABLE_PREFIX."attachments
        SET pid='".$create['pid']."' , uid='".$mybb->user['uid']."'
        WHERE aid='".$upload_info['aid']."'
    ");
Dzięki temu zapytaniu, dajemy autora naszemu załącznikowi oraz przydzielamy go do odpowiedniego tematu.

I tutaj pojawia się błąd: jak wejdziemy do tematu, który został utworzony przez skrypt, to nie widać tego załącznika, aczkolwiek gdy klikniemy "pełna edycja" to wygląda tak jakby załącznik został normalnie dodany. Gdy klikniemy podgląd, to normalnie się ten załącznik wyświetla. Niestety po kliknięciu "Aktualizuj post" dalej załącznika nie widać, tak jakby brakowało jakiegoś wpisu jeszcze gdzieś. Ktoś ma jakiś pomysł?

Okej już wszystko działa. Trzeba było zaktualizować ilość załączników w danym temacie:

Kod:
$query = $db->query("
            UPDATE ".TABLE_PREFIX."threads
            SET attachmentcount='1'
            WHERE tid='".$create['tid']."'
        ");
$post = $db->fetch_array($query);

Problem można rzec rozwiązany. Temat do zamknięcia.