Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Przesyłanie zmiennych między stronami
Forum PHP.pl > Forum > Przedszkole
lukaszalbert
Witam, mam problem jak w tytule.

W Pliku sprawdz_rozdzielczosc.php wpisuję adres jakiejś grafiki z internetu i w tym samym formularzu wybieram również kategorię do jakiej ma być przypisana. Submit przekierowuje mnie na stronę dodaj.php, która otrzymuje 2 informacje z tej pierwszej (kategoria i rozdzielczość pliku). Po czym kolejnym submitem dodaję te informację do bazy a grafikę na mój serwer a sama grafika wyświetla mi się w całości z informacją, że została wgrana poprawnie.


I tutaj pojawia się problem. Chciałbym aby po wgraniu grafiki nie zaczynać od nowa tzn od pliku sprawdz_rozdzielczosc.php. Chciałbym aby po wysłaniu grafiki na tej samej stronie tzn dodaj.php pojawił mi się formularz ze sprawdzeniem rozdzielczosci ale żebym nie wybierał po raz kolejny od nowa kategorii tylko, żeby została mi poprzednia.

Pewnie robię na około, ale na tyle ile pozwalają mi umiejętności to coś stworzyłem. Proszę poratujcie jakimś poprawionym kodem bo już nie mam pomysłów na to.

Poniżej kod obu plików


sprawdz_rozdzielczosc.php
CODE
Etap 1/2<hr style="width:100%"><br><br>
<?php
echo'
<form enctype="multipart/form-data" action="dodaj.php" method="GET">
<input class="input" type="hidden" name="MAX_FILE_SIZE" value="1000000" />
Adres Obrazu <input class="input" type="text" name="rozdzielczosc"><br><br>
<select name="kategoria">';
echo '
Wybierz Kategorię: <br>
<option class="input" selected >Bez Kategorii</option>';
$sql = mysql_query("SELECT kategoria FROM kategoria ORDER BY kategoria ASC ") or die('Błąd Bazy MySQL'); // zapytanie mysql
while ($rekord = mysql_fetch_assoc ($sql)) {
$id = $rekord['id'];
$kategoria=$rekord['kategoria'];
echo '<option name="'.$kategoria.'" class="input" >'.$kategoria.'</option>';
}
echo '</select><br>
<input class="submit" type="submit" value="Przejdź do kolejnego etapu">
</form>
'
?>


dodaj.php
CODE
Etap 2/2<hr style="width:100%"><br><br>
<?php
$plik=$_GET['rozdzielczosc'];
$plik2=$_GET[''.$kategoria.''];
$info_rozdzielczosc = @getimagesize($plik);
$info = ''.$info_rozdzielczosc[0].'x'.$info_rozdzielczosc[1].'';

if(!empty($plik)) {
echo '
<form enctype="multipart/form-data" action="dodaj.php" method="post" name="Dodaj_do_bazy">
Rozdzielczość pliku: '.$info.'<br>
Wybrana kategoria: '.$plik2.'<br><br>
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
<input type="hidden" name="url" value="'.$plik.'">
<input type="hidden" name="nazwa" value="'.$rand.'">
<input type="hidden" name="'.$kategoria.'" value="'.$plik2.'">
<input type="hidden" name="rozdzielczosc" value="'.$info.'">
<input class="submit" type="submit" name="submit" value="Dodaj do bazy">
</form>
';
} else {
echo 'Nie wybrałeś pliku do przesłania<br><br><a href="dodaj.php">Wyślij kolejną</a><br><br>';

}


PS: dodam, że transfer danych z pierwszej strony do drugiej i późniejsze wgranie na serwer działa bez problemu. Problemem jest dodanie kolejnej grafiki w tej samej kategorii tzn bez jej wyboru.
b4rt3kk
Po wybraniu kategorii zapisz sobie wartość w sesji.
lukaszalbert
Zapiszę do sesji info ze strony pierwszej. I cały czas będzie w tej sesji ta informacja A jak będę chciał wybrać inną kategorię to tą sesję muszę usunąć czy jakoś nadpisać? Nigdy nie bawiłem się w sesje dlatego pytam.

A jak rozwiązać kwestię z rozdzielczoscią z drugiego pliku?

Formularz do jej sprawdzenia pokaże się dopiero po wysłaniu wcześniejszej grafiki albo jeśli zmienna z rozdzielczością będzie pusta (if?). A co potem? Bo będę musiał kolejny raz to sprawdzić. Czy 2 formularze nie będą mi kolidowały ze sobą?
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.