Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]dziwne zachowanie zmiennych
Forum PHP.pl > Forum > Przedszkole
deejay3
przerzucilem forum ale nie widze takiej ciekawostki jak moja.

robie galerie zdjec FLASH z panelem admina (PHP, MySQL)

php pieknie przesyla do bazy baza do php i schody:

odczyt zmiennych wysylanych do flash wyglada tak:

plik: get.php
  1. <?php
  2.  
  3. switch ($_GET['functions']) {
  4.       case "loadgallery":
  5.       loadgallery($_GET['id']);
  6.       break;
  7.  
  8.    case "sections":
  9.    sections();
  10.    break;
  11. }
  12.  
  13. function loadgallery($id) {
  14.  
  15. include('config.inc.php');
  16.  
  17. $conn = mysql_connect($host, $dbuser, $dbpass) or die ('Error connecting to mysql');
  18. mysql_select_db($dbname);
  19.  
  20. $katalog=$_GET['katalog'];
  21. $query="SELECT * FROM $table WHERE katalog='$katalog'";
  22. $result=mysql_query($query);
  23. $max = mysql_num_rows($result);
  24.  
  25. $return="&total_photos=".$max;
  26.  
  27.  
  28. $zapytanie = "SELECT * FROM $table WHERE katalog='$katalog' ORDER BY pozycja DESC";
  29. $wykonaj = mysql_query("$zapytanie");
  30.  
  31. $i = 0;
  32. while($wiersz = mysql_fetch_array($wykonaj))
  33. {
  34.  
  35. $filename=$wiersz['nazwa'];
  36.  
  37. //$file = substr($filename, 0, strpos($filename, "."));
  38.  
  39. //echo $file;
  40.  
  41. $return .= "&id".$i."=".$filename;
  42. $return .= "&name".$i."=".$wiersz['name'];
  43. $return .= "&width".$i."=".$wiersz['rozmiarw'];
  44. $return .= "&height".$i."=".$wiersz['rozmiarh'];
  45. $return .= "&desc".$i."=".$wiersz['opis'];
  46.  
  47. $i++;
  48. }
  49.  
  50.  
  51.  
  52. $return .= "&";
  53.  
  54. echo ($return);
  55.  
  56. mysql_close($conn);
  57. }
  58. ?>


wiec pieknie, dokladnie o to chodzi

a tu nagle ZONK ;/

jezlei stworze plik "get1.php" i wrzuce (na zasadzie ctrl+C -> ctrl+V) tylko to co zwraca PHP, odczytam we flash plik get1.php to galeria chodzi ale ze skryptu (get.php) nie widzi ani jednej zmiennej

o co chodzi? jezeli wynikowa dziala to czyli ze kod we flash jest dobry ale dlaczego nie widzi tego co wypluwa php? chodzi o jakies dziwne kodowania plikow? znacznikow & ? czy innego ustrojstwa?


zeby nie bylo niepotrzebnych postow od razu odpowiem na pare pytan:

co do kodu strony to bylo pierwsze co sprawdzilem i zwraca dokladnie to co wyswietla wiec to nie to.

calosc mam na localhost wiec linka nie wrzuce.

kod AS nie ma duzo do znaczenia bo get1.php chodzi, chociaz...

ja juz zgupialem przez to. dlaczego np. zmienna &total_photos=2 nie jest tym samym co zmienna &total_photos=2 wygenerowana przez echo ;/

TUTAJ PLIKI WYMIENIONE POWYZEJ -> plik z kodem AS, get.php i get1.php
Maxik
Za dużo się we Flashu nie bawiłem, ale czy nie prościej będzie wygenerować XML, zapisać i przekazać ścieżkę?
deejay3
Cytat(Maxik @ 19.06.2009, 14:08:26 ) *
czy nie prościej będzie wygenerować XML, zapisać i przekazać ścieżkę?


tu masz jak najbardziej racje i chyba nic innego mi nie zostanie, jednak kod dostalem od klienta (ze stronka) do poprawki i rozbudowania. myslalem, ze to bedzie pryszczyk i rzucilem dosc skromna cene ;/ wiec raczej (nawet z ciekawosci o co w tym chodzi, ze czyta a nie czyta zmiennych) wolalbym znalesc odpowiedz na pytanie niz robic to od poczatku
wookieb
Wysyłasz pan dane POST-em
Kod
lvOut.sendAndLoad("get.php", lvIn, "POST");

A odbierasz GET-em
Kod
switch ($_GET['functions']) {

Czyli chyba jasne co trzeba zrobić.
deejay3
wookieb masz u mnie pivo biggrin.gif 3 dni siedzenia mojego, i kupy ludzi na 3 forach i nikt tego nie zauwazyl :/ tak to jest jak sie robi po komus, najwieksze blady przechodza mimio oczu. wielkie dzieki


acha. tak dla potomnosci... wystarczylo poprzawic wysylanie zmiennych z flash z POST na GET
wookieb
rozumiem ze zostawiasz samo
  1. <?php
  2. loadgallery($_GET['id']);
  3. ?>

Co rowniez jest złę bo nie wysylasz skryptu klucza o nazwie "id" tylko "katalog". Pomijajac oczywiscie ze odbierasz get-em smile.gif
deejay3
a to juz moje przeoczenie w wysylaniu plikow, w pierwszej wersji bylo "id" i tak samo jest nazwana jedna z kolumn tabeli mySQL wiec poprawilem sobie dla jasnosci.
wookieb
Pokaz ostateczny kod zrodlowy. Bo teraz juz nie wiem co masz za problem winksmiley.jpg. Mozesz spakowac i wystawic publicznie.
deejay3
to, ze id to juz moje przeoczenie w wystawianiu plikow, wczesj byla zmienna "id" ale, ze jedna z kolumn tabeli ma tez miano "id" to zmienilem na "katalog" dla jasnosci kodu...

co do kodu to wystarczylo (oczywiscie oprocz zamiany id>katalog) w AS (flash) dać zamiast POST wyslac zmienna GETem.

ale juz nadplanowo: dziwne, bo jezeli odbior zmiennych w PHP zmienilem z $_GET na $_POST to wywalalo mi od razu, ze nie widzi zmiennej $katalog...
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.