![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Moj problem wyglada nastepujaco:
User w jednej z opcji do wyboru ma link: dodawanie urzadzen. plik wyglada tak:
po kliknieciu tego linku wyswietla sie lista placowek i wybiera on do ktorej z nich chce dodac urzadzenie. wybiera placowke i wybiera "dodaj urzadzenie" uruchamiajac drugi skrypt:
Nietety nie wiem jak kolejny raz przekazac id placowki aby po kliknieciu "dodaj" do tabeli urzadzen dodana zostala nazwa, model oraz id placowki do ktorej nalezy dane urzedzenie. Oprocz tego, chcialbym aby po dodaniu mozna bylo powrocic do poprzedniego okna (formularza do wpisywania nazwy i modelu). plik addev.php wyglada tak:
Ma ktos jakies pomysly? |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Skorzystaj z inputów typu hidden do przekazywania takich informacji.
Pozdrawiam. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czy moglbys mi to jakos bardziej naswietlic? Jak na razie niebardzo rozumiem.
|
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Nie wiesz jak kolejny raz przekazać id do kolejnego formularza tak? No to korzystasz z tych inputów, działa to na takiej zasadzie, że w w jednym formularzu gdzie to id jest pokazane/przekazane dodajesz tego inputa do formularza:
A następnie na kolejnej stronie po wciśnięciu submita masz to już przekazane i odbierasz metodą $_POST, ($_POST['id_placowki']). W ten sposób, możesz w nieskończoność przekazywać co tylko zechcesz, dalej. Alternatywnym rozwiązaniem jest użycie ciastek bądź sesji, poszukaj, poczytaj. Pozdrawiam. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zrobilem tak jak napisales i niestety dalej mam problem. Wyglada to tak:
a drugi skrypt tak:
Gdzie popelnilem blad? Ten post edytował mac1us 7.08.2007, 13:24:52 |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
A jakie błędy Ci wyświetla? W drugim skrypcie daj taki kod:
Zobaczysz sobie dzięki temu jakie zmienne zostają przekazane do drugiej strony. Jesteś pewien, że $lab_id zawiera jakąś wartość? ~edit Masz błąd w formularzu,
Powinno być tak:
Pozdrawiam. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
dodalem ten kod i zwrocilo mi :
Kod array ( 'lab_id' => '', 'nazwa' => 'kijek', 'model' => 'kij', ) tak wiec jest jak przypuszczales - $lab_id jest puste. tylko dlaczego? |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
A co ma zawierać lab_id?,W pierwszym formularzu przypisujesz tą wartość do $_GET i $_POST. Jednak ta wartość jest pusta, dlatego zapewne nie dodaje się do bazy (brak sprawdzenia poprawności zapytania, poczytaj o mysql_error" title="Zobacz w manualu PHP" target="_manual). W pierwszym formularzu musisz tej wartości dać jakąś wartość, jak zauważyłem includujesz kilka plików, jak się domyślam to z nich wyciągasz $lab_id, tak?
W Twoim wypadku, jeśli masz dwa formularze to przesyłanie metodą $_GET, tego id powinno w zupełności wystarczyć, ja źle zrozumiałem, bo myślałem, że takich formularzy będziesz miał kilka. uff.. Pozdrawiam. ~edit Analizując od początku ten skrypt to może:
Chociaż nie wiem, odpisz na powyższe pytania, podaj jakie błędy itp. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
lab_id jest wyciagany prze skrypt #1 z tabeli laboratoria i przekazywany do kolejnego skryptu:
Kod </td><td><a href="add2_device.php?id=<?php echo $row['lab_id']; ?>">Dodaj urzadzenie</a> User wybiera sobie laboratorium do ktorego chce dodac urzadzenie i jego id jest przekazywane dalej Po wypelnieniu pol nazwa i model dane te zostaja wrzucone do tabeli "devices" wraz z przekazanym lab_id - ta tabela tez posiada taki rekord. |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Już chyba wszystko rozumiem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Są 3 skrypty, w jednym wybiera sobie id, w kolejnym model i nazwę i teraz nie wiesz jak przekazać te id, jeszcze dalej tak ? Jeśli dobrze zrozumiałem to jest to bardzo proste, jak już wcześniej wspomniałem input typu hidden.
W ten sposób:
I w kolejnym skrypcie odwołujesz się do tego poprzez $_POST['lab_id'], mówię już o tym ostatnim 3-cim skrypcie. Napisz czy to Ci działa. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dokladnie o takie dzialanie chodzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
do 2 skryptu wrzucilem Kod <tr><td<input type="hidden" name="lab_id" value="<?php echo $_GET['lab_id'] ?>" /> ostatni wyglada tak jak poprzednio czyli: Kod <?php $lab_id = $_POST['lab_id']; $nazwa = $_POST['nazwa']; $adres = $_POST['model']; $connect = mysql_connect("xxxxxx", "xxxxxx", "xxxxxxxx") or die ("Sprawdź połączenie z bazą danych."); mysql_select_db ("xxxxxx"); $zapytanie = "INSERT INTO `devices` (`device_id`,`nazwa`,`model`,`lab_id`) VALUES ('', '$_POST[nazwa]', '$_POST[model]', '" . $_POST['lab_id'] . "' )"; $idzapytania = mysql_query($zapytanie); if ($idzapytania) echo "rekord dodany"; else echo "nie dodano"; echo '<pre>'; var_export($_POST); echo '</pre>'; ?> Niestety dalej wywala mi ze nie lab_id jest puste Ten post edytował mac1us 7.08.2007, 14:20:12 |
|
|
![]()
Post
#12
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
1. Zobacz czy w drugim skrypcie wartość $_GET['id'] w ogóle istnieje, i co się wyświetla.
2. Tą wartość równie dobrze, możesz cały czas przekazywać poprzez $_GET, w tym celu w drugim skrypcie dodaj:
A w ostatnim odwołuj się $_GET['id'] To musi działać, metodą $_POST, $_GET nieważne, musi. uff Pozdrawiam. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
No ja juz nie wiem co robie zle - zmienilem na:
i
I dalej nic. Pewnie wale gdzies dziecinna gafe ale nie mam pojecia gdzie :/ Ten post edytował mac1us 7.08.2007, 15:09:11 |
|
|
![]()
Post
#14
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze raz, po koleji (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Masz pierwszy formularz, w którym wyciągasz z bazy pewną wartość i jest to $row['lab_id'];, następnie przekazujesz ją metodą $_GET do następnego formularza:
Pytania pomocnicze: - Czy w pierwszym skrypcie wartość $row['lab_id']; jest widoczna/nie jest pusta? - Czy w źródle zostaje ona przekazana i widzimy np. add2_device.php?id=432 ? Jeśli wszystko jest ok, to jedziemy dalej. - Czy w drugim skrypcie wartość $_GET['id'] jest widoczna/nie jest pusta? - Jeśli jest widoczna przekaż ją tak samo jak to robiłeś w 1-szym skrypcie, czyli: Jeśli wszystko jest ok, to jedziemy dalej, czyli do ostatniego skryptu: - Czy w tym skrypcie zmienna $_GET['id'] jest widoczna/nie jest pusta? Jeśli nadal jest źle, to sprawdź czy masz literówki, ustaw raportowanie błędów na E_ALL, i sprawdź czy przypadkiem nie masz register_globals na on Pozdrawiam. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
1. w zrodle przekazania widac numer przekazywanego id wiec nie jest puste
jak sprawdzic czy wartość $_GET['id'] jest widoczna/nie jest pusta? |
|
|
![]()
Post
#16
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
jak sprawdzic czy wartość $_GET['id'] jest widoczna/nie jest pusta? Do tego typu operacji służą, var_export" title="Zobacz w manualu PHP" target="_manual, var_dump" title="Zobacz w manualu PHP" target="_manual i inne (zobacz w manualu). Sprawdź wszystko jeszcze raz, zobacz też czy masz register_globals na on, bo to może powodować duże błędy, raportowanie błędów też możesz włączyć. Generalnie zobacz temat w Przedszkolu o najczęściej popełnianych błędach programistów. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pozdrawiam. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
niestety nie mam dostepu do register_globals bo nie mam wgladu do php.ini
wrzucilem do 2 ostatnich skrpytow kod
i wyrzuca wartosc 1 czyli jest przekazywane EDIT: Dziala! Wielkie dzieki za pomoc do ostatniego pliku wrzucilem powyzszy kod a usunalem z niego
Ten post edytował mac1us 7.08.2007, 15:39:54 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 198 Pomógł: 3 Dołączył: 27.02.2007 Skąd: Tczew Ostrzeżenie: (0%) ![]() ![]() |
Witam ja mam problem z przekazaniem zmiennych do nastepnego formularza (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) mam tutaj kod koszyka zamówień nie wiem co robie zle ale nie przesyła mi żadnych danych (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) możę pomożecie już mnie to męczy może inne oko spojrzy na tą czarną dziure heh (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
koszyk.php
add.php
w add nie wyswietla mi się nic .. tzn zadne dane ;] pokazuje tylko array ( ) |
|
|
![]()
Post
#19
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Dzieje się tak ponieważ przesyłasz te dane do add.php metodą GET, a nie POST. Jakie dane mają zostać przesłane do add.php? - Jeśli jest to finalizacja zamówienia to nie POST, chyba SESSION co? To tyle nie zagłębiając sie daleko w kod.
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 198 Pomógł: 3 Dołączył: 27.02.2007 Skąd: Tczew Ostrzeżenie: (0%) ![]() ![]() |
Poprawiłem get na post oraz w pliku add.php
napisałem takie coś lecz nie wiem co dalej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) miałem zamiar miec tutaj formularz w którym wpisywało by sie kolejne dane po czym zapisywało by to do bazy jak to dokoączyc ?abym otrzymał takowy cel ;>
Ten post edytował FliSs_tCv 18.09.2007, 20:04:28 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 13:23 |