ďťż
Podstrony
|
telcocafeWitam. Mam problem z przekazaniem danych z pliku do pliku. Mam formularz w kilku krokach, gdzie dostępne są zmienne "folder", "kolor1" i "kolor2". W pliku głównym inkluduję dodatkowy plik "krok3.php" - w tym pliku obecne są wcześniej wymienione zmienne. W pliku "krok3.php" inkluduję kolejny plik - "sklej02.php" - i tu już nie mam zasięgu zmiennych... Dodam, że w tym ostatnim pliku ma być skrypt łączący grafikę, więc nie może być nic przed nagłówkiem...Skoro dane w formularzu przesyłane są POSTem, dane do pliku z grafiką próbowałem przesłać GETem. krok3.php $sklej = $_POST['folder']; $kolor = $_POST['kolor1'] || $_POST['kolor2'] $kolor1 = $_POST['kolor1']; $kolor2 = $_POST['kolor2']; include ($sciezka2.'p02/sklej02.php?sciezka=$sciezka2&kolor1=$kolor1&kolor2=$ kolor2'); sklej02.php $url = "http://localhost/herb/"; $sciezka2 = $_GET['sciezka']; $kolor1 = $_GET['kolor1']; $kolor2 = $_GET['kolor2']; echo ($_GET['sciezka']); echo "<br />"; echo ($_GET['kolor1']); echo "<br />"; echo ($_GET['kolor2']); Ma ktoś jakiś pomysł? Użytkownik Kshyhoo edytował ten post 02 czerwiec 2009, 22:25 Aleś wyimaginował :) include('plik.php?cos=zonk'); Plik.php nie bedzie widział tego cos jako $_GET['cos']. Powinno być tak: $cos = 'zonk'; include('plik.php'); A w pliku plik.php zamiast $_GET['cos'], po prostu $cos. Użytkownik PiKey edytował ten post 03 czerwiec 2009, 06:30 Do tej pory nieco pozmieniałem ;p W przypadku: krok3.php $_GET['adres'] = $adres; $_GET['kolor1'] = $kolor1; $_GET['kolor2'] = $kolor2; include ($sciezka2.'p02/sklej02.php'); echo "<br />"; sklej02.php $adres = $_GET['adres']; $kolor1 = $_GET['kolor1']; $kolor2 = $_GET['kolor2']; echo "<br />adres: "; echo ($_GET['adres']); echo "<br />kolor1: "; echo ($_GET['kolor1']); echo "<br />kolor2: "; echo ($_GET['kolor2']); echo "<br />plik: "; Po wybraniu pliku krok3.php, są widoczne zmienne na ekranie. Po wybraniu sklej02.php, niestety - nie. Twoje rozwiązanie powinno wyglądać tak:? krok3.php $adres = $url.$sciezka2."p02"; $kolor1 = $_POST['kolor1']; $kolor2 = $_POST['kolor2']; include ($sciezka2.'p02/sklej02.php'); sklej02.php echo "<br />adres: "; echo ($adres); echo "<br />kolor1: "; echo ($kolor1); echo "<br />kolor2: "; echo ($kolor2]); echo "<br />plik: "; Niestety, to nie działa... ściśle - jest identycznie. Po wybraniu pliku krok3.php, są widoczne zmienne na ekranie. Po wybraniu sklej02.php, niestety - nie. Na pewno to dobrze robisz? sklej02.php?adres=cos&kolor1=red&kolor2=blue // Edytowano Pytałem, czy tak wchodzisz na żądaną stronę, ponieważ to wydedukowałem z Twojej wypowiedzi, że chcesz wejść na stronę podając taki adres... Użytkownik andrzej_aa edytował ten post 03 czerwiec 2009, 16:52 Ja już nie wiem, jak to jest. Dziś już któryś raz słyszę, że tak można - to znów, że tak się danych nie wysyła... Czy mogę umieścić w linku zmienne? W ten sposób: include ($sciezka2.'p02/sklej02.php?sciezka=$sciezka2&kolor1=$kolor1&kolor2=$ kolor2'); może coś takiego Ci pomoże KLIK Miałem tak, dane się wyświetlały ale jak chciałem podpiąć kod do obróbki obrazka, wywalało błąd. a jaki błąd? Notice i header, ale sobie z nimi poradziłem. Niestety, nie umiem wygenerować tego nieszczęsnego obrazka... nie umiem, jak mi się wydaje przekazać zmiennej do pliku, gdzie jest generowany, albo nie umiem go wywołać. Moja struktura katalogów: [ herby ] - herb.php ( plik główny ) | - krok2.php | - krok3.php | +-- [ graf2 ] | +-- [ p01 ] +-- [ p02 ] - p02.php ( łączący grafikę ) | | | +-- [ white ] ( grafika ) | | | +-- [ black ] ( grafika ) | +-- [ p03 ] - p03.php ( łączący grafikę ) | | | +-- [ white ] ( grafika ) | | | +-- [ black ] ( grafika ) do [ p35 ] Całość obsługuje wielostronicowy formularz, dane wysyłane są przez $_POST. W pliku krok3.php inckuduję pliki do łączenia grafiki i tu mam problem: krok3.php switch ($sklej) { case 'p01': $grafa1 = ("c000.png"); $obraz1 = $sciezka2."/".$_POST['folder']."/".$_POST['kolor1' ]."/".$grafa1; echo "<img src='$obraz1'>"; break; case 'p02': $p02 = "p02"; $adres = $url."/".$sciezka2."/".$p02; $kolor1 = $_POST['kolor1']; $kolor2 = $_POST['kolor2']; $obraz1 = $adres."/".$kolor1."/c001.png"; $obraz2 = $adres."/".$kolor1."/c002.png"; $_SESSION['adres'] = $adres; $_SESSION['kolor1'] = $kolor1; $_SESSION['kolor2'] = $kolor2; $_SESSION['obraz1'] = $obraz1; $_SESSION['obraz2'] = $obraz2; echo "<img src='".$adres."/sklej02.php?obraz1='sklej02.png'><br />"; Powinien się wyświetlić obrazek, a ja mam w najlepszym momencie tylko X i link do obrazka: sklej02.php?obraz1= sklej02.php header ("Content-type: image/png"); $obraz1 = $_SESSION['obraz1']; $rysunek=imagecreatefrompng ($obraz1); imagepng($rysunek); imagedestroy($rysunek); $rysunek; Jeżeli podam ścieżkę bez zmiennych, obrazek się wyświetla, ze zmiennymi nie. Próbowałem też: readfile('/herb/graf2/p02/white/'.$_SESSION['obraz1']); ale bez efektu. Już mi brak pomysłów. Być może problem leży w strukturze katalogów. Pierwszy raz zabrałem się za GD... echo "<img src='".$adres."/sklej02.php?obraz1='sklej02.png'><br />"; Powinien się wyświetlić obrazek, a ja mam w najlepszym momencie tylko X i link do obrazka: sklej02.php?obraz1= Może po prostu masz błąd w echo i powinno być: echo "<img src='".$adres."/sklej02.php?obraz1=sklej02.png'><br />"; bez cudzysłowu po znaku równości... a może nie jest to aż tak trywialne - czasem sam się łapię na takich drobniakach. :rolleyes: Chodzi w wersji: echo("<img src='graf2/sklej02.php?obraz1=$_POST[obraz1]&obraz2=$_POST[obraz2]' >"); Ale mam kolejny problem. Na localu jest ok, a na serwerze webd.pl mam podwójne //, czyli coś w rodzaju graf2//white.png... Jesteś pewien, że ukośnik w tę stronę? Może wystarczy stripslashes. Nie mam tam ukośników. Zawsze używam "ciapków". |
|||
Sitedesign by AltusUmbrae. |