Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP] Includowanie pliku z parametrem
Forum PHP.pl > Forum > Przedszkole
jasiek65
Witam,

Postanowiłem zrobić pierwszą stronę całkowicie samemu w php. Jednak nie mogę sobie poradzić z jedną rzeczą.

Doszedłem do momentu gdzie zaincludowanie pliku z parametrem za pomocą js np.
  1. /plik.php?x=23

Oczywiście nie jest to możliwe ,stąd moje pytanie jak można otrzymać ten efekt w inny sposób.
za pomocą metody get wybieram id z bazy mysql
  1. if (isset($_GET['x'])) {
  2. $x = (int) $_GET['x'];
  3. }


Widziałem w pewnym serwisie ,że webmaster użył ramki, jadnak ja potrzebuje to w js
  1. <script language="javascript" type="text/javascript" src="/plik.php?x=23">



Za pomoc z góry dziękuje snitch.gif

Pozdrawiam,
jasiek65 biggrin.gif
IceManSpy
A co chcesz osiągnąć? Bo trochę to skomplikowane to co mówisz.
markonix
Kod
<script language="javascript" type="text/javascript" src="/plik.php?x=<?php echo $x;?>">

Może o to chodzi?
jasiek65
Zapewne potrzebna była by jakaś funkcja żeby zastąpić
  1.  
  2. if (isset($_GET['x'])) {
  3. $x = (int) $_GET['x'];
  4. }

Napisałem taki skrypt który wyciąga zmienne po id:
  1. <?php
  2. if (isset($_GET['x'])) {
  3. $x = (int) $_GET['x'];
  4. } else {
  5. $x = 0;
  6. }
  7. if ($x> 0){
  8. require_once ('dane_baza.php"');
  9. $zapytanie = "SELECT `nazwa`,`liczba` FROM `cos` WHERE `id`='$x'";
  10. $result = mysql_query($zapytanie) or die('Błąd w zapytaniu takim a takim. Komunikat: '.mysql_error().'; Numer błędu: '.mysql_errno());
  11. while ($wiersz = mysql_fetch_row($result))
  12. {........


skrypt moge jedynie zaincludować za pomocą ramki.
Na wielu stronach są liczniki do wstawienia na www.
Wykorzystuje się do tego js właśnie ja bym chciał zaincludować mój skrypt do pliku js i aby user mógł go wstawić na swoją stronke

Nie mogę włączyć global register
IceManSpy
Ale nadal nie wiadomo co chcesz osiągnąć... o.O ? Przynajmniej ja nie wiem.
CuteOne
JS to tak naprawdę "przykrywka" dla php smile.gif wiele serwisów wykorzystuje fakt, że poprzez <img src="plik.php"> można wywołać skrypt php.

np wrzucając na "cudzą" stronę takie cuś [ps. można to zrobić w inny sposób ale ten jest najłatwiejszy]
  1. <script src="http://example.com/skrypt.js"></script>


skrypt.js:
  1. document.write('<img src="http://example.com/jakis.php?id=100" width=0 height=0 border=0>'); //z palca wiec pewnie nie dziala tak jak powinien ;]
CuteOne
my nie mamy dysleksji... przepisz [lub poproś brata/siostrę, żeby przepisali] cały post o.O
jasiek65
Wiem ,ale niechciałbym ,aby to był obrazek ponieważ formularz by nie zadziałał
Chce właśnie użyć tej "przykrywki" do wstawienia zawartości pliku php na strone w sekcji body

  1. /plik.php?x=jakieś id
  2.  





Za pomocą ramek mógłbym otrzymać podobny efekt jednak wolałbym użyć do tego js




Wydaje mi się ,że wystarczyłoby dodać ' document.write ' a potem zaincludować plik jako js
jednakże to nie działa

Prosze o pomoc chociaż częściową, bardzo mi na tym zależy


Może cały kod pliku php nie będzie potrzebny ,jednak wrazie "W" podam:)

  1. <?php if (isset($_GET['x'])) { $x = (int) $_GET['x']; } else { $x = 0; }
  2. if ($x> 0){ require_once ('dane_baza.php"'); $zapytanie = "SELECT `nazwa`,`liczba` FROM `cos` WHERE `id`='$x'";
  3. $result = mysql_query($zapytanie) or die('Błąd w zapytaniu takim a takim. Komunikat: '.mysql_error().';
  4. Numer błędu: '.mysql_errno());
  5. while ($wiersz = mysql_fetch_row($result)) { echo '<div id="obrazek"><a href="'. $wiersz[1] .'" target="_blank"><img alt="'. $wiersz[0] .'" id="thumb" src="http://open.thumbshots.org/image.pxf?url='. $wiersz[1] .'"></a></div> <div id="link"><a href="'. $wiersz[1] .'" target="_blank">'. $wiersz[0] .'</a><div>'; } echo "<form action=...... > </form>"; } else{ ... } ?>




else zrobiłbym tak

  1. document.write("podaj id");
CuteOne
ehhh... mogę ci pomóc ale nie bardzo wiem o co ci chodzi ;/

Chcesz wywołać skrypt .php z poziomu JS, który pobierze coś z bazy i wyświetli formularz?
jasiek65
Dokładnie,

Po wstawieniu odsyłacza js na strone przez usera wyświetli dane ,a pod nim formularz

oto screen:



aha czy jest taka możliwość aby userzy mogli za pomocą css modyfikować formularz?
oczywiście każdy zaznacznik jest w divach i ma id

Cytat(CuteOne @ 2.11.2010, 17:54:55 ) *
ehhh... mogę ci pomóc ale nie bardzo wiem o co ci chodzi ;/

Chcesz wywołać skrypt .php z poziomu JS, który pobierze coś z bazy i wyświetli formularz?


Tak

Czy wie ktoś jak rozwiązać ten problem?
markonix
Cytat(CuteOne @ 2.11.2010, 17:54:55 ) *
wywołać skrypt .php z poziomu JS, który pobierze coś z bazy i wyświetli formularz?


Ajax (skorzystaj z jQuery albo innej biblioteki).
CuteOne
On chce dać użytkownikom możliwość wstawienia swojego skryptu JS na stronę, więc AJAX wywali błąd [względy bezpieczeństwa] smile.gif

Cytat
Tak

Czy wie ktoś jak rozwiązać ten problem?


Zrób tak jak ci pisałem.... tu masz kawałek kodu JS

  1. var HTP = document.location.protocol;
  2. var URL = HTP + '//www.expample.pl/';
  3.  
  4. var d=document;
  5. var c=d.getElementsByTagName('body')[0];
  6. var w=d.createElement('form'); // formularz
  7.  
  8.  
  9.  
  10. var i=d.createElement('img'); //obrazek z src do wywołania PHP
  11. i.src= URL + 'id=12345';
  12. i.style.border='0';
  13. c.insertAfter(i,c.firstChild);


W ten sposób wywołujesz skrypt PHP [src w obrazku] oraz tworzysz formularz
jasiek65
Wszystko by było w porządku ale napotkałem pewne problemy:

1.Chciałbym ,aby użytkownicy mogli dowolnie formatować w css ten formularz i wyświetlanie co nie jest możliwe jeżeli wstawimy jako obrazek.
2.Niechciałbym żeby to był obrazek ponieważ tam są odsyłacze i musiałbym nadać całemu obrazkowi <a href=""></a>
CuteOne
OBRAZEK TO TYLKO "WYWOŁYWACZ" SKRYPTU PHP

wygląd i to co ma się znaleźć w formularzu tworzysz tak jak wyżej opisałem za pomocą JS...... ile razy można to samo powtarzać -__-
jasiek65
Mógłby mi ktoś wytłumaczyć dokładnie gdzie umieścić ten kod bo w js jestem lama.
zegarek84
wszystko ładnie pięknie ale trochu zboczyliście z prostego rozwiązania [potem możesz sobie poczytać np. o JSONP - gdzie nie chodzi o sam json a o załączanie danych]...

więc tak.... jeśli załączasz dynamicznie w zależności od warunków na stronie to znacznik script'u załącz do strony przez DOM - czyli tak jak miałeś przykład wyżej z obrazkiem... i adres sobie wstawisz jaki chcesz.... a jeśli id jest przypisane użytkownikowi to niech oni sobie na sztywno wpiszą w kodzie html'a ten script.... <script language="javascript" type="text/javascript" src="/plik.php?x=id_forma_usera">...

i dalej zawartość tego skriptu jest dosyć ważna gdyż... jeśli funkcje do obsługi tej zawartości miałeś zawarte już wcześniej na stronie to w skrypcie tym musi być wywołanie tejże funkcji z parametrem - a jeśli nie masz zdefiniowanych funkcji to w tym pliku php musisz też je zawrzeć do zdekodowania...

najprościej dla przypadku gdy funkcje masz już zawarte na stronie to przykładowa zawartość skryptu który generujesz w php:
Kod
obslugaOdpowiedziSkryptuPhp('tutaj jest ciąg tekstowy co Cię interesuje lub obiekt json')

i najporosciej dla Ciebie będzie gdy przekażesz to jako tekst i chyba jako html'a gdzie potem dasz innerHTML w odpowiednie miejsce o określonym id... ale jako, że w html'u mogą być i pojedyncze i podwójne apostrofy to nie bardzo wiadomo jakim apostrofem objąć parametr funkcji.... ależ wiadomo... po prostu zakoduj html'a do jakiejś postaci bez apostrofów, po czym po stronie js go zdekodujesz....

po prostu w skrypcie php musisz generować poprawny javascript!!!!
jasiek65
chciałem coś takiego zrobić ale nie działa
  1. <?php if (isset($_GET['x'])) { $x = (int) $_GET['x']; } else { $x = 0; }
  2. if ($x> 0){ require_once ('dane_baza.php"'); $zapytanie = "SELECT `nazwa`,`liczba` FROM `cos` WHERE `id`='$x'";
  3. $result = mysql_query($zapytanie) or die('Błąd w zapytaniu takim a takim. Komunikat: '.mysql_error().';
  4. Numer błędu: '.mysql_errno());
  5. while ($wiersz = mysql_fetch_row($result))
  6. { echo 'document.write("<div id="obrazek"><a href="'. $wiersz[1] .'" target="_blank"><img alt="'. $wiersz[0] .'" id="thumb" src="http://open.thumbshots.org/image.pxf?url='. $wiersz[1] .'"></a></div> <div id="link"><a href="'. $wiersz[1] .'" target="_blank">'. $wiersz[0] .'</a><div>' "); } echo "document.write("<form action=...... > </form>")"; } else{ ... } ?>
  7.  


nawet gdy dam apostrofy przed "
CuteOne
Pozostaje ci jedno.. podszkolić się w pisaniu JS i PHP lub zapłacić komuś za napisanie tego skryptu... bo pojęcia o tym nie masz ;/
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.