Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: News i temat na forum.
Forum PHP.pl > Forum > PHP
Peterek
Witam.

Jak zrobić coś takiego, że jak piszę newsy na stronie, to żeby automatycznie tworzył się temat na forum ?

Jako przykład dam tę stronę http://armia.toproste.pl

Są tam newsy i pod nimi link "Komentarze" który odnosi się do tematu na forum.

Pozdrawiam !
rokefeler15
Jak sam słusznie zauważyłeś da się...
Zorientuj się w jaki sposób twoje forum przyjmuje dane do założenia nowego wątku na forum.
Pamiętaj też że musisz mieć weryfikację użytkownika i to też musisz sprawdzić...
Potem pod zarządzanie newsami na stronie wystarczy tylko podpiąć odpowiednie linijki PHP i gotowe;)
Pozdrawiam
rokefeler15
dadexix
dobrze by było jak byś powiedział na czym "operujesz"(forum, systemu news/cms itd.)
Peterek
Jeżeli chodzi o portal nie jest to gotowiec :]
Forum to PhpBB by Przemo

Pozdrawiam
dadexix
  1. $sql = ($mode != 'editpost') ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote, topic_icon, topic_expire, topic_color, topic_title_e, topic_tree_width) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote, $msg_icon, $expire_time, '$topic_color', '$post_subject_e', $topic_tree_width)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_type = $topic_type, topic_icon = $msg_icon, topic_expire = $expire_time, topic_color = '$topic_color', topic_title_e = '$post_subject_e', topic_tree_width = $topic_tree_width " . (($post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote : "") . " WHERE topic_id = $topic_id";
tu masz zapytanie z phpBB by przemo... będziesz wiedział co robic?
Peterek
Nie za bardzo sadsmiley02.gif
Byłbym wdzięczny za wytłumaczenie smile.gif
dadexix
zmienne
  1. <?php
  2. $tabela = "nazwa tabeli w ktorej sa tematy, np. phpbb_topics"
  3. $tamat = "nazwa tematu(np. ten temat nazywa się \"news i temat na forum.\"";
  4. $id_pisacza = "ID osoby piszącej temat/dodającej newsa - zobacz ad.1 niżej"
  5. $czas_tematu = "unixowy znacznik czasu kiedy temat był napisany np. 1179765661 zobacz ad.2";
  6. $forum_id = "ID forum na którym ma napisać temat...";
  7. $zablokowany = "jeśli dasz 1 napisany temat będzie zablokowany jeśli dasz 0 będzie normalny";
  8. $topic_type = "tym tematu - 0 - normalny, 1 - przyklejony, 2 - ogłoszenie, 3 - ważne ogłoszenie."
  9. $topic_vote = "domyślnie daj 0 lecz jeśli chcesz tworzyć ankiete daj 1... ale wtedy jeszcz
    e kombinowanie z phpbb_polls itd."
    ;
  10. $msg_icon = "domyślnie 0, lecz jeśli chcesz dać jakąś ikonkę tematu - kombinuj...";
  11. $expire_time = "daj 0...";
  12. $topic_color = "możesz zostawić puste ale można też wpisać angielską nazwę koloru np. red w
    tedy nazwa tematu będzie kolorowa"
    ;
  13. $topic_subject_e = "jest to 'podpis' tematu... to co masz mniejszą czcionką pod nazwą tematu";
  14. $topic_tree_width = "daj 0.. nie trzeba chyba nic.. ja mam 0 w każdym temacie i jest cool";
  15. ?>

zapytanie dla dopisania tematu.
  1. INSERT INTO $tabela (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote, topic_icon, topic_expire, topic_color, topic_title_e, topic_tree_width) VALUES ('$temat', " . $id_pisacza . ", $czas_tematu, $forum_id, $zablokowany, $topic_type, $topic_vote, $msg_icon, $expire_time, '$topic_color', '$post_subject_e', $topic_tree_width)

więc tak...
ad1. musisz być zalogowany na stronie z tym samym ID co Twoje ID na forum lub zrobić taki "myk" aby skrypt podczas dodawania tamatu do tabeli podpisywał się pod Twoje ID z forum...
jeśli ma więcej osób korzystać ze skryptu to daj aby w jakimś panelu usera czy coś dawali swoje ID z forum... najlpeiej ID+hasło do uwierzytelnienia na forum.... albo nick+hasło i skrypt który pobierze z bazy danych forum jakie jest ich ID...
ad.2 mozesz uzyskać to z
  1. <?php
  2. mktime (date("H"),date("i"),date("s"),date("m") ,date("d"),date("Y"));
  3. ?>


powienieneś zrozumieć:D

Edit: nie zapomnij treści tematu, itd. przepuścić przez mysql_escape_string" title="Zobacz w manualu PHP" target="_manual

a i troche nie dopisałem teraz się skapłem.... w następnym edicie będzie all
Blodo
A nie lepiej zrobic na odwrot, tj. napisac skrypt ktory wyciagalby tematy z okreslonego subforum i wyswietlal jako newsy? Na pewno latwiej, i nie musisz pisac panelu admina od nowa.
dadexix
Edit2:




Więc tak.... zaraz po wykonaniu zapytania ściągasz z bazy ID tego tematu który własnie napisałeś...

  1. SELECT topic_id FROM $tabela ORDER BY topic_time ASC
(nie wiem czy się nie pomyliłem przy asc/desc... ma być malejąco)
potem wykonujesz zapytanie:
  1. INSERT INTO $tabela_p
  2. (topic_id, forum_id, poster_id, post_time, poster_ip, enable_bbcode, enable_html, enable_smiles, enable_sig, user_agent, post_order) VALUES
  3. (".$row['id'].", $forum_id, $id_pisacza, $czas_tamatu, $poster_ip, '1','1',1','1',$agent,'1')[/sql[
  4. zmienne:
  5. $tabela_p = "nazwa tabeli z postami.. domyślnie phpbb_post
  6. $row = $mysql_fetch_array(mysql_query($zapytanie)); //gdzie $zapytanie to pierwsze zapytanie z 'edit2'
  7. $poster_ip = "i tutaj nie wiem jak te ip są 'wyciągane'... maja jakies dziwne ciagli znaków... najlpeiej wejdz do PMA wyciągnie swoje ip i podaj w zmiennej.. ip znajdziesz w tabelach post,privmsg,logs";
  8. $agent = "wyciągnij tak jak poster_ip... zobacz ad.3a";
  9. ad.3a. musi to być taki ciąg znaków "a:3:{i:0;s:24:"icon_windows_xp_2003.gif";i:1;s:11:"icon_ie.gif";i:2;s:103:"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoP...";}" nie wiem co dokladnie oznacza ale wiem że będzie tam windows xp i IE 6.0... bedzie to w tabeli posts w polu user_agent...
  10.  
  11.  
  12. jeszcze jedna tabela.... post_texts....
  13.  
  14. zapytanie
  15.  
  16. [sql]insert into phpbb_posts_text (post_subject, post_text, bbcode_uid) values ($temat, $post_text,$bbuid)

zmienne
  1. <?php
  2. $post_text = "tekst postu...";
  3. $bbuid = "tego właśnie nie wiem... coś do bb code ale co...? pole to jest wypełnione zawsze gdy ktoś użyje bb code... jak w poście nie ma bb
     to jest puste.... daj puste dla testow czy bedzie dzialac wtedy bb code w temaci
    e czy nie..."
    ;
  4. ?>



uhhh wypociłem:P mam nadzieje że będzie działać... a jesli nie będzie działać to pewnie trzeba zrobić jeszcze pod phpbb_posts_tekst_history...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.