Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MSSQL][PHP]przekazywanie danych
tr86
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Witam, mam problem z przekazywaniem danych z bazy


  1. if ($co == 'panel')
  2. {
  3. include ("baza.php");
  4.  
  5. $login=$_POST['login'];
  6. $haslo=$_POST['haslo'];
  7.  
  8.  
  9. $zapytanie = mysql_query ("select * from users where id='2'")
  10. or die('błąd: '.mysql_error());
  11.  
  12. $wynik = mysql_fetch_array($zapytanie);
  13.  
  14. if ($_POST['login'] == $wynik[1] && $_POST['haslo'] == $wynik[2])
  15. {
  16. echo('<div id="logo">
  17. <font size="2">PANEL ADMINISTRACYJNY</font>
  18. <br><br><br>
  19. </div>
  20. <br><br>');
  21.  
  22. $zapytanie = mysql_query("select * from applications")
  23. or die('błąd: '.mysql_error());
  24.  
  25. $ile = mysql_num_rows($zapytanie);
  26.  
  27. if($ile > 0)
  28. {
  29. echo ('<table width="2800px;" border="1">
  30. <tr>
  31. <td colspan="13" bgcolor="#000066"><center><b>LISTA KLIENTÓW</b></center></td>
  32. </tr>
  33. <tr>
  34. <td colspan="8"></td>
  35. <td colspan="2" bgcolor="#000066"><center><b>Adres dostawy</b></center></td>
  36. <td colspan="3" bgcolor="#000066"><center><b>Przydzielanie loginu i hasła</b></center></td>
  37. </tr>
  38. <td style="width: 30px" bgcolor="#000066"><center><b>ID</b></center></td>
  39. <td style="width: 150px" bgcolor="#000066"><center><b>Firma</b></center></td>
  40. <td style="width: 150px" bgcolor="#000066"><center><b>Imię i nazwisko</b></center></td>
  41. <td style="width: 150px" bgcolor="#000066"><center><b>Ulica i nr domu</b></center></td>
  42. <td style="width: 150px" bgcolor="#000066"><center><b>Kod i miasto</b></center></td>
  43. <td style="width: 100px" bgcolor="#000066"><center><b>Telefon</b></center></td>
  44. <td style="width: 150px" bgcolor="#000066"><center><b>Email</b></center></td>
  45. <td style="width: 80px" bgcolor="#000066"><center><b>NIP</b></center></td>
  46. <td style="width: 150px" bgcolor="#000066"><center><b>Ulica i nr domu</b></center></td>
  47. <td style="width: 150px" bgcolor="#000066"><center><b>Kod i miasto</b></center></td>
  48. <td style="width: 150px" bgcolor="#000066"><center><b>Login</b></center></td>
  49. <td style="width: 150px" bgcolor="#000066"><center><b>Hasło</b></center></td>
  50. <td style="width: 90px" bgcolor="#000066"><center><b>Zatwierdź</b></center></td>
  51. ');
  52.  
  53. while ($wynik = mysql_fetch_array($zapytanie, MYSQL_NUM))
  54. {
  55. echo ('<table width="2800px;" border="1">
  56. <tr>
  57. <td style="width: 30px" bgcolor="#0066CC">'.$wynik[0].'</td>
  58. <td style="width: 150px" bgcolor="#0066CC">'.$wynik[1].'</td>
  59. <td style="width: 150px" bgcolor="#0066CC">'.$wynik[2].'</td>
  60. <td style="width: 150px" bgcolor="#0066CC">'.$wynik[3].'</td>
  61. <td style="width: 150px" bgcolor="#0066CC">'.$wynik[4].'</td>
  62. <td style="width: 100px" bgcolor="#0066CC">'.$wynik[5].'</td>
  63. <td style="width: 150px" bgcolor="#0066CC">'.$wynik[6].'</td>
  64. <td style="width: 80px" bgcolor="#0066CC">'.$wynik[7].'</td>
  65. <td style="width: 150px" bgcolor="#0066CC">'.$wynik[8].'</td>
  66. <td style="width: 150px" bgcolor="#0066CC">'.$wynik[9].'</td>
  67. <td style="width: 150px" bgcolor="#0066CC"><form method=post action="index.php?co=panel=login&user='.$wynik[0].'" target="_blank">
  68. <input type="text" name="login2" maxlength="32"></td>
  69. <td style="width: 150px" bgcolor="#0066CC">
  70. <input type="text" name="haslo2" maxlength="32"></td>
  71. <td style="width: 90px" bgcolor="#0066CC"><center>
  72. <input type="submit" value="Zatwierdź"></center></td>
  73. </form>
  74. </tr></table>');
  75. }
  76. }


Chodzi o ten link, który przechodzi do drugiej strony: <form method=post action="index.php?co=panel=login&user='.$wynik[0].'" target="_blank">

Link przechodzi do strony z odpowiednim id usera, ale wysyłając login i hasło które przydzielam za każdym razem zapisuje się w bazie danych do usera o id=1...coś chyba nie przekazuje danych z zapytania z 1 strony do drugiej, wiecie jak to rozwiązac questionmark.gif

tutaj 2 strona:

  1. if ($co == 'panel=login')
  2. {
  3. include ("baza.php");
  4.  
  5. $login2=$_POST['login2'];
  6. $haslo2=$_POST['haslo2'];
  7.  
  8. $zapytanie = mysql_query("select id, login2, haslo2 from applications")
  9. or die('błąd: '.mysql_error());
  10.  
  11. $wynik = mysql_fetch_array($zapytanie, MYSQL_NUM);
  12.  
  13.  
  14. if (empty($_POST['login2']) or empty($_POST['haslo2']))
  15. {
  16. echo('<font color="red">Uzupełnij pola "login" i "hasło".</font>');
  17. }
  18.  
  19. if (!$db_lnk = mysql_connect("localhost", "root", ""))
  20. {
  21. echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...<br>');
  22. return;
  23. }
  24.  
  25. if(!mysql_select_db('sklep'))
  26. {
  27. echo('Wystąpił błąd podczas wyboru bazy danych.<br>');
  28. return;
  29. }
  30.  
  31. $query = "UPDATE applications SET
  32. login2='$login2',
  33. haslo2='$haslo2'
  34. WHERE id='".$wynik[0]."'";
  35.  
  36. if(!mysql_query($query, $db_lnk))
  37. {
  38. echo("Wystąpił błąd. Zapytanie zostało odrzucone.<br>");
  39. return;
  40. }
  41.  
  42. {
  43. echo("Wystąpił błąd podczas zamykania połączenia z serwerem MySQL...<br>");
  44. }
  45.  
  46. echo '<b>Przydzieliłeś klientowi o numerze id='.$wynik[0].' następujące dane:</b><br>
  47. <b><b><font color="yellow">Login: </font></b>'.$login2.'<br>
  48. <b><b><font color="yellow">Hasło: </font></b>'.$haslo2.'<br>';
  49. }


Ten post edytował tr86 8.11.2010, 12:26:13
Go to the top of the page
+Quote Post
Ghost_78
post
Post #2





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

Ostrzeżenie: (0%)
-----


Jesli chcesz przeniesc sobie jakies dane za pomoca formularza to nie pisz ich w parametrze taga:
  1. index.php?co=panel=login&user='.$wynik[0].'

tylko przekaz jako inputy typu hidden:
  1. <form action="index.php" method="post">
  2. <input type="hidden" name="panel" value="login">
  3. <input type="hidden" name="user" value=".$wynik[0].'">
  4. </form>

potem wyciagasz te dane w taki sposob:
  1. $panel=$_POST['panel'];
  2. $user=$_POST['user'];


poza tym nie za bardzo rozumiem o co tu mialo choidzic: "co=panel=login"


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
tr86
post
Post #3





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


1. Właśnie, że nie chce jako hidden, bo chciałbym normalnie wpisywac login i hasło (dla kazdego usera inne) do bazy przez formularz.

2. Tak też próbowałem:
  1. $zapytanie = mysql_query("select id, login2, haslo2 from applications where id='".$wynik[0]."'")
  2. or die('błąd: '.mysql_error());

ale w ten sytuacji nie wskazuje nawet żadnego id usera...

3.
  1. $co == 'panel=login'
<-- jest to u mnie przejście do drugiej strony
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #4





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


if ($co == 'panel=login') a co to ma byc?


--------------------
Go to the top of the page
+Quote Post
Ghost_78
post
Post #5





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

Ostrzeżenie: (0%)
-----


ale te pola hidden wcale nie spowoduja ze nie beda mogli wpisywac swoich danych.
poza tym tag <form> wyciagnij poza <table>


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
tr86
post
Post #6





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Cytat(ciekawskiii @ 8.11.2010, 12:59:04 ) *
if ($co == 'panel=login') a co to ma byc?



<form method=post action="index.php?co=panel=login&user='.$wynik[0].'" target="_blank">

Przejście do 2 strony

  1. if ($co == 'panel=login')

Go to the top of the page
+Quote Post
Ghost_78
post
Post #7





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

Ostrzeżenie: (0%)
-----


Cytat(tr86 @ 8.11.2010, 13:10:26 ) *
<form method=post action="index.php?co=panel=login&user='.$wynik[0].'" target="_blank">

Przejście do 2 strony

  1. if ($co == 'panel=login')


a nie lepiej przejsc do osobnego skryptu z validacja?


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #8





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


Cytat(tr86 @ 8.11.2010, 13:10:26 ) *
<form method=post action="index.php?co=panel=login&user='.$wynik[0].'" target="_blank">

Przejście do 2 strony

  1. if ($co == 'panel=login')


swietne:D

formularz przesylasz POST ale w formularzu przesylasz tez zmienna GET wiec dodaj $_GET do drugiej strony i zadziala


--------------------
Go to the top of the page
+Quote Post
tr86
post
Post #9





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Cytat(Ghost_78 @ 8.11.2010, 13:03:43 ) *
ale te pola hidden wcale nie spowoduja ze nie beda mogli wpisywac swoich danych.
poza tym tag <form> wyciagnij poza <table>



Tu nie chodzi o to, że użytkownicy mają wpisywac swoj login i haslo, tylko administrator ma przydzielac, tak na marginesie te dane beda potrzebne w dalszym etapie...

Wydaje mi się, że błąd jest tutaj:

  1. $zapytanie = mysql_query("select id, login2, haslo2 from applications where id='".$wynik[0]."'")
  2. or die('błąd: '.mysql_error());
  3.  
  4. $wynik = mysql_fetch_array($zapytanie, MYSQL_NUM);


--------
--------

  1. $query = "UPDATE applications SET
  2. login2='$login2',
  3. haslo2='$haslo2'
  4. WHERE id='".$wynik[0]."'";


Próbowałem robic test np WHERE id='14' i działało...ale chciałbym żeby skrypt sam rozpoznawał nr id...
Go to the top of the page
+Quote Post
Ghost_78
post
Post #10





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

Ostrzeżenie: (0%)
-----


Cytat(ciekawskiii @ 8.11.2010, 13:18:18 ) *
swietne:D

formularz przesylasz POST ale w formularzu przesylasz tez zmienna GET wiec dodaj $_GET do drugiej strony i zadziala


masakra winksmiley.jpg
tylko moze nie podpowiadajmy takich rozwiazan bo moze to komus w krew wejsc biggrin.gif

jezeli chcesz miedzy stronami przekazywac sobie jakies dane - ktorych bedziesz potrzebowal wielokrotnie to zainteresuj sie zmienna $_SESSION - ulatwisz sobie zycie


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #11





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


Cytat(Ghost_78 @ 8.11.2010, 13:22:46 ) *
masakra winksmiley.jpg
tylko moze nie podpowiadajmy takich rozwiazan bo moze to komus w krew wejsc biggrin.gif


jakich rozwiazan?
nie moja wina ze przesyla tu
  1. <form method=post action="index.php?co=panel=login&user='.$wynik[0].'" target="_blank">
zmienna, ja bym calos zrobil inaczej a teraz zeby to dzialalo, rozwiazaniem jest dodanie
  1. $_GET['user'];
a sie pytal dlaczego nie dziala wiec udzielilem odpowiedzi

Ten post edytował ciekawskiii 8.11.2010, 13:35:06


--------------------
Go to the top of the page
+Quote Post
tr86
post
Post #12





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Cytat(ciekawskiii @ 8.11.2010, 13:28:10 ) *
jakich rozwiazan?
nie moja wina ze przesyla tu
  1. <form method=post action="index.php?co=panel=login&user='.$wynik[0].'" target="_blank">
zmienna, ja bym calos zrobil inaczej a teraz zeby to dzialalo, a teraz rozwiazaniem jest dodanie
  1. $_GET['user'];
a sie pytal dlaczego nie dziala wiec udzielilem odpowiedzi



Dzięki ciekawskiii, o to mi chodziło, już działa smile.gif
Pozdrawiam.
Go to the top of the page
+Quote Post
Ghost_78
post
Post #13





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

Ostrzeżenie: (0%)
-----


Cytat(ciekawskiii @ 8.11.2010, 13:28:10 ) *
jakich rozwiazan?
nie moja wina ze przesyla tu
  1. <form method=post action="index.php?co=panel=login&user='.$wynik[0].'" target="_blank">
zmienna, ja bym calos zrobil inaczej a teraz zeby to dzialalo, a teraz rozwiazaniem jest dodanie
  1. $_GET['user'];
a sie pytal dlaczego nie dziala wiec udzielilem odpowiedzi

alez ja przeciez do Ciebie nie pisalem w zlym kontekscie smile.gif rozsmieszylo mnie tylko rozwiazanie
sam powiedz czy to nie jest zabawnie zagmatwane (oczywiscie ze strony autora kodu)

nie gniewaj sie na mnie i postarajmy mu sie pomoc smile.gif

P.S.
nie bierzmy wszystkiego tak powaznie


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #14





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


jest conajmniej dziwne bo ja bym to zrobil na sesjach tak jak pisales lub tez jeszcze inaczej ale on nie chcial innego rozwiazania tylko pytal jak rozwiazac ten problem i odpowiedz dostal


--------------------
Go to the top of the page
+Quote Post
tr86
post
Post #15





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 10.10.2009
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Cytat(ciekawskiii @ 8.11.2010, 13:41:06 ) *
jest conajmniej dziwne bo ja bym to zrobil na sesjach tak jak pisales lub tez jeszcze inaczej ale on nie chcial innego rozwiazania tylko pytal jak rozwiazac ten problem i odpowiedz dostal



Zgadzam się z tym, że jest dziwnie (pewnie niektorym by ręce opadły smile.gif), ale każdy ma swój sposób pisania...naprawdę cięzko napisac wszystko optymalnie (przynajmniej dla mnie, jako że mam mały staż w pehapie), ale wszystkiego się można nauczyc i jeszcze raz dziękuję za pomoc.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 20:06