jestem tutaj nowy i nie mam wprawy w całym temacie więc proszę o wyrozumiałość. Od kolegi dostałem skrypt który zapewniał mnie, że będzie działał. Widziałem jak biega bez problemów jednak po zainstalowaniu pakietu xampp i zrobieniu wszystkiego wedle instrukcji wyświetlają mi się powiadomienia (Notice). Wyczytalem, że nie są to błędy jednak nie chcę tego zostawiać w obecnej formie. Niby można to wyłączyć ale chciałem by było zrobione poprawnie.
<?php include 'config.php'; db_connect(); // sprawdzamy czy user nie jest przypadkiem zalogowany if(!$_SESSION['logged']) { // jeśli zostanie naciśnięty przycisk "Zaloguj" // filtrujemy dane... $_POST['name'] = clear($_POST['name']); $_POST['password'] = clear($_POST['password']); // i kodujemy hasło $_POST['password'] = codepass($_POST['password']); // sprawdzamy prostym zapytaniem sql czy podane dane są prawidłowe $result = mysql_query("SELECT `user_id` FROM `users` WHERE `user_name` = '{$_POST['name']}' AND `user_password` = '{$_POST['password']}' LIMIT 1"); // jeśli tak to ustawiamy sesje "logged" na true oraz do sesji "user_id" wstawiamy id usera $_SESSION['logged'] = true; $_SESSION['user_id'] = $row['user_id']; echo '<p>Zostałeś poprawnie zalogowany! Możesz teraz przejść na <a href="index.php">stronę główną</a>.</p>'; } else { } } // wyświetlamy komunikat na zalogowanie się echo '<form method="post" action="login.php"> <p> Login:<br> <input type="text" value="'.$_POST['name'].'" name="name"> </p> <p> Hasło:<br> <input type="password" value="'.$_POST['password'].'" name="password"> </p> <p> <input type="submit" value="Zaloguj"> </p> </form>'; } else { echo '<p>Jesteś już zalogowany, więc nie możesz się zalogować ponownie.</p> <p>[<a href="index.php">Powrót</a>]</p>'; } db_close(); ?>
Wyświetlają się dwa powiadomienia o treści
Notice: Undefined index: name in C:\xampp\htdocs\login.php on line 32
Notice: Undefined index: password in C:\xampp\htdocs\login.php on line 36
Wyczytałem także tutaj, że funkcja isset powinna załatwić sprawę bo nie mam zdefiniowanego wcześniej name i password. Jednak zielonego pojęcia nie mam gdzie to wpisać żeby było dobrze. Poza tym coś takiego mam już zadeklarowanego wcześniej w linijce 8. Staram się jak najlepiej wgryźć się w temat jednak jakoś mi nie idzie zbyt dobrze. Lektura którą znalazłem nie jest dla mnie czasem do końca zrozumiała zatem...
Pomoże ktoś dobroduszny ?
