• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Brak indeksu php

Object Storage Arubacloud
0 głosów
205 wizyt
pytanie zadane 28 lutego 2017 w PHP przez Xenek Nowicjusz (140 p.)

Cześć, 

na wstępie zaznaczę, że z php dopiero poznaje się i mam już pewien problem. Otóż opierając się o poradniki zamieszczone na yt na kanale Pasja Informatyki, udało mi się napisać skrypt logowania dopasowany pod moje potrzeby. Zawiera on prostą tablicę id, nick, hasło, którą rozszerzam o inną tablicę (mysql też tak kiepsko ale rozwijam sie na wlasna reke). Ta druga tablica ma takie przykładowe atrybuty, jak siła, zręczność - takie podstawy. Zamysł jest taki, że na jednej tablicy są tylko dane konta, a na drugiej wszelkie parametry tego konta.

Ogólnie plik zawiera kod (zapytanie do bazy teoretycznie w myphp pokazało prawidłowe rozwiązanie), niezbyt elegancki, acz samodzielny ;)

$zapytanie = $uwierzytelnienie->query("SELECT * FROM userlist,atrybuty WHERE userlist.id = atrybuty.iduser") or die(mysql_error());
while($wynik = $zapytanie->fetch_assoc()) {
$_SESSION['id'] = $wynik['id'];
$_SESSION['str'] = $wynik['str'];
$_SESSION['dex'] = $wynik['dex'];
$rezultatdobazy->free_result();

Inny plik, w którym mam cały html i css wywołuje to przykładowo tak: echo $_SESSION['lvl'].

Po zalogowaniu się na dane konto, w rubryce, w której powinny być atrybuty widnieje napis Notice: Undefined index. Gdy z lokalizacji podstawowej ręcznie w pasek adresu wpiszę lokalizację pliku php (skryptu), który odpowiada za wczytanie wartości z bazy danych i przesłanie ich przez $_session na powrót do pliku z html, a następnie wrócę do pliku z html to już nie ma błędu o nieznalezionym indexie. Wczytuje wartości z bazy danych, ale tylko i wyłącznie z ostatniego ID, niezależnie na jakim koncie jestem zalogowany.

Natomiast jeśli zrobię przekierowania ze skryptu na inny plik php który jest docelowo dostępny do gracza, wówczas już taka sytuacja nie następuje i błąd indeksu jest niezmienny. 

 

Co zrobić w tym momencie? To jest błąd kolejności wczytywania czy kompletnie zepsute zapytanie do bazy?

 

1 odpowiedź

–1 głos
odpowiedź 28 lutego 2017 przez Miki Bywalec (2,480 p.)
Jak dla mnie o wiele za mało kodu jak na moją wiedzę aby coś z tego urodzić. Wyrzuca komunikat Undefined index... hmmm... nie powinno gdzieś być index.php zamiast index. Wydaje mi się, że nie odpala ci scriptu skoro ręcznie działa a z "automatu" nie. Ale mogę się mylić bo teraz to bardziej wróżę z fusów
komentarz 28 lutego 2017 przez Xenek Nowicjusz (140 p.)

Dokładnie to

	{

$zapytanie = $uwierzytelnienie->query("SELECT * FROM userlist,atrybuty WHERE userlist.id = atrybuty.iduser") or die(mysql_error());
while($wynik = $zapytanie->fetch_assoc()) {

$_SESSION['iduser'] = $wynik['iduser'];
$_SESSION['lvl'] = $wynik['lvl'];
$_SESSION['exp'] = $wynik['exp'];
$_SESSION['hp'] = $wynik['hp'];
$zapytanie->free_result();
}

To cały kod, wcześniej jest tylko uwierzytelnienie do bazy danych. Problem wygląda tak:A po wejściu z palca w skrypt przeskakuje na to. Jednocześnie ID które pokazuje się, zmienia się albo na ostatnie albo na pierwsze w zależności jak walcze z kodem. 

Aktualnie mam dodatkowy błąd Warning: mysqli_result::fetch_assoc(): Couldn't fetch mysqli_result in xxxx w tej linii while($wynik = $zapytanie->fetch_assoc()) {

komentarz 28 lutego 2017 przez Xenek Nowicjusz (140 p.)
Zależało mi tylko by pobrać dane z bazy i je wyświetlić.
komentarz 1 marca 2017 przez Miki Bywalec (2,480 p.)

Kurs od Pana Mirosława składa się z dwóch filmów:

na których jest 5 plików i wszystko dokładnie opisane i działa. Ty wklejasz 11 linijek, które na pierwszy rzut oka działają więc problem leży gdzie indziej. Moja wiedza i zakres dostępnego materiału nie pozwala mi Tobie pomóc. Na pewno pomoże Tobie osoba, która dała mi minusa za moją odpowiedz ponieważ wszystko pewnie wie najlepiej wink

PS. Proponuję przeanalizować jeszcze raz w/w materiał szkoleniowy krok po kroku ze zrozumieniem a na pewno znajdziesz problem. Znając życie jest to jakaś literówka.

komentarz 4 marca 2017 przez Xenek Nowicjusz (140 p.)
Mój błąd rozwiązało dodanie require_once(""); strona nie wczytywała skryptu z innego pliku  :)

Podobne pytania

0 głosów
1 odpowiedź 199 wizyt
pytanie zadane 13 stycznia 2017 w PHP przez seba316d Użytkownik (520 p.)
0 głosów
1 odpowiedź 236 wizyt
0 głosów
1 odpowiedź 186 wizyt
pytanie zadane 5 marca 2016 w PHP przez Tomek85 Nowicjusz (120 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...