Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wysyłanie PM na forum poprzez skrypt, Wysyłanie PM na forum poprzez skrypt php na własnej stronie
patrysiek2
post 4.11.2013, 20:06:29
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 5
Dołączył: 8.12.2011
Skąd: Łomża

Ostrzeżenie: (0%)
-----


Otóż po ciężkim i mało efektownym myśleniu wyszedł mi taki kodzik:

  1. function send_msg($u_id)
  2. {
  3. $config['address'] = 'http://forum.taern.pl/';
  4. $path['cookie'] = dirname(__FILE__).'/cookies.txt';
  5.  
  6. $post['post'] = 'Wyślij';
  7. $post['message'] = 'wiadomosc';
  8. $post['subject'] = 'Rejestracja -Dynamiczne Sygnatury na devsite-waski.hol.es';
  9. $post['address_list[u][680]'] = "to";
  10. $ch = curl_init($config['address'].'ucp.php?i=pm&mode=compose&u='.$u_id);
  11. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  12. curl_setopt($ch, CURLOPT_HEADER, true);
  13. curl_setopt($ch, CURLOPT_COOKIEFILE, $path['cookie']);
  14. curl_setopt($ch, CURLOPT_COOKIEJAR, $path['cookie']);
  15. curl_setopt($ch, CURLOPT_POSTFIELDS, prepare_request($post));
  16. $page = curl_exec($ch);
  17. curl_close($ch);
  18.  
  19. echo $page;
  20. }


Skrypcik powinien wysyłać wiadomość do użytkownika o id 680, lecz niestety tego nie robi :/
Wszystko ładnie wyświetla (temat, tresc, odbiorcę), lecz wyskakuje Wysłany formularz był nieprawidłowy. Proszę spróbować ponownie. więc pewnie czegoś brakuje.
Zapraszam na http://devsite-waski.hol.es i tam jest jak to wygląda.


--------------------
if($problem == 1)
{
header("Location: http://www.forum.php.pl");
}
else
{
thinking();
}
Go to the top of the page
+Quote Post
grzes999
post 4.11.2013, 20:23:50
Post #2





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

Ostrzeżenie: (0%)
-----


Sprawdź jakie nagłówki idą podczas wysyłania wiadomości na forum. Bo jaka sam stwierdzielś pewnie czegoś brakuje.
No i pokaż jak wygląda prepare_request
Go to the top of the page
+Quote Post
patrysiek2
post 4.11.2013, 20:53:14
Post #3





Grupa: Zarejestrowani
Postów: 108
Pomógł: 5
Dołączył: 8.12.2011
Skąd: Łomża

Ostrzeżenie: (0%)
-----


Cytat(grzes999 @ 4.11.2013, 20:23:50 ) *
Sprawdź jakie nagłówki idą podczas wysyłania wiadomości na forum. Bo jaka sam stwierdzielś pewnie czegoś brakuje.
No i pokaż jak wygląda prepare_request


  1. function prepare_request($query)
  2. {
  3. if(is_array($query) && !empty($query))
  4. {
  5. foreach($query as $key => $value)
  6. {
  7. $query[$key] = urlencode($key).'='.urlencode($value);
  8. }
  9.  
  10. return implode('&', $query);
  11. }
  12. else
  13. {
  14. return false;
  15. }
  16. }


--------------------
if($problem == 1)
{
header("Location: http://www.forum.php.pl");
}
else
{
thinking();
}
Go to the top of the page
+Quote Post
grzes999
post 5.11.2013, 10:11:56
Post #4





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

Ostrzeżenie: (0%)
-----


A sprawdzałeś co jest wysyłane postem jak wysyłasz normalnie wiadmośćquestionmark.gif
Można to sprawdzić dodatkiem do Firefoxa Live http headers. Wtedy zobaczysz czy wysylasz wszystko to co przezyłane podczas norlamnego przysylania.
Go to the top of the page
+Quote Post
Olbrych
post 5.11.2013, 15:43:30
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 2
Dołączył: 1.02.2010

Ostrzeżenie: (0%)
-----


A jak później to wykorzystujesz ? $post['address_list[u][680]'] = "to"; Dziwny zapis. Robisz póżniej z niego $adrdress_list[u][680] ?
Go to the top of the page
+Quote Post
patrysiek2
post 5.11.2013, 16:15:59
Post #6





Grupa: Zarejestrowani
Postów: 108
Pomógł: 5
Dołączył: 8.12.2011
Skąd: Łomża

Ostrzeżenie: (0%)
-----


Cytat(grzes999 @ 5.11.2013, 10:11:56 ) *
A sprawdzałeś co jest wysyłane postem jak wysyłasz normalnie wiadmośćquestionmark.gif
Można to sprawdzić dodatkiem do Firefoxa Live http headers. Wtedy zobaczysz czy wysylasz wszystko to co przezyłane podczas norlamnego przysylania.


Albo nie umiem się obsługiwać albo nwm :/ Podczas wysyłania wiadomości z prawdziwego forum mam takie cuś:
Kod
http://forum.taern.pl/styles/cs/theme/images/site_login.png

GET /styles/cs/theme/images/site_login.png HTTP/1.1
Host: forum.taern.pl
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://forum.taern.pl/styles/cs/theme/sv.css
Cookie: phpbb3_az4x4_u=680; phpbb3_az4x4_k=; phpbb3_az4x4_sid=c9bb337b1a97379b9792ffeb5ade8d5f
Connection: keep-alive

HTTP/1.1 404 Not Found
Date: Tue, 05 Nov 2013 15:05:14 GMT
Server: LiteSpeed
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Pragma: no-cache
Content-Type: text/html
Content-Length: 389
----------------------------------------------------------
http://forum.taern.pl/ucp.php?i=pm&mode=view&p=83030

GET /ucp.php?i=pm&mode=view&p=83030 HTTP/1.1
Host: forum.taern.pl
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: phpbb3_az4x4_u=680; phpbb3_az4x4_k=; phpbb3_az4x4_sid=c9bb337b1a97379b9792ffeb5ade8d5f
Connection: keep-alive

HTTP/1.1 200 OK
Content-Encoding: gzip
Vary: Accept-Encoding
Transfer-Encoding: chunked
Date: Tue, 05 Nov 2013 15:05:17 GMT
Server: LiteSpeed
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
X-Powered-By: PHP/5.3.3
Content-Type: text/html; charset=UTF-8
Cache-Control: private, no-cache="set-cookie"
Expires: 0
Pragma: no-cache
----------------------------------------------------------
http://forum.taern.pl/styles/cs/theme/images/site_login.png

GET /styles/cs/theme/images/site_login.png HTTP/1.1
Host: forum.taern.pl
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://forum.taern.pl/styles/cs/theme/sv.css
Cookie: phpbb3_az4x4_u=680; phpbb3_az4x4_k=; phpbb3_az4x4_sid=c9bb337b1a97379b9792ffeb5ade8d5f
Connection: keep-alive

HTTP/1.1 404 Not Found
Date: Tue, 05 Nov 2013 15:05:18 GMT
Server: LiteSpeed
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Pragma: no-cache
Content-Type: text/html
Content-Length: 389
----------------------------------------------------------


Cytat(Olbrych @ 5.11.2013, 15:43:30 ) *
A jak później to wykorzystujesz ? $post['address_list[u][680]'] = "to"; Dziwny zapis. Robisz póżniej z niego $adrdress_list[u][680] ?


$post['address_list[u][680]'] = "to"
Jest wklepane "na sztywno" ponieważ chce to najpierw testować. Jak uda się wysyłanie wiadomości to zrobię zamiast 680 to będzie tam zmienna która zamienia nick użytkownika z forum i pobiera jego ID, które będzie właśnie w zmiennej $post['address_list[u][/ID[/i]]'][/i]. Bo z tego co zauważyłem tak powinno być.


--------------------
if($problem == 1)
{
header("Location: http://www.forum.php.pl");
}
else
{
thinking();
}
Go to the top of the page
+Quote Post
!*!
post 5.11.2013, 16:41:12
Post #7





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Skrypty forum mają opcje wysyłania masowych wiadomości PW/email przez admina, lub umożliwiają to wtyczki do nich.
Spamowanie u innych nie jest najlepsze ;)


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
patrysiek2
post 5.11.2013, 16:45:57
Post #8





Grupa: Zarejestrowani
Postów: 108
Pomógł: 5
Dołączył: 8.12.2011
Skąd: Łomża

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 5.11.2013, 16:41:12 ) *
Skrypty forum mają opcje wysyłania masowych wiadomości PW/email przez admina, lub umożliwiają to wtyczki do nich.
Spamowanie u innych nie jest najlepsze ;)

Nie chodzi o spam, lecz małą odmianę. Ktoś zakłada konto u mnie na stronce podając tylko swój login, a ja zamiast słać emaile to na skrzynkę na forum chcę wysłać PM'a.


--------------------
if($problem == 1)
{
header("Location: http://www.forum.php.pl");
}
else
{
thinking();
}
Go to the top of the page
+Quote Post
!*!
post 5.11.2013, 16:56:21
Post #9





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


To pogadaj z adminem forum docelowego, niech Ci udostępni API od PW.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
patrysiek2
post 5.11.2013, 17:28:47
Post #10





Grupa: Zarejestrowani
Postów: 108
Pomógł: 5
Dołączył: 8.12.2011
Skąd: Łomża

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 5.11.2013, 16:56:21 ) *
To pogadaj z adminem forum docelowego, niech Ci udostępni API od PW.


Myślałem, że program ładnie cURL'em rozwiąże :/


--------------------
if($problem == 1)
{
header("Location: http://www.forum.php.pl");
}
else
{
thinking();
}
Go to the top of the page
+Quote Post
grzes999
post 5.11.2013, 18:26:08
Post #11





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

Ostrzeżenie: (0%)
-----


Coś nie uchwyciłeś wszystkiego ;p
to jest przesyłane postem
  1. username_list=&icon=0&address_list%5Bu%5D%5B18128%5D=to&subject=Re%3A+POMOC+-%3E+Najcz%C4%99stsze+problemy%2Fb%C5%82%C4%99dy+i+pytania&addbbcode20=100&message=sss&attach_sig=on&lastclick=1383672231&status_switch=556&post=Wy%C5%9Blij&creation_time=1383672231&form_token=d5969882a47a232b34bca0d9d4b7521054baf29a


Ten post edytował grzes999 5.11.2013, 18:26:26
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 00:50