class Login
{
private $connect;
public function setConnect($connect)
{
try {
if ($this->connect = $connect)
echo 'działa';
}
catch (PDOException $e)
{
echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
}
}
}
Ten kod nie powinien mieć miejsca w klasie Login.
Tak samo:
public function setSql($sql)
{
$this->sql=$sql;
$this->ile_userow=$ile_userow;
$this->wiersz=$wiesz;
if($sql)
{
$ile_userow=$sql->num_rows;
if($ile_userow>0){
$wiersz=$sql->fetch_assoc();
$_SESSION['zalogowany']=true;
$_SESSION['email']=$wiesz['email'];
}
else
{
$_SESSION['bladd']='<span style=color:red >Nieprawidłowe dane.</span>';
header('Location: index.php');
}
}
}
Przeniósłbym do warstwy infrastruktury.
<?php
require_once 'class.php';
if(isset($_POST['login'])){
$connect=new Login();
$sql=new PDO('mysql:host=localhost;dbname=gaska', 'root', '');
$connect->setConnect($sql);
$user = new User();
$user->setLogin($_POST['login']);
$user->setPassword($_POST['password']);
$use=$user->getLogin();
$sql2="SELECT * FROM users WHERE email='$use'";
$user->setSql($sql2);
}
?>
<form method="post">
LOGIN:<br/>
<input type="text" name="login"><br/>
Hasło:<br/>
<input type="password" name="password">
<br/><br/>
<input type="submit" value="Zaloguj się">
</form>
Nie mieszamy w taki sposób PHP z HTML'em. Choć, dobrze by było całkowicie tego uniknąć poprzez system szablonów jak choćby Twig.
Poznasz kilka rzeczy związanych z OOP:
https://webmastah.pl/jak-programowac-obiektowo-cz-1-wstep/
Więcej o warstwach:
https://en.wikipedia.org/wiki/Multitier_architecture
Z pewnością przyda się wzorzec DI <- Poprawi to czytelność kodu.
Długa droga przed Tobą. Zajrzyj do wykładów Sławomira Sobótki o Domain Driven Design i architekturze, nauczysz się fajnego sposobu myślenia o kodzie. :)
Przykładowa prezentacja:
https://www.youtube.com/watch?v=CKONKZLmMwk&t=7s
Fajny przewodnik:
http://www.phptherightway.com/
Powodzenia! :)
Oh! Jeszcze jedno; Zdecydowanie naucz się rozróżniać obiekty, struktury, funkcje i procedury.
Na przykład: Klasie User bliżej jest do struktury niżeli obiektu.