Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Undefined index
Forum PHP.pl > Forum > Przedszkole
ilov3
Witam, mam problem z uruchomieniem stronki którą kiedyś napisał kolega.
Pluje errorami.

  1. Notice: Undefined index: action in C:\xampp\htdocs\index.php on line 239
  2.  
  3. Notice: Undefined index: action in C:\xampp\htdocs\index.php on line 325
  4.  
  5. Notice: Undefined index: action in C:\xampp\htdocs\index.php on line 455
  6.  
  7. Notice: Undefined index: action in C:\xampp\htdocs\index.php on line 461


239:
  1. else if($_GET['action'] === "editprofile")
  2. {
  3. if(empty($_SESSION['username']) || empty($_SESSION['password']))
  4. {
  5. header("Refresh:0; url=index.php");
  6. echo "<script language='javascript'>alert('Musisz być zalogowany!');</script>";
  7. return 0;
  8. }


  1. else if($_GET['action'] === "newauction")
  2. {
  3. $query = mysql_query("SELECT * FROM categories");
  4. while ($row = mysql_fetch_array($query))
  5. {
  6. $auctionCategories .= '
  7. <option value="'.$row[id].'">'.$row[name].'</option>
  8. ';
  9. }


Połączenie z bazą:

  1. <?php
  2.  
  3. $connection = @mysql_connect("localhost", "root", "") or die("Brak połączenia z serwerem MySQL.<br />Błąd: ".mysql_error());
  4. $db = @mysql_select_db("zpi_project", $connection) or die("Nie mogę połączyć się z bazą danych<br />Błąd: ".mysql_error());
  5. mysql_query ('SET NAMES utf8');
  6. ?>



W czym może leżeć problem?
dublinka
Odpowiedzi szukaj w $_GET['action']
ilov3
tylko dziwna sprawa bo kiedyś to działało bez żadnego problemu, a teraz nie mogę sobie poradzić
dublinka
Zmienna z get nie istnieje/brak wartosci
nospor
Cytat
tylko dziwna sprawa bo kiedyś to działało bez żadnego problemu

Nie, kiedys poprostu miales wylaczone wyswietlanie bledow i ich nie widziales. Teraz pewnie zmieniles wersje php, tudziez twoj hosting zmienil, i zmienil sie sposob ich wyswietlania. Ot i cala filozofia

Kod jak ten
else if($_GET['action'] === "editprofile")

maja wygladac tak
else if(isset($_GET['action']) && $_GET['action'] === "editprofile")
ilov3
Cytat(nospor @ 26.11.2019, 10:14:21 ) *
Nie, kiedys poprostu miales wylaczone wyswietlanie bledow i ich nie widziales. Teraz pewnie zmieniles wersje php, tudziez twoj hosting zmienil, i zmienil sie sposob ich wyswietlania. Ot i cala filozofia

Kod jak ten
else if($_GET['action'] === "editprofile")

maja wygladac tak
else if(isset($_GET['action']) && $_GET['action'] === "editprofile")


Mogło być wyłączone wyświetlanie błędów, jednakże i tak nie działa większość rzeczy jakie znajdowały się na stronie.
Po dodaniu kodu, jaki zaproponowałeś znikają błędy - fakt. Jednakże to co jeszcze w miarę działało przestało działać.
Nie pojawia się formularz logowania, a wcześniej chociaż można było się zalogować. Poza tym nie działa rejestracja, choć formularz normalnie się wyświetla - mimo to dane nie są zapisywane do bazy.

Wiem, że zaraz zostanę skrytykowany itd., ale nie znam się a chciałbym uruchomić tą stronę.
Co mogę Wam podesłać by uzyskać pomoc?
viking
Bo to mysql_query i inne funkcje mysql_ zostały dawno usuniete z php.
ilov3
Cytat(viking @ 26.11.2019, 11:16:10 ) *
Bo to mysql_query i inne funkcje mysql_ zostały dawno usuniete z php.


używam wersji 5.6.40
nospor
Daj w index.php na samym poczatku

phpinfo();
exit;

Co bysmy mieli i my i ty pewnosc odnosnie tej wersji php. Juz nie jeden mowil ze uzywa jednej a sie okazywalo ze uzywa innej wink.gif
ilov3
Cytat(nospor @ 26.11.2019, 11:18:24 ) *
Daj w index.php na samym poczatku

phpinfo();
exit;

Co bysmy mieli i my i ty pewnosc odnosnie tej wersji php. Juz nie jeden mowil ze uzywa jednej a sie okazywalo ze uzywa innej wink.gif


Mam pewność co do wersji gdyż używam Wampserver64 i wybrałem najniższą wersję, która wspiera starego mysql'a. Na nowszych nie jestem w stanie tego uruchomić wcale.
nospor
Bo przeciez zrobic

phpinfo();
exit;

to tak dlugo czasu zajmuje... DObra, widze sam do wszystkiego dojdziesz wink.gif

a jeszcze tak zapytam: to na serwerze tez uzywasz wampserver?
ilov3
Cytat(nospor @ 26.11.2019, 11:34:27 ) *
Bo przeciez zrobic

phpinfo();
exit;

to tak dlugo czasu zajmuje... DObra, widze sam do wszystkiego dojdziesz wink.gif

a jeszcze tak zapytam: to na serwerze tez uzywasz wampserver?



Sprawdziłem, nie pisałbym gdybym nie miał pewności. Później wrzucę screena.

Mam tą stronę tylko lokalnie postawioną.
nospor
Aktualizowales ostatnio ten wampserver?

Jak wygladaja linki do poszczegolnych akcji? np do editprofile
ilov3
Mam najnowszą dostępną wersję. Próbowałem również na xampie z php w wersji 5.6.40 nic to nie zmieniło.

  1. <li><a href="index.php?action=editprofile">Edytuj dane</a></li>




I obiecana wersja PHP:
Apache Version Apache/2.4.39 (Win64) PHP/5.6.40 z ładnej lekko fioletowej strony.
nospor
Cytat
I obiecana wersja PHP:
Nie. Obiecales screena wink.gif

No i ktora strona przykladowo ci nie dziala? Jaki jest jej kod? Sprawdzales w ogole logi bledow?
ilov3
Cytat(nospor @ 26.11.2019, 15:55:15 ) *
Nie. Obiecales screena wink.gif

No i ktora strona przykladowo ci nie dziala? Jaki jest jej kod? Sprawdzales w ogole logi bledow?


Rejestracja nie dodaje danych do bazy tak jak wcześniej wspominałem.

  1. else if($_GET['action'] === "register")
  2. {
  3. if(isset($_POST['registerSubmit']))
  4. {
  5. $username = $_POST['registerName'];
  6. $password = $_POST['registerPassword'];
  7. $firstname = $_POST['registerFirstname'];
  8. $surname = $_POST['registerSurname'];
  9. $email = $_POST['registerEmail'];
  10. $place = $_POST['registerPlace'];
  11. $phone = $_POST['registerPhone'];
  12. $bank = $_POST['registerBank'];
  13.  
  14. $query = mysql_query("SELECT NULL FROM users WHERE username LIKE '".$username."'");
  15. $query2 = mysql_query("SELECT NULL FROM users WHERE email LIKE '".$email."'");
  16.  
  17. if(mysql_num_rows($query) > 0)
  18. {
  19. echo "<script language='javascript'>alert('Taka nazwa użytkownika jest zajęta - wybierz inną!');</script>";
  20. }
  21. else if(mysql_num_rows($query2) > 0)
  22. {
  23. echo "<script language='javascript'>alert('Taki adres e-mail jest już zarejestrowany - wybierz inny!');</script>";
  24. }
  25. else if(strlen($username) > 32 || strlen($username) < 3)
  26. {
  27. echo "<script language='javascript'>alert('Nazwa użytkownika powinna zawierać 3 - 32 znaków!');</script>";
  28. }
  29. else if(strlen($password) > 32 || strlen($password) < 3)
  30. {
  31. echo "<script language='javascript'>alert('Hasło powinno zawierać 3 - 32 znaków!');</script>";
  32. }
  33. else if(strlen($firstname) > 64 || strlen($firstname) < 3)
  34. {
  35. echo "<script language='javascript'>alert('Imię powinno zawierać 3 - 64 znaków!');</script>";
  36. }
  37. else if(strlen($surname) > 64 || strlen($surname) < 3)
  38. {
  39. echo "<script language='javascript'>alert('Nazwisko powinno zawierać 3 - 64 znaków!');</script>";
  40. }
  41. else if(strlen($place) > 128 || strlen($place) < 3)
  42. {
  43. echo "<script language='javascript'>alert('Miejscowość powinna zawierać 3 - 128 znaków!');</script>";
  44. }
  45. else if(strlen($phone) != 9)
  46. {
  47. echo "<script language='javascript'>alert('Numer telefonu składa się z 9 cyfr!');</script>";
  48. }
  49. else if(!is_numeric($phone))
  50. {
  51. echo "<script language='javascript'>alert('Numer telefonu składa się z samych cyfr!');</script>";
  52. }
  53. else if(strlen($bank) != 26)
  54. {
  55. echo "<script language='javascript'>alert('Numer konta bankowego składa się z 26 cyfr!');</script>";
  56. }
  57. else if(!is_numeric($bank))
  58. {
  59. echo "<script language='javascript'>alert('Numer konta bankowego składa się z samych cyfr!');</script>";
  60. }
  61. else
  62. {
  63. mysql_query("INSERT INTO users (username, password, firstname, surname, email, phone, place, bank) VALUES ('".$username."', '".$password."', '".$firstname."', '".$surname."', '".$email."', '".$phone."', '".$place."', '".$bank."')");
  64. header("Refresh:0; url=index.php?action=login");
  65. echo "<script language='javascript'>alert('Pomyślnie założyłeś konto - możesz teraz się zalogować!');</script>";
  66. }
  67. }
  68.  
  69. $index = '
  70. <div class="container" style="margin-top: 20px;">
  71. <div class="row">
  72. <div class="backgroundBox">
  73. <form class="form-horizontal" action="" method="post">
  74. <div class="form-group">
  75. <label for="userName" class="col-sm-2 control-label">Nazwa użytkownika</label>
  76. <div class="col-sm-10">
  77. <input type="text" class="form-control input-lg" id="userName" name="registerName" placeholder="Wpisz tutaj nazwę, która będzie twoim identyfikatorem" required>
  78. </div>
  79. </div>
  80. <div class="form-group">
  81. <label for="userPassword" class="col-sm-2 control-label">Hasło</label>
  82. <div class="col-sm-10">
  83. <input type="password" class="form-control input-lg" id="userPassword" name="registerPassword" placeholder="Wpisz tutaj hasło, które będzie zabezpieczać twoje konto" required>
  84. </div>
  85. </div>
  86. <div class="form-group">
  87. <label for="userFirstname" class="col-sm-2 control-label">Imię</label>
  88. <div class="col-sm-10">
  89. <input type="text" class="form-control input-lg" id="userFirstname" name="registerFirstname" placeholder="Wpisz tutaj swoję imię" required>
  90. </div>
  91. </div>
  92. <div class="form-group">
  93. <label for="userSurname" class="col-sm-2 control-label">Nazwisko</label>
  94. <div class="col-sm-10">
  95. <input type="text" class="form-control input-lg" id="userSurname" name="registerSurname" placeholder="Wpisz tutaj swoję nazwisko" required>
  96. </div>
  97. </div>
  98. <div class="form-group">
  99. <label for="userMail" class="col-sm-2 control-label">E-mail</label>
  100. <div class="col-sm-10">
  101. <input type="email" class="form-control input-lg" id="userMail" name="registerEmail" placeholder="Wpisz tutaj swój e-mail" required>
  102. </div>
  103. </div>
  104. <div class="form-group">
  105. <label for="userPlace" class="col-sm-2 control-label">Miejscowość</label>
  106. <div class="col-sm-10">
  107. <input type="text" class="form-control input-lg" id="userPlace" name="registerPlace" placeholder="Wpisz tutaj swoją miejscowość" required>
  108. </div>
  109. </div>
  110. <div class="form-group">
  111. <label for="userPhone" class="col-sm-2 control-label">Telefon</label>
  112. <div class="col-sm-10">
  113. <input type="text" class="form-control input-lg" id="userPhone" name="registerPhone" placeholder="Wpisz tutaj swój numer telefonu" required>
  114. </div>
  115. </div>
  116. <div class="form-group">
  117. <label for="userBank" class="col-sm-2 control-label">Konto bankowe</label>
  118. <div class="col-sm-10">
  119. <input type="text" class="form-control input-lg" id="userBank" name="registerBank" placeholder="Wpisz tutaj swój numer konta bankowego" required>
  120. </div>
  121. </div>
  122. <div class="form-group">
  123. <div class="col-sm-offset-2 col-sm-10">
  124. <button type="submit" name="registerSubmit" class="btn btn-default input-lg"><span style="font-size: 20px;">Zarejestruj!</span></button>
  125. </div>
  126. </div>
  127. </form>
  128. </div>
  129. </div>
  130. </div>
  131. ';
  132. }
Tomplus
zapytań przed SQL Injection nie chronisz?

Sprawdź w logach czy nie masz jakiegoś błędu.
dublinka
Przepraszam za trywialne pytanie ale czy wogole w url przekazujesz zmienne bo teraz jakby ich wogole nie bylo ?

Co daje to:

  1. print_r($_GET);
ilov3
Cytat(Tomplus @ 27.11.2019, 09:28:13 ) *
zapytań przed SQL Injection nie chronisz?

Sprawdź w logach czy nie masz jakiegoś błędu.


Kod kolegi sprzed dwóch lat to jest, ja go próbuję tylko uruchomić.
Jak sprawdzić logi?
Tomplus
Nie tłumacz się kolegą. Zostawiaj kod lepszy niż ten który zastałeś. Więc jak są takie ewidentne dziury w bezpieczeństwie, to nawet nie ma co dopuszczać później w internety.

Kod
\xampp\apache\logs\error.log
ilov3
Cytat(Tomplus @ 27.11.2019, 22:19:24 ) *
Nie tłumacz się kolegą. Zostawiaj kod lepszy niż ten który zastałeś. Więc jak są takie ewidentne dziury w bezpieczeństwie, to nawet nie ma co dopuszczać później w internety.

Kod
\xampp\apache\logs\error.log


Na bezpieczeństwie mi nie zależy, chcę jedynie odpalić to lokalnie.

Kod
[Thu Nov 28 09:23:12.683963 2019] [ssl:warn] [pid 4812:tid 612] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Nov 28 09:23:12.731950 2019] [core:warn] [pid 4812:tid 612] AH00098: pid file C:/xampp/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Nov 28 09:23:12.836334 2019] [ssl:warn] [pid 4812:tid 612] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Nov 28 09:23:13.228240 2019] [mpm_winnt:notice] [pid 4812:tid 612] AH00455: Apache/2.4.37 (Win32) OpenSSL/1.0.2p PHP/5.6.40 configured -- resuming normal operations
[Thu Nov 28 09:23:13.228240 2019] [mpm_winnt:notice] [pid 4812:tid 612] AH00456: Apache Lounge VC11 Server built: Oct 22 2018 14:14:30
[Thu Nov 28 09:23:13.228240 2019] [core:notice] [pid 4812:tid 612] AH00094: Command line: 'c:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache'
[Thu Nov 28 09:23:13.256227 2019] [mpm_winnt:notice] [pid 4812:tid 612] AH00418: Parent: Created child process 15276
[Thu Nov 28 09:23:14.261850 2019] [ssl:warn] [pid 15276:tid 636] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Nov 28 09:23:14.401825 2019] [ssl:warn] [pid 15276:tid 636] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Nov 28 09:23:14.436410 2019] [mpm_winnt:notice] [pid 15276:tid 636] AH00354: Child: Starting 150 worker threads.
[Thu Nov 28 09:23:54.110543 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 49
[Thu Nov 28 09:23:54.110543 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 107
[Thu Nov 28 09:23:54.110543 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 239
[Thu Nov 28 09:23:54.110543 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 325
[Thu Nov 28 09:23:54.114542 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 455
[Thu Nov 28 09:23:54.114542 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 461
[Thu Nov 28 09:23:54.114542 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 533
[Thu Nov 28 09:23:54.114542 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 587
[Thu Nov 28 09:23:54.114542 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 649
[Thu Nov 28 09:23:54.114542 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 754
[Thu Nov 28 09:23:54.114542 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 805
[Thu Nov 28 09:23:54.114542 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 930
[Thu Nov 28 09:23:54.114542 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 961
[Thu Nov 28 09:23:54.118559 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: action in C:\\xampp\\htdocs\\index.php on line 1109
[Thu Nov 28 09:23:54.138534 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined variable: categories in C:\\xampp\\htdocs\\index.php on line 1220
[Thu Nov 28 09:23:54.158558 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: username in C:\\xampp\\htdocs\\index.php on line 1267
[Thu Nov 28 09:23:54.162538 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined index: password in C:\\xampp\\htdocs\\index.php on line 1267
[Thu Nov 28 09:23:54.198519 2019] [:error] [pid 15276:tid 2036] [client ::1:7204] PHP Notice:  Undefined variable: auctions in C:\\xampp\\htdocs\\index.php on line 1316


raczej nic nowego niż to co wyświetla się wraz z stroną główną
Tomplus
Teraz przeanalizuj sobie te logi porównując do swojego kodu.
ilov3
Nic z tego. Dzięki za próbę pomocy.
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-2024 Invision Power Services, Inc.