Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]kilka pytań odnośnie poprawnej sesji
jobp33
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 30.11.2015

Ostrzeżenie: (0%)
-----


Witam
Tworzę prostą aplikacje z logowanie i sesją. Jedno pyatanie zaznaczyłem jako komentarze w kodzie (wydaje mi się że chyba najlepsze rozwiązanie aby wytłumaczyć o co mi chodzi)
  1. <!DOCTYPE html>
  2.  
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>strona</title>
  6. </head>
  7. <body>
  8. <div>
  9.  
  10. <center>
  11. <br>
  12. <br>
  13. <font>LOGOWANIE</font>
  14. <br>
  15. <br>
  16.  
  17. <?php
  18.  
  19. $con = mysqli_connect('localhost', 'ja, 'ja', 'baza');
  20. if(mysqli_connect_errno()){
  21. echo mysqli_connect_error();
  22. exit();
  23. }
  24.  
  25. session_start();
  26.  
  27. if(isset($_POST['zaloguj'])){
  28. $login = $_POST['login'];
  29. $haslo= $_POST['haslo'];
  30.  
  31. $log = mysqli_query($con, 'select * from uzytkownicy where login = "'.$login.'" and haslo = "'.$haslo.'" ');
  32. //$res=$mysqli->query($log);
  33.  
  34. if(mysqli_num_rows($log)==1 || ){
  35. if("'.admin.'"==1){ <------Czy w ten sposób powinno się podawać zmienne z bazy danych których wartość ma sprawdzić?
  36. $_SESSION ['imie'] = $imie;
  37. $_SESSION ['nazwisko'] = $nazwisko; <----
  38. header ('Location:admin.php');
  39. }
  40. else{
  41. $_SESSION ['imie'] = $imie;
  42. $_SESSION ['nazwisko'] = $nazwisko;
  43. header ('Location:start.php');
  44. }
  45. }else{ echo "Błędny login lub hasło";
  46. }
  47.  
  48. if(isset($_GET['Wyloguj'])){
  49. session_unregister($login);
  50. }
  51. }
  52.  
  53. ?>
  54.  
  55. <form name="logowanie" method="POST">
  56. LOGIN <input type="text" name="login" value="" size="35" /><br>
  57. HASŁO <input type="password" name="haslo" value="" size="35" /><br>
  58. <input type="submit" value="Login" name="zaloguj" />
  59.  
  60.  
  61.  
  62. </form>
  63. </center>
  64.  
  65.  
  66. </body>
  67. </html>


Odnośnie linijki 36 i 37: Czy dzięki takiej konstrukcji program przechwyci konkretne dane z bazy i przypisze je do tych zmiennych dzieki czemu będe mógł się do nich odwoływać na innych plikach tego projektu? Np. na stronie admin czy ten zapisa ma sens
  1. echo 'Witamy '.$_SESSION['imie'];
?
Której składni lepiej używać mysql czy mysqli?

Ten post edytował jobp33 14.12.2015, 16:44:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


O rozszerzeniu mysql zapomnij, zostało usunięte.

W linii 31 masz podatność na SQL Injection. Stosuj bindowanie parametrów. mysqli_query zwraca result http://php.net/manual/pl/class.mysqli-result.php więc musisz go jeszcze wybrać np. poprzez http://php.net/manual/pl/mysqli-result.fetch-assoc.php
header nie zadziała bo wysłałeś już tekst.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 23:31