26-07-2010, 17:24
Witam wszystkich,
mam pewien problem z PHP i MySQL.
W ramach mojego ćwiczenia chciałbym zrobić panel administracyjny do bazy danych dla użytkowników.
Wyglądało by to w następujący sposób:
1 strona - Pola login i hasło.
(użytkownik się loguje do MySQL podając login i hasło - następnie jest to wpisywane do sesji)
2 strona - Panel administracyjny bazy.
(użytkownik wybiera sobie daną bazę z rozwijanego menu aby przejrzeć rekordy)
3 strona - Wyświetlanie wyników bazy.
W kodzie który napisałem to wygląda tak:
1 Strona - index.php
2 Strona - selectdb.php
3 Strona - baza.php
Niestety, nie przechowuje mi sesji.
Pracuje na lokalnym hoście w domu, na wewnętrznym środowisku apache+php+mysql - XAMPP
Logowanie do bazy z poziomu konsoli jest bezproblemowe, tak samo nie ma problemów z wyświetlaniem zapytania "select * from produkty".
Proszę o pomoc, jak mogę "bezpiecznie" przechowywać dane dotyczące loginu i hasła by użytkownik był ciągle zalogowany do bazy ?
mam pewien problem z PHP i MySQL.
W ramach mojego ćwiczenia chciałbym zrobić panel administracyjny do bazy danych dla użytkowników.
Wyglądało by to w następujący sposób:
1 strona - Pola login i hasło.
(użytkownik się loguje do MySQL podając login i hasło - następnie jest to wpisywane do sesji)
2 strona - Panel administracyjny bazy.
(użytkownik wybiera sobie daną bazę z rozwijanego menu aby przejrzeć rekordy)
3 strona - Wyświetlanie wyników bazy.
W kodzie który napisałem to wygląda tak:
1 Strona - index.php
Kod:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>mysql local</title>
</head>
<body>
<form action="selectdb.php" method="post">
<center>
Login: <input type="text" name="login" size="10" maxlength="20"><br>
Hasło: <input type="password" name="pass" size="10" maxlength="20"><br>
<input type="submit" value="Zaloguj"/>
</center>
</form>
</body>
</html>
2 Strona - selectdb.php
Kod:
<?php
session_start();
//sprawdzamy warunek i przypisujemy posta do sesji
if($_POST['login'])$_SESSION['login']=$_POST['login'];
if($_POST['pass'])$_SESSION['pass']=$_POST['pass'];
$login=$_SESSION['login'];
$pass=$_SESSION['pass'];
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>mysql local</title>
</head>
<body>
<center><h1> Panel Admnistracyjny MySQL</h1></center>
<form action="baza.php" method="post">
<?php
$host = "localhost";
//sprawdzanie połączenia z bazą
@$db = mysql_pconnect($host, $login, $pass);
if(!$db)
{
echo "<center>błędny login lub hasło</center><br>";
exit;
}
else
echo "<center>zalogowany poprawnie !</center><br>";
?>
Baza: <select name="baza">
<option value="local">local
<option value="nie">niewybierajtej
</select><br>
<input type="submit" value="wybierz"/>
</form>
</body>
</html>
3 Strona - baza.php
Kod:
<?php
session_start();
$login = $_SESSION['login'];
$pass = $_SESSION['pass'];
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>mysql local</title>
</head>
<body>
<?php
$baza = $_POST['baza'];
$host = "localhost";
echo "<h1><br><center>baza: ";
echo $_POST['baza'];
echo "</center></h1>";
//sprawdzanie połączenia z bazą
@$db = mysql_pconnect($host, $login, $pass);
if(!$db)
{
echo "<center>błędny login lub hasło</center><br>";
exit;
}
else
echo "<center>zalogowany poprawnie !</center><br>";
//wybór bazy danych
$baza = mysql_select_db($baza,$db);
//formuła pytania SQL
$res = mysql_query("select * from produkty",$cn);
echo "<table><tr>";
$n = mysql_num_fields($res); // ile kolumn
for($i=0; $i<$n; $i++) // wyświetl nagłówki
echo "<th>".mysql_field_name($res,$i)."</th>";
echo "</tr>";
while($row = mysql_fetch_array($res))
{ // wyświetl wiersze
echo "<tr>";
for($i=0; $i<$n; $i++) // dla każdej kolumny
echo "<td>".$row[$i]."</td>";
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>
Niestety, nie przechowuje mi sesji.
Pracuje na lokalnym hoście w domu, na wewnętrznym środowisku apache+php+mysql - XAMPP
Logowanie do bazy z poziomu konsoli jest bezproblemowe, tak samo nie ma problemów z wyświetlaniem zapytania "select * from produkty".
Proszę o pomoc, jak mogę "bezpiecznie" przechowywać dane dotyczące loginu i hasła by użytkownik był ciągle zalogowany do bazy ?