Napisałem jakiś miesiąc temu prosty system do archiwizacji danych.
Wszystko działało kiedy przerzuciłem na serwer klienta.
Klient jednak zmienił hosting i na swoją rękę "przerzucił" wszystkie pliki.
Problem w tym że nie wiem gdzie teraz tkwi błąd, wszystko działa i jedyna rzecz która szwankuje to logowanie, po prostu sesja w której są przetrzymywane login i hasło administratora nie jest poprawnie przetwarzana.
To jest formularz w html:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="../css/style-aplication.css" media="screen" rel="stylesheet" type="text/css" /> <meta name="viewport" content = "width = device-width, initial-scale = 1.0, minimum-scale = 1.0, maximum-scale = 1.0, user-scalable = no" /> <meta charset="UTF-8" /> </head> <body> <div id="block1"> <div class="login-form"> <form method="POST" action="login.php"> <input style="margin: 20px 0 0 27px;" type="image" src="../img/button.png" alt="Submit" width="140" height="40"> </form> </div> </div> </body> </html>
A tutaj plik plik login.php
<?php include("../database/db.php"); ?> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <link href="../css/style-aplication.css" media="screen" rel="stylesheet" type="text/css" /> <meta name="viewport" content = "width = device-width, initial-scale = 1.0, minimum-scale = 1.0, maximum-scale = 1.0, user-scalable = no" /> <meta charset="UTF-8" /> </head> <body> <?php $myusername=$_POST['myusername']; $mypassword=$_POST['mypassword']; $zapytanie="SELECT * FROM admin WHERE username='$myusername' and password='$mypassword'"; //Wybieranie zarejestrowanego użytkownika if($count==1) { $_SESSION['username'] = $myusername; } else { echo '<br><div class="text">Niepoprawny Login lub Hasło. Spróbuj jeszcze raz.<br><a href="index.php">Powrót</a></div>'; } ?> </body> </html>
W każdym pliku na serwerze jest dodana komenda z zabezpieczeniem:
<?php $myusername = $_SESSION['username']; { exit; } ?>
Powinno z pliku login.php przekierować do admin.php lecz pokazuje się puste tło nawet bez informacji o złym haśle czy loginie. Po prostu nie mogę się zalogować.
Nic w tym plikach przerabiane nie było, tylko skopiowane.