bardzo prosty skrypt losowania obrazka, małe połączenie JS i PHP |
bardzo prosty skrypt losowania obrazka, małe połączenie JS i PHP |
8.01.2009, 22:21:33
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 28.08.2007 Ostrzeżenie: (0%) |
Witam
pisze sobie skrypt który wyświetla losowy obrazek cała strona wygląda tak Kod <html> <head> <title> Losowy obrazek </title> <script type="text/javascript"> var images = new Array(); <?php $dir = 'img/'; $array = Array(); if($dh = opendir($dir)) { $i=0; while(($pozycja = readdir($dh)) != FALSE) if(!is_dir($pozycja)) { echo "images[$i] = $pozycja;\n "; $array[$i++] = $pozycja; } closedir($dh); } echo "\n"; ?> function other() { document.getElementById("img").setAttribute("src", images[Math.floor(Math.random()*images.length)]); } </script> </head> <body> <input type="button" onClick="other();" value="Losuj inny" /> <br /><br /> <?php echo '<img src="'.$dir.$array[rand(0, sizeof($array))].'" id="img" />' ?> </body> </html> i chodzi o to że nie wywołuje mi tej funkcji other po kliknięciu w button'a w firebug'u po kliknięciu występuje błąd other is not defined co zrobić żeby jak to mój nauczyciel mówi fungowało , żeby ta funkcja była 'widoczna' ? |
|
|
8.01.2009, 22:31:19
Post
#2
|
|
Grupa: Zarejestrowani Postów: 274 Pomógł: 54 Dołączył: 2.05.2006 Skąd: Nadarzyn Ostrzeżenie: (0%) |
mi tam takie szybkie sprawdzenie działa
|
|
|
9.01.2009, 12:11:22
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 28.08.2007 Ostrzeżenie: (0%) |
mi tam takie szybkie sprawdzenie działa
na początku też miałem takie coś i działało tylko nie chciałbym na sztywno samemu tworzyć tą tablice images chce żeby zrobił to PHP bo jak bede chciał mieć jakąś nową fotke to bede musiał znowu dopisywać do skryptu images[x] = 'jakas nazwa'; przy paru fotkach nawet może tak być tylko jak będzie dużo fotek to lepiej żeby PHP mi to zrobił sprawdzałem całość bez pętli while w skrypcie PHP czyli Kod <script type="text/javascript"> var images = new Array(); <?php $dir = 'img/'; $array = Array(); if($dh = opendir($dir)) { $i=0; /*while(($pozycja = readdir($dh)) != FALSE) if(!is_dir($pozycja)) { echo "images[$i] = $pozycja;\n "; $array[$i++] = $pozycja; }*/ closedir($dh); } echo "\n"; ?> function other() { //document.getElementById("img").setAttribute("src", images[Math.floor(Math.random()*images.length)]); alert('działa'); } </script> reszta strony jest ta sama i funkcja jest wywoływana tylko czemu z tym while nie działa ? |
|
|
9.01.2009, 12:17:40
Post
#4
|
|
Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) |
A nie wstawia ci w miejscu readdir($dh) zamiast false wartości ""?
Zobacz w manualu Cytat Ostrzeżenie Ta funkcja może zwrócić logiczne FALSE, ale także zwykłą wartość rozpoznawaną jako FALSE, na przykład 0 lub "". Więcej informacji w rozdziale dotyczącym typów logicznych. Użyj operatora === aby sprawdzić wartość i typ zwracany przez tę funkcję. A druga sprawa czy w ten sposób przez przypadek nie sprawdzasz jeżeli niema ścieżki to echouj?
Ja bym to zroił przez
Wydaje mi się żę to chyba tu może być błąd bo masz wartości a ifem wyświetlasz echo jeżeli by ich nie było (ale to tak szybko przed śniadaniem więc mogę kłamać ;P) edit. a nawet ja bym zrobił jeszcze inaczej
Ten post edytował Wykrywacz 9.01.2009, 12:24:39 |
|
|
9.01.2009, 12:42:38
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 28.08.2007 Ostrzeżenie: (0%) |
strona jest tutaj http://zsm.slask.pl/ddepta/web/inne/losowy%20obrazek/
i w źródle strony jest nasz skrypt :
czyli skrypt PHP dobrze działa Jeżeli by było
a mnie przecież interesują pliki(fotki) a nie 'foldery' i co dalej ? Ten post edytował cybertix 9.01.2009, 12:49:10 |
|
|
9.01.2009, 13:21:36
Post
#6
|
|
Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) |
|
|
|
9.01.2009, 13:41:33
Post
#7
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 28.08.2007 Ostrzeżenie: (0%) |
W moim skrypcie tylko tej funkcji other mi nie widzi
Reszta jest OK |
|
|
9.01.2009, 13:58:40
Post
#8
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) |
Obejmij nazwę pliku w cudzysłowy
Ten post edytował zulus 9.01.2009, 13:59:51 -------------------- |
|
|
9.01.2009, 14:08:41
Post
#9
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 28.08.2007 Ostrzeżenie: (0%) |
dzięki zulus
i tak jeszcze musiałem dać małą poprawke a mianowicie w skrypcie w head
i w ciele strony w skrypcie PHP Ten post edytował cybertix 9.01.2009, 18:44:42 |
|
|
Wersja Lo-Fi | Aktualny czas: 9.06.2024 - 08:33 |