Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Panel administracyjny nie działa
Forum PHP.pl > Forum > Przedszkole
VoSooler
Witam! Mam problem, otóż gdy odpalam swój projekt wyskakują mi takie błędy:
Notice: Undefined index: Stan in C:\xampp\htdocs\paneladministracyjny.php on line 37
Notice: Undefined index: Grupa in C:\xampp\htdocs\paneladministracyjny.php on line 38

W kolumnie Stan i Grupa chciałbym, aby była opcja do wyboru, w stanie: Aktywny, Nieaktywny, w grupie: Administratorzy, Uzytkownicy. Powiedzcie co mam nie tak, jeśli jeszcze czegoś potrzebujecie do pokazania to pisać smile.gif I jak kliknę w edytuj to przenosi mnie do mojej książki telefonicznej, a tego nie chcę, tylko chcę, abym w tym panelu mógł edytować. Pozdrawiam cieplutko.

Mój kod:
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <center>
  6. <body background="background.jpg"></body>
  7. <div>
  8. <font size="7">Panel Administracyjny</font><br><br>
  9. <font size="5">Użytkownicy:</font><br><br>
  10. </div>
  11. <div>
  12. <?php
  13. $connect=mysqli_connect("localhost","root","","szablon") or die ("Brak połączenia z BD");
  14. $i=0;
  15. $zapytanie="select * from szablon";
  16.  
  17. @$wynik=mysqli_query($connect, $zapytanie);
  18. echo "<table>
  19. <tr>
  20. <th>Id</th>
  21. <th>Imie</th>
  22. <th>Nazwisko</th>
  23. <th>Adres</th>
  24. <th>Numer telefonu</th>
  25. <th>Stan</th>
  26. <th>Grupa</th>
  27. </tr>";
  28. $i=0;
  29. while($row=mysqli_fetch_array($wynik, MYSQLI_ASSOC)){
  30. $i++;
  31. echo "<tr>
  32. <td>".$i."</td>
  33. <td>". $row['Imie']."</td>
  34. <td>". $row['Nazwisko']." </td>
  35. <td>". $row['Adres']."</td>
  36. <td>". $row['Numer_telefonu']." </td>
  37. <td>". $row['Stan']." </td>
  38. <td>". $row['Grupa']." </td>
  39. <td><a href='szablon_mysql.php?id={$row['Nr']}&amp;a=usun'><img src='bin.png' weight='32' height='32'></a></td>
  40. <td><a href='szablon_mysql.php?id={$row['Nr']}&amp;a=edytuj'><img src='edit.png' weight='32' height='32'></a></td>
  41. </tr>";
  42. }
  43. echo "</table>";
  44.  
  45. @$a=$_REQUEST['a'];
  46. @$id=$_GET['id'];
  47.  
  48. if($a=='usun'){
  49. $zapytanie3="delete from szablon where nr=$id";
  50. @mysqli_query($connect, $zapytanie3);
  51. header("Location:szablon_mysql.php");
  52. }
  53.  
  54.  
  55. if ($a=='edytuj'){
  56. $edycja="select * from szablon where nr=$id";
  57. $wynik2=mysqli_query($connect, $edycja);
  58. if(mysqli_num_rows($wynik2)>0){
  59. $row=mysqli_fetch_assoc($wynik2);
  60. $opcja=$row['Grupa'];
  61. if($opcja=="Uzytkownicy"){
  62. echo '<form action="paneladministracyjny.php" method="POST">
  63. <input type="hidden" name="a" value="zapis">
  64. <input type="hidden" name="id" value="'.$id.'">
  65. Login:<input type="text" name="Login" value="'.$row['Login'].'"><br />
  66. Haslo:<input type="text" name="Haslo" value="'.$row['Haslo'].'"><br />
  67. Grupa:<select name="Grupa">
  68. <option selected=selected>Uzytkownicy</option>
  69. <option selected=selected>Administratorzy</option>
  70. </select><br />
  71.  
  72. Stan:<select name="Stan">
  73. <option>Nieaktywny</option>
  74. <option>Aktywny</option>
  75.  
  76. </select> value="'.$row['Stan'].'"><br />
  77.  
  78. <input type="submit" value="Popraw">
  79. </form>';}else{
  80. echo '<form action="paneladministracyjny.php" method="POST">
  81. <input type="hidden" name="a" value="Dodaj">
  82. <input type="hidden" name="id" value="'.$id.'">
  83. Login:<input type="text" name="Login" value="'.$row['Login'].'"><br />
  84. Haslo:<input type="text" name="Haslo" value="'.$row['Haslo'].'"><br />
  85. Grupa:<select name="Grupa">
  86. <option >Uzytkownicy</option>
  87. <option selected=selected>Administratorzy</option>
  88.  
  89. </select><br />
  90. Stan:<select name="Stan">
  91. <option>Nieaktywny</option>
  92. <option>Aktywny</option>
  93.  
  94. </select> value="'.$row['Stan'].'"><br />
  95. <input type="submit" value="Popraw">
  96. </form>';
  97. }
  98. }
  99. }
  100.  
  101. if($a=="Dodaj"){
  102. $id_login=$_POST['id_login'];
  103. $Login=$_POST['Login'];
  104. $Haslo=$_POST['Haslo'];
  105. $Stan=$_POST['Stan'];
  106. $Grupa=$_POST['Grupa'];
  107.  
  108. $update="UPDATE logowanie SET Login='$Login', haslo='$Haslo', Stan='$Stan', Grupa='$Grupa', where id_login='$id'";
  109. mysqli_query($connect, $update);
  110. header('Location:paneladministracyjny.php');
  111. }
  112.  
  113.  
  114.  
  115.  
  116.  
  117. ?>
  118. </div>
  119. </center>
  120. </body>
  121. </html>
SmokAnalog
Witaj smile.gif Wygląda na to, że Twoja tabela `szablon` nie ma kolumn `Stan` i `Grupa`.
VoSooler

Mam, tylko nie wiem czy w phpmyadmin jest opcja, żeby w kolumnie były opcje do wybierania, jeśli jest taka funkcja, to jak zrobić?
SmokAnalog
Jesteś pewien, że to ta tabela? Jeżeli wybierasz SELECT * i nie ma danego indeksu w tabeli wynikowej, to nie ma bata - kolumna nie istnieje.

Żeby mieć wybór w phpmyadminie, spróbuj ustawić typ pola na enum i podaj możliwe warianty.
VoSooler


Ok, już mam tak, poprawiłem, jest ok. Teraz dlaczego w loginie pokazuje mi numerki, jakby podwójnie mi daje moje ID.


A tu w edycji wyskakuje mi to. W podanym tutaj kodzie jest to linijka 58.
SmokAnalog
Nie wiem, bo to co masz w kodzie ma się nijak do tego, co pokazujesz na screenach.
viking
Jak poczytasz dokumentację mysqli_query zobaczysz że "Returns FALSE on failure". W żaden sposób tego nie sprawdzasz tylko lecisz dalej.
VoSooler
No jakaś przyczyna musi być, ale nie wiem jak mam to naprawić. Ten błąd wyskakuje przy nacisku tego ołówka czyli edycji. Edycja zaczyna się w 51 linijce.




  1. <html>
  2. <head>
  3. </head>1
  4. <body>
  5. <center>
  6. <body background="background.jpg"></body>
  7. <div>
  8. <font size="7">Panel Administracyjny</font><br><br>
  9. <font size="5">Użytkownicy:</font><br><br>
  10. </div>
  11. <div>
  12. <?php
  13. $connect=mysqli_connect("localhost","root","","szablon") or die ("Brak połączenia z BD");
  14. $i=0;
  15. $zapytanie="select * from loginy";
  16.  
  17. @$wynik=mysqli_query($connect, $zapytanie);
  18. echo "<table>
  19. <tr>
  20. <th>id_login</th>
  21. <th>Login</th>
  22. <th>Haslo</th>
  23. <th>Stan</th>
  24. <th>Grupa</th>
  25. </tr>";
  26. $i=0;
  27. while($row=mysqli_fetch_array($wynik, MYSQLI_ASSOC)){
  28. $i++;
  29. echo "<tr>
  30. <td>".$i."</td>
  31. <td>". $row['Login']."</td>
  32. <td>". $row['Haslo']." </td>
  33. <td>". $row['Stan']." </td>
  34. <td>". $row['Grupa']." </td>
  35. <td><a href='paneladministracyjny.php?id={$row['id_login']}&amp;a=usun'><img src='bin.png' weight='32' height='32'></a></td>
  36. <td><a href='paneladministracyjny.php?id={$row['id_login']}&amp;a=edytuj'><img src='edit.png' weight='32' height='32'></a></td>
  37. </tr>";
  38. }
  39. echo "</table>";
  40.  
  41. @$a=$_REQUEST['a'];
  42. @$id=$_GET['id'];
  43.  
  44. if($a=='usun'){
  45. $zapytanie3="delete from loginy where nr=$id";
  46. @mysqli_query($connect, $zapytanie3);
  47. header("Location:paneladministracyjny.php");
  48. }
  49.  
  50.  
  51. if ($a=='edytuj'){
  52. $edycja="select * from loginy where nr=$id";
  53. $wynik2=mysqli_query($connect, $edycja);
  54. if(mysqli_num_rows($wynik2)>0){
  55. $row=mysqli_fetch_assoc($wynik2);
  56. $opcja=$row['Grupa'];
  57. if($opcja=="Uzytkownicy"){
  58. echo '<form action="paneladministracyjny.php" method="POST">
  59. <input type="hidden" name="a" value="zapis">
  60. <input type="hidden" name="id" value="'.$id.'">
  61. Login:<input type="text" name="Login" value="'.$row['Login'].'"><br />
  62. Haslo:<input type="text" name="Haslo" value="'.$row['Haslo'].'"><br />
  63. Grupa:<select name="Grupa">
  64. <option selected=selected>Uzytkownicy</option>
  65. <option selected=selected>Administratorzy</option>
  66. </select><br />
  67.  
  68. Stan:<select name="Stan">
  69. <option>Nieaktywny</option>
  70. <option>Aktywny</option>
  71.  
  72. </select> value="'.$row['Stan'].'"><br />
  73.  
  74. <input type="submit" value="Popraw">
  75. </form>';}
  76. else{
  77. echo '<form action="paneladministracyjny.php" method="POST">
  78. <input type="hidden" name="a" value="Dodaj">
  79. <input type="hidden" name="id" value="'.$id.'">
  80. Login:<input type="text" name="Login" value="'.$row['Login'].'"><br />
  81. Haslo:<input type="text" name="Haslo" value="'.$row['Haslo'].'"><br />
  82. Grupa:<select name="Grupa">
  83. <option >Uzytkownicy</option>
  84. <option selected=selected>Administratorzy</option>
  85.  
  86. </select><br />
  87. Stan:<select name="Stan">
  88. <option>Nieaktywny</option>
  89. <option>Aktywny</option>
  90.  
  91. </select> value="'.$row['Stan'].'"><br />
  92. <input type="submit" value="Popraw">
  93. </form>';
  94. }
  95. }
  96. }
  97.  
  98. if($a=="Dodaj"){
  99. $id_login=$_POST['id_login'];
  100. $Login=$_POST['Login'];
  101. $Haslo=$_POST['Haslo'];
  102. $Stan=$_POST['Stan'];
  103. $Grupa=$_POST['Grupa'];
  104.  
  105. $update="UPDATE logowanie SET Login='$Login', haslo='$Haslo', Stan='$Stan', Grupa='$Grupa', where id_login='$id'";
  106. mysqli_query($connect, $update);
  107. header('Location:paneladministracyjny.php');
  108. }
  109.  
  110.  
  111.  
  112.  
  113.  
  114. ?>
  115. </div>
  116. </center>
  117. </body>
  118. </html>
SmokAnalog
A masz taką tabelę `loginy`? Czy ta tabela ma kolumnę `nr`?
viking
Błędów może być kilka ale je ukrywasz, do tego pełno dziur. Wyświetl ostatni błąd.
http://php.net/manual/pl/mysqli.error.php
VoSooler
Ok, fajnie, poprawiłem tabelę, wszystko działa, teraz tylko kliknę przycisk popraw na edycji i nie poprawia mi.
SmokAnalog
Pytałeś na wróżki.pl? tongue.gif
VoSooler
Haha, śmieszne yahoo.gif
Mam to na jutro do szkoły, a cholere wie co zrobić żeby edytowało blink.gif
nospor
Poniewaz masz bledne zapytanie dla UPDATE. Blad jest widoczny golym okiem. Skoro go nie widzisz, to wyswietl blad zapytania na ekranie - juz ci mowiono jak masz to zrobic.
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.