Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Przekazywanie zmiennych
mac1us
post
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:
  1. <?php
  2. include "auth_admin.inc.php";
  3. include "conn.inc.php";
  4. ?>
  5. <html>
  6. <head>
  7. <title></title>
  8. <style type="text/css">
  9. body {
  10.  background-color: #87CEFA;
  11. }  a img{
  12. border: none;}
  13. td { color:navy; font-weight: bold;}
  14. p {color:navy; font-weight: bold;}
  15. a
  16. {
  17. color: navy;
  18. }
  19.  
  20. a:hover
  21. {
  22. color: red;
  23. }
  24. </style>
  25. </head>
  26. <body>
  27. <h1>Obszar administracyjny-edycja danych o laboratoriach</h1>
  28. <br><br>
  29. <table border=1 align="center">
  30. <caption>Lista laboratoriów:</caption>
  31. <tr><td>nazwa</td><td>kraj</td><td></td><td></td></tr>
  32.  
  33. <?php
  34.  /* }
  35. } else { */
  36. $query = "SELECT nazwa, kraj, lab_id FROM laboratoria " .
  37.  "ORDER BY kraj ";
  38. $result = mysql_query($query)
  39. or die(mysql_error());
  40.  while ($row = mysql_fetch_array($result)) {
  41. echo "<tr><td>" ;
  42. echo $row['nazwa']; echo " </td><td>" ;
  43. echo $row['kraj'] ;
  44.  ?>  </td><td><a href="add2_device.php?id=<?php
  45. echo $row['lab_id']; ?>">Dodaj urzadzenie</a> |
  46.  </td>
  47. </tr>
  48. <?php
  49. }
  50. //}
  51. ?>
  52. </body>
  53. </html>

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:
  1. <?php
  2. include "auth_admin.inc.php";
  3. include "conn.inc.php";
  4. ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  5. <html>
  6. <head>
  7. <title>Dodawanie użytkownika</title>
  8. <style type="text/css">
  9. body {
  10.  background-color: #87CEFA;
  11. }  a img{
  12. border: none;}
  13. td { color:navy; font-weight: bold;}
  14. p {color:navy; font-weight: bold;}
  15. a
  16. {
  17. color: navy;
  18. }
  19.  
  20. a:hover
  21. {
  22. color: red;
  23. }
  24. </style>
  25. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  26.  
  27. </head>
  28.  
  29. <body>
  30. <p>
  31. <?php
  32. $id = $_REQUEST['id'];
  33. ?>
  34. Dodawanie użytkownika:
  35.  
  36.  
  37. <form action="addev.php" method="post" enctype="multipart/form-data">
  38. <table border="0" cellpadding="5">
  39. <tr><td>nazwa <br></td><td> <input type="text" name="nazwa" required/> <br> </td>  </tr>
  40. <tr><td>model <br></td> <td> <input type="text" name="model" required /><br> </td> </tr> </p> </table>
  41. <button type="submit">DODAJ</button>
  42. </td><td><a href="choose_device.php?id=<?php
  43. echo $row['lab_id']; ?>">Wyswietl urzadzenia</a> |
  44.  </td>
  45.  
  46. </form>
  47. </body>
  48. </html>

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:
  1. <html><title>Dodawanie</title>
  2. <style type="text/css">
  3. body {
  4.  background-color: #87CEFA;
  5. }  a img{
  6. border: none;}
  7. td { color:navy; font-weight: bold;}
  8. p {color:navy; font-weight: bold;}
  9. a
  10. {
  11. color: navy;
  12. }
  13.  
  14. a:hover
  15. {
  16. color: red;
  17. }
  18. </style>
  19. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  20. </head>
  21.  
  22. <body>
  23. <?php
  24.  
  25. $id = $_REQUEST['id'];
  26. $nazwa = $_POST['nazwa'];
  27. $adres = $_POST['model'];
  28. $connect = mysql_connect("xxxxx", "xxxxx", "xxxxx") or
  29. die ("Sprawdź połączenie z bazą danych.");
  30. mysql_select_db ("xxxxxx");
  31.  
  32. $zapytanie = "INSERT INTO `devices` (`device_id`,`nazwa`,`model`,`lab_id`)
  33.  VALUES ('', '$_POST[nazwa]', '$_POST[model]', '" . $_GET['id'] . "' )";
  34.  
  35. $idzapytania = mysql_query($zapytanie);  if ($idzapytania) echo "rekord dodany"; else echo "nie dodano";
  36.  
  37. ?>
  38.  
  39. <p>Aktualizacja dokonana poprawnie!
  40. Dodano laboratorium: </p>
  41.  
  42. <strong><?php echo $nazwa; ?></strong><br>
  43. <?php echo $model; ?><br>
  44.  
  45.  
  46.  
  47. </body>
  48. </html>


Ma ktos jakies pomysly?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
strife
post
Post #2





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:

  1. </td><td><a href="add2_device.php?id=<?php
  2. echo $row['lab_id']; ?>">Dodaj urzadzenie</a> |


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:
  1. <form action="addev.php?id=<?php echo $_GET['id'] ?>" method="post" enctype="multipart/form-data">


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.
Go to the top of the page
+Quote Post

Posty w temacie
- mac1us   [php][mysql] Przekazywanie zmiennych   7.08.2007, 11:20:48
- - strife   Skorzystaj z inputów typu hidden do przekazywania ...   7.08.2007, 11:52:44
- - mac1us   Czy moglbys mi to jakos bardziej naswietlic? Jak n...   7.08.2007, 11:58:49
- - strife   Nie wiesz jak kolejny raz przekazać id do kolejneg...   7.08.2007, 12:03:24
- - mac1us   Zrobilem tak jak napisales i niestety dalej mam pr...   7.08.2007, 13:23:40
- - strife   A jakie błędy Ci wyświetla? W drugim skrypcie daj ...   7.08.2007, 13:34:47
- - mac1us   dodalem ten kod i zwrocilo mi : Kodarray ( ...   7.08.2007, 13:43:50
- - strife   A co ma zawierać lab_id?,W pierwszym formularzu pr...   7.08.2007, 13:48:25
- - mac1us   lab_id jest wyciagany prze skrypt #1 z tabeli labo...   7.08.2007, 13:59:30
- - strife   Już chyba wszystko rozumiem Są 3 skrypty, w jedny...   7.08.2007, 14:12:38
- - mac1us   Dokladnie o takie dzialanie chodzi do 2 skryptu w...   7.08.2007, 14:18:44
- - strife   1. Zobacz czy w drugim skrypcie wartość $_GE...   7.08.2007, 14:38:18
- - mac1us   No ja juz nie wiem co robie zle - zmienilem na: [P...   7.08.2007, 14:49:51
- - strife   Jeszcze raz, po koleji Masz pierwszy formularz, ...   7.08.2007, 15:00:45
- - mac1us   1. w zrodle przekazania widac numer przekazywanego...   7.08.2007, 15:05:22
|- - strife   Cytat(mac1us @ 7.08.2007, 16:05:22 ) ...   7.08.2007, 15:20:46
- - mac1us   niestety nie mam dostepu do register_globals bo ni...   7.08.2007, 15:35:45
- - FliSs_tCv   Witam ja mam problem z przekazaniem zmiennych do n...   18.09.2007, 13:40:51
- - strife   Dzieje się tak ponieważ przesyłasz te dane do add....   18.09.2007, 15:32:05
- - FliSs_tCv   Poprawiłem get na post oraz w pliku add.php napis...   18.09.2007, 15:54:36


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 22:53