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

[PHP] Undefined offset: 1

Object Storage Arubacloud
0 głosów
855 wizyt
pytanie zadane 15 lipca 2019 w PHP przez niezalogowany
zmienione kategorie 15 lipca 2019 przez Arkadiusz Waluk

Mam prosty skrypt logowania w php. W konsoli dostaje informacje:

<br />
<b>Notice</b>:  Undefined offset: 1 in <b>/var/www/html/Borrow/PHP/encrypt.php</b> on line <b>12</b><br />

Kod: 

<?php
  require '../connect.php';
  require '../encrypt.php';

  $mysqli = new mysqli($host, $login, $password, $database);
  if($mysqli->error) {
    echo json_encode($mysqli->error);
  }
  else {
    $result = $mysqli->query("select * from users");
    $signIn = false;
    while ($row = $result->fetch_assoc()) { /* linia z błędem*/
      $encrypt_key = $row["encrypt_key"];
      if((decrypt($row["login"], $encrypt_key) == $_POST["loginEmail"])) {
        $signIn = true;
        unset($row["encrypt_key"]);
        unset($row["password"]);
        foreach ($row as &$value) {
          $value = decrypt($value, $encrypt_key);
        }
        echo json_encode($row);
        break;
      }
    }
    if(! $signIn) echo json_encode("This user not exist");
  }
?>

Jakieś sugestie co poprawić?

komentarz 16 lipca 2019 przez OdsetekGlupoty Pasjonat (15,360 p.)
Skoro błąd dotyczy ecrypt.php, to dlaczego pokazujesz jakiś inny plik?
komentarz 16 lipca 2019 przez niezalogowany
Bo samo działanie pliku encrypt.php było poprawne jak wywoływałem funkcje w tamtym skrypcje.
komentarz 16 lipca 2019 przez OdsetekGlupoty Pasjonat (15,360 p.)
Ale teraz nie jest poprawne, pewnie chcesz użyć jakiejś tablicy z indeksem 1, który nie istnieje. Jak pokażesz kod, to powiem więcej.
komentarz 16 lipca 2019 przez niezalogowany
Już znalazłem. Przy rozszyfrowywaniu całej tablicy z danymi zapomniałem o id które jest zwykłą liczbą. Ale dzięki.

1 odpowiedź

0 głosów
odpowiedź 16 lipca 2019 przez mati2762 Mądrala (5,510 p.)
To nie jest przypadkiem błąd w pliku encrypt.php tak pisze w komunikacie.

A ty go importujesz :)
komentarz 16 lipca 2019 przez niezalogowany
edycja 16 lipca 2019

Ale dane na wyjściu są dobrze rozszyfrowane. Więc raczej nie chodzi o funkcjie decrypt.

function decrypt($data, $key) {
    $encryption_key = base64_decode($key);
    list($data, $iv) = explode('::', base64_decode($data), 2);
    return openssl_decrypt($data, 'aes-256-cbc', $encryption_key, 0, $iv);
}

 

komentarz 16 lipca 2019 przez mati2762 Mądrala (5,510 p.)
Sprawdź echo base64_decode($data) co zwraca.

Bo wydaje mi się że nie ma tam ciągu  '::'
komentarz 16 lipca 2019 przez niezalogowany
W swojej mądrości dekodowałem id które nie wyło szyfrowane i przez to był błąd.

Podobne pytania

0 głosów
1 odpowiedź 645 wizyt
pytanie zadane 16 września 2018 w PHP przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
2 odpowiedzi 255 wizyt
pytanie zadane 3 lipca 2018 w PHP przez Wyshak Początkujący (260 p.)
0 głosów
1 odpowiedź 564 wizyt
pytanie zadane 28 grudnia 2017 w PHP przez kingkushlee Gaduła (3,960 p.)

92,550 zapytań

141,392 odpowiedzi

319,519 komentarzy

61,935 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!

...