Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wywołanie funkcji z js za pomocą php
laresistance
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 18.07.2012

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


Witam.
Robię aplikację na Facebook
W aplikacji po zalogowaniu pyta o zezwolenie na publikację na wallu uzytkownika i nastepnie powinna wysoływać się funkcja publikujOdwiedziny opisana w kodzie poniżej.

błąd pewnie jest gdzieś w tej sekcji:

<? else : ?>
publikujOdwiedziny(tytul)

Ale nie wiem gdzie dokłądnie.
Prosze o pomoc

działąnie aplikacji można przetestować na e-area.pl

kod aplikacji php:
  1. <?php
  2. require('facebook.php');
  3.  
  4. $facebook = new Facebook(array(
  5. 'appId' => '341606939255273',
  6. 'secret' => 'c132c058acff615b748bbafdf2419fcc',
  7. 'cookie' => true,
  8. ));
  9.  
  10. $session = $facebook->getUser();
  11.  
  12. ?>
  13.  
  14. <!doctype html>
  15. <html>
  16. <head>
  17. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  18. <title>Aplikacja Poczatkowa</title>
  19. </head>
  20. <body>
  21. <div id="fb-root"></div>
  22. <script>
  23. window.fbAsyncInit = function() {
  24. // inicjalizacja JavaScript SDK
  25. FB.init({
  26. appId : '<? echo($facebook->getAppId()); ?>',
  27. session : <? echo(json_encode($session)); ?>,
  28. status : true,
  29. cookie : true,
  30. xfbml : true // włączamy parsowanie XFBML
  31. });
  32.  
  33. // jeśli użytkownik zaloguje się, odświeżamy stronę
  34. FB.Event.subscribe('auth.login', function() {
  35. window.location.reload();
  36. });
  37. };
  38.  
  39. (function() {
  40. var e = document.createElement('script');
  41. e.src = document.location.protocol + '//connect.facebook.net/pl_PL/all.js';
  42. e.async = true;
  43. document.getElementById('fb-root').appendChild(e);
  44. }());
  45.  
  46. (function publikujOdwiedziny(tytul) {
  47. FB.ui({
  48. method: 'stream.publish',
  49. attachment: {
  50. name: tytul,
  51. caption: "Zobacz gdzie własnie byłem i co odwiedzilem",
  52. media: [{
  53. type: 'image',
  54. href: 'http://e-area.pl/',
  55. src: 'http://e-area.pl/'
  56. }]
  57. },
  58. action_links: [{
  59. text: 'Zerknij sam!',
  60. href: 'http://e-area.pl/'
  61. }],
  62. user_message_prompt: 'Powiedz swoim znajomym o tym miejscu'
  63. });
  64. });
  65. </script>
  66. <center>
  67. <?php if ($me) : ?>
  68. Witaj, <? echo($me['first_name']); ?>
  69. <img src="https://graph.facebook.com/<? echo($uid); ?></picture">
  70. <? else : ?>
  71. <p>Aby korzystać z tej aplikacji musisz się zalogować</p><br />
  72. <fb:login-button perms="publish_stream"></fb:login-button><br><br>
  73. <? else : ?>
  74. publikujOdwiedziny(tytul)
  75. <? endif; ?>
  76.  
  77. <fb:title>Opowiedz o tych meijscach</fb:title><br><br>
  78. <br><br><fb:comments xid="titans_comments" canpost="true" candelete="false" returnurl="http://apps.facebook.com/myapp/titans/">
  79.  
  80.  
  81. </center>
  82. </body>
  83. </html>
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




if
else
else

Co to niby ma być? Przenosze na przedszkole bo masz problemy z podstawową składnią


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
laresistance
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 18.07.2012

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


To akurat znalazłem w jakimś tutorialu na necie
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie chce mi się wierzyć, że w tutoriali dali składnię:
if
else
else

Wielce prawdopodobne że coś źle przepisałeś lub wyjąłeś fragment z większej całości

A jeśli naprawdę tam jest
if
else
else
to już nigdy nie zaglądaj do tego tutoriala


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
laresistance
post
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 18.07.2012

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


Tam był fragment tylko z jednym else ale z tego co przed chwilą spojrzałem na instrukcję na necie to faktycznie else wykonuje się tylko w przypadku niewykonania ifa więc powinno być elseif. Więc jeśli chcę by jedno wykonywało się po drugim powinienem zastosować if elseif else czyli powinno to wyglądać jakoś tak:

<?php if ($me) : ?>
Witaj, <? echo($me['first_name']); ?>
<img src="https://graph.facebook.com/<? echo($uid); ?></picture">
<? elseif(TRUE) : ?>
<p>Aby korzystać z tej aplikacji musisz się zalogować</p><br />
<fb:login-button perms="publish_stream"></fb:login-button><br><br>
<? else : ?>
publikujOdwiedziny(tytul)
<? endif; ?>
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przecież to jest nadal bezsensu.... dla ELSEIF dałeś TRUE wiec do ELSE nigdy nie dojdzie...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
laresistance
post
Post #7





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 18.07.2012

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


Jeśli daję samo else if (bez wyrażenia w nawiasie) to mi podkreśla jako błąd w środowisku. to jak powinno być?

Co musze dodać w nawiasie else if?

Ten post edytował laresistance 23.07.2012, 11:06:04
Go to the top of the page
+Quote Post
!*!
post
Post #8





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

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


Zacznijmy od podstaw: http://pl.wikibooks.org/wiki/PHP/Instrukcja_if


--------------------
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
laresistance
post
Post #9





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 18.07.2012

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



if - wykonuje się, gdy spełniony został podany warunek
elseif - jeżeli nie został spełniony poprzedni warunek, PHP testuje aktualny i jeżeli jest prawdziwy, wykonuje ten kawałek kodu.
else - wykonywane, jeżeli żaden z powyższych warunków nie został spełniony.

idąc tym torem w swojej aplikacji mam 3 akcje:

1. sprawdzić czy użytkownik jest zalogowany. Jeśli tak pokazuje Witaj .... Jeśli nei przechodzi do warunku 2
2. Wyświetla panel do logowania wraz z pobraniem odpowiednich zezwoleń
3. Jeśli użytkownik jest zalogowany automatycznie wyrzuca informację na walla użytkownika. - funkcja publikujOdwiedziny

Czyli robię warunek
if
1
else
2
endif

teraz roizumiem musze sobie zrobić drugiego ifa:

if (zalogowany i jest zezwolenie na publikację) 3

Dobrze myślę?
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Tak, teraz dobrze myślisz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
laresistance
post
Post #11





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 18.07.2012

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


To teraz pytanie za 100pky smile.gif
Jak mam wywoałać funkcję publikujOdwiedziny(tytul)?
Tzn jeśłi napiszę
if (warunek do spełnienia) "co tu ma być?"

Funkcje w php wywoływało się nazwa funkcji(parametr);
A jeśli ta funkcja jest w sekcji <script></script> jak w przykłądzie z pierwszego postu to jak ją wywoałać?
Go to the top of the page
+Quote Post
!*!
post
Post #12





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

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


  1. if (warunek do spełnienia) "co tu ma być?"


Czytałeś link o instrukcjach warunkowych?
Najprościej i najprymitywniej:
  1. if()
  2. {
  3. echo '<script>alert();</script>';
  4. }



--------------------
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
sobol6803
post
Post #13





Grupa: Zarejestrowani
Postów: 115
Pomógł: 13
Dołączył: 19.06.2011
Skąd: Ruda Śląska

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


Wywal z 1 posta te kody aplikacji na FB, bo teraz każdy sobie może napisać skrypt do Twojej apki i pobrać dane użytkowników.


--------------------
  1. mysql_query("DROP DATABASE $_GET['dbname']");
Go to the top of the page
+Quote Post
laresistance
post
Post #14





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 18.07.2012

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


sprawa zakończona smile.gif Można zamyklać
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 Aktualny czas: 20.08.2025 - 08:26