Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Pobranie wiersza z tabeli i zapisanie w innej
Muodszy
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 6.11.2014

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


mam problem polegający na tym, że pobieram wartość id z tabeli z informacjami o użytkowniku, ta wartość cały czas jest przechowywana w zmiennej a gdy przychodzi moment dodania jej do tabeli by utworzyć znajomość między userami wartość po prostu nie istnieje. Sprawdzałem już różne możliwosci zmieniałem typ danych w tabeli, kolejnosc itd zmienna po prostu nie istnieje w momencie dodawania do tabeli i nie mam pojęcia dlaczego, Tak wygląda to w kodzie:
  1. <?php
  2.  
  3.  
  4. $login1 = $_GET['user'];
  5.  
  6. $dbc = mysqli_connect('localhost','daniel','daniel1','os'); //połączenie z bazą danych
  7. $query12 = mysqli_query($dbc,"SELECT * FROM users WHERE login = '$login1'"); //pobranie wszystkich informacji o użytkowniku z bazy
  8. $wyn = mysqli_fetch_array($query12);
  9.  
  10. $first_id = $wyn['idUser'];
  11. $second_id = $_SESSION['user_ID'];
  12.  
  13.  
  14.  
  15. $query21 = mysqli_query($dbc,"SELECT * FROM friends where first = '$first_id' && second = '$second_id'");
  16. $query22 = mysqli_fetch_array($query21);
  17.  
  18. if (empty($query22))
  19. {
  20. if ($first_id != $second_id)
  21. {
  22. echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" ENCTYPE="multipart/form-data" ><div style="width:100%; display:table;">';
  23. echo '<input style="display:table-cell; width:40%;" class="przyciski_user" type="submit" name="add_friend" value="Zaproś do znajomych" />';
  24. echo '<input style="display:table-cell; width:40%;" class="przyciski_user" name="msg" type="submit" value="Napisz wiadomość" />';
  25. echo '<input style="display:table-cell; width:20%;" class="przyciski_user" name="report" type="submit" value="Zgłoś" />';
  26. echo '</div></form>';
  27. $dodanie_znajomego = "INSERT INTO friends (first,second,status) VALUES ('$first_id','$second_id','0')";
  28.  
  29. if(isset($_POST['add_friend']))
  30. {
  31. mysqli_query($dbc,$dodanie_znajomego);
  32. echo 'Dodano znajomego!';
  33. };
  34. };
  35.  
  36.  
  37.  
  38.  
  39. echo '<img src="avatary/' . $wyn['login'] . '.jpg" style="border: 1px solid black; margin:15px; padding: 4px;background-color:rgba(255,150,150,0.5); border-radius: 3px; box-shadow: 1px 1px 3px black; float:left; width:200px; height:200px;" alt="'.$wyn['login'].'" />';
  40. echo '<table id="tabela_user">';
  41. echo '<tr><td>Login:</td><td>' . $wyn['login'] . '</td></tr>';
  42. echo '<tr><td>Imię:</td><td>' . $wyn['name'] . '</td></tr>';
  43. echo '<tr><td>Nazwisko:</td><td>' . $wyn['surname'] . '</td></tr>';
  44. echo '<tr><td>E-mail:</td><td>' . $wyn['email'] . '</td></tr>';
  45. echo '<tr><td>Skąd:</td><td>' . $wyn['city'] . '</td></tr>';
  46. $skrocony_wiek = substr($wyn['date'],0,4);
  47. $akt_rok = date("Y");
  48. $wynik_wieku = $akt_rok - $skrocony_wiek;
  49. echo '<tr><td>Wiek:</td><td>' . $wynik_wieku . '</td></tr>';
  50. echo '<tr><td>Punkty zdobyte <br /> na imprezach:</td><td><br />' . $wyn['pkt_zdobyte'] . '</td></tr>';
  51. echo '<tr><td>Punkty zdobyte <br /> na organizacji imprez:</td><td><br />' . $wyn['pkt_tworcow'] . '</td></tr>';
  52. echo '</table>';
  53. }
  54. else
  55. {
  56. echo '<img src="avatary/' . $wyn['login'] . '.jpg" style="border: 1px solid black; margin:15px; padding: 4px;background-color:rgba(255,150,150,0.5); border-radius: 3px; box-shadow: 1px 1px 3px black; float:left; width:200px; height:200px;" alt="'.$wyn['login'].'" />';
  57. echo '<table id="tabela_user">';
  58. echo '<tr><td>Login:</td><td>' . $wyn['login'] . '</td></tr>';
  59. echo '<tr><td>Imię:</td><td>' . $wyn['name'] . '</td></tr>';
  60. echo '<tr><td>Nazwisko:</td><td>' . $wyn['surname'] . '</td></tr>';
  61. echo '<tr><td>E-mail:</td><td>' . $wyn['email'] . '</td></tr>';
  62. echo '<tr><td>Skąd:</td><td>' . $wyn['city'] . '</td></tr>';
  63. $skrocony_wiek = substr($wyn['date'],0,4);
  64. $akt_rok = date("Y");
  65. $wynik_wieku = $akt_rok - $skrocony_wiek;
  66. echo '<tr><td>Wiek:</td><td>' . $wynik_wieku . '</td></tr>';
  67. echo '<tr><td>Punkty zdobyte <br /> na imprezach:</td><td><br />' . $wyn['pkt_zdobyte'] . '</td></tr>';
  68. echo '<tr><td>Punkty zdobyte <br /> na organizacji imprez:</td><td><br />' . $wyn['pkt_tworcow'] . '</td></tr>';
  69. echo '</table>';
  70. echo '<div id="przyciski_user"><table><tr>';
  71. echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" ENCTYPE="multipart/form-data" >';
  72. echo '<td><input class="przyciski" name="msg" type="submit" value="Napisz wiadomość" /></td>';
  73. echo '<td><input class="przyciski" name="report" type="submit" value="Zgłoś" /></td>';
  74. echo '</tr></table></div></form>';
  75. };
  76.  
  77. ?>

chodzi dokładnie o zmienna $first_id w wierszu 27
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




var_dump($wyn);
var_dump($login1);
$first_id = $wyn['idUser'];

Gdy to wykonasz to moze przestaniesz bezpodstawnie twierdzic, ze zmienna nagle wyparowala...


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Muodszy
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 6.11.2014

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


niestety ale dalej tak twierdzę. Wszystko jest ok do tego momentu

  1. if(isset($_POST['add_friend']))
  2. {
  3. mysqli_query($dbc,$dodanie_znajomego);
  4. echo 'Dodano znajomego!';
  5. };


w ten pętli var_dump zwróciło NULL dwa razy
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
w ten pętli var_dump zwróciło NULL dwa razy
No wlasnie. O to mi chodzilo. Wiec nie pisz, ze ci zmienna nagle wyparowala, jak od samego początku jej nie było....

first_id jest null, bo login jest null. Login jest null bo to $_GET['user']; jest null. A teraz sie zastanow, czemu "nagle" GET user jest null. To naprawde proste.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 6.11.2014

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


sory, może jeszcze raz powtórze to co napisałem bo wyraziłem się nie jasno
Cytat
polegający na tym, że pobieram wartość id z tabeli z informacjami o użytkowniku, ta wartość cały czas jest przechowywana w zmiennej a gdy przychodzi moment dodania jej do tabeli by utworzyć znajomość między userami wartość po prostu nie istnieje.
to znaczy że przed pętlą wszystko jest ok, wartość pobierana jest ze zmiennej $_GET i wykowywane sa operacje aż do momentu wykonywania pętli, w pętli if o której pisze zmienna przybiera wartość NULL podam przykładową wartość przed pętlą if
Cytat
array(24) { [0]=> string(1) "2" ["idUser"]=> string(1) "2" [1]=> string(4) "Nowe" ["login"]=> string(4) "Nowe" [2]=> string(32) "2e3817293fc275dbee74bd71ce6eb056" ["password"]=> string(32) "2e3817293fc275dbee74bd71ce6eb056" [3]=> string(4) "lala" ["name"]=> string(4) "lala" [4]=> string(4) "lala" ["surname"]=> string(4) "lala" [5]=> string(4) "lala" ["email"]=> string(4) "lala" [6]=> string(1) "0" ["phone"]=> string(1) "0" [7]=> string(4) "lala" ["city"]=> string(4) "lala" [8]=> string(0) "" ["big_city"]=> string(0) "" [9]=> string(10) "0000-00-00" ["date"]=> string(10) "0000-00-00" [10]=> string(1) "6" ["pkt_zdobyte"]=> string(1) "6" [11]=> string(1) "0" ["pkt_tworcow"]=> string(1) "0" } string(4) "Nowe"

oraz w pętli if
Cytat
NULL NULL
. Teraz mam nadzieję, że zrozumiałeś mój dylemat smile.gif


/// SORKI ZA NAZYWANIE INSTRUKCJI WARUNKOWEJ - PĘTLĄ, BŁĄD POCZĄTKUJĄCEGO

Ten post edytował Muodszy 6.11.2014, 18:49:49
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Widzisz.... to ty nie rozumiesz. Ja rozumiem w czym problem, napisalem ci w czym problem, a ty z jakiegos powodu uwazasz, ze Cię nie rozumiem... No ok, czekaj w takim razie dalej na kogos, kto CIę zrozumie. A tym czasem rozwiązanie problemu podalem ci post wcześniej. Może więc jednak podczas czekania na zrozumienie, zastanowisz się chwilkę nad tym co napisałem.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 6.11.2014

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


ok, rozumiem że w momencie wciśnięcia add_friend strona się odświeża i wszystko znika bo w adresie nie ma zapisanego tam wcześniej loginu, OK więc jak zrobić by po wciśnięciu login dalej tam był, skoro jak wskazuje
  1. form action="'. $_SERVER['PHP_SELF'] .
wszystko ma się wykonać na tej samej stronie? czy jestem w błędzie?
czytam coś wlaśnie o $_SERVER['QUERY_STRING'] i powstało mi coś takiego
  1. $action = $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'] ;
  2. echo '<form action="'. $action .'" method="post" ENCTYPE="multipart/form-data">';

lecz dalej zwracana jest strona bez jakże ważnej końcówki, co tym razem robię źle?

Ten post edytował Muodszy 6.11.2014, 19:05:44
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




<form action=""
i juz. nic wiecej nie trzeba dawac


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 21.08.2025 - 04:11