WitamMam bardzo fajny skrypt, który pochodzi z ksiazki php i MySQL tworzenie stron www, ale co ciekawego wywala błędy.
nic nie zmieniałem, może ktoś mi powiedzieć co jest nie tak?
pliki:
uwierz_glowny.php
tylko_czlonkowie.php
wylog.php
uwierz_glowny.php<?php
if(isset($_POST['iduzytkownika']) && isset($_POST['haslo'])) {
// jeżeli użytkownik wła¶nie podj±ł próbę zalogowania
$iduzytkownika = $_POST['iduzytkownika'];
$haslo = $_POST['haslo'];
$bd_lacz = new mysql('localhost', 'root', 'krasnal', 'uwierz');
if (mysqli_connect_errno()) {
echo 'Poł±czenie z baz± danych nie powiodło się: '.mysqli_connect_error
(); }
$zapytanie = 'select * from uwierzytelnieni_uzytkownicy '
."where uzytkownik='$iduzytkownika' "
." and haslo=sha1('$haslo')";
$wynik = $bd_lacz->query($zapytanie);
if($wynik->num_rows > 0)
{
// jeżeli dane s± w bazie zarejestrowanie identyfikatora użytkownika
$_SESSION['prawid_uzyt'] = $iduzytkownika;
}
$bd_lacz->close();
}
?>
<html>
<body>
<h1>Strona główna</h1>
<?
if(isset($_SESSION['prawid_uzyt'])) {
echo 'Użytkownik zalogowany jako: '.$_SESSION['prawid_uzyt'].'<br />'; echo '<a href="wylog.php">Wylogowanie</a><br />'; }
else
{
if(isset($iduzytkownika)) {
// jeżeli próba logowania była nieudana
echo 'Zalogowanie niemożliwe.<br />'; }
else
{
// nie było próby logowania lub nast±piło wylogowanie
echo 'Użytkownik niezalogowany.<br />'; }
// tworzenie formularza logowania
echo '<form method="post" action="uwierz_glowny.php">'; echo '<tr><td>Identyfikator użytkownika:</td>'; echo '<td><input type="text" name="iduzytkownika"></td></tr>'; echo '<tr><td>Hasło:</td>'; echo '<td><input type="password" name="haslo"></td></tr>'; echo '<tr><td colspan="2" align="center">'; echo '<input type="submit" value="Logowanie"></td></tr>'; }
?>
<br>
<a href="tylko_czlonkowie.php">Czę¶ć członkowska</a>
</body>
</html>
tylko_czlonkowie.php<?php
echo '<h1>Część członkowska</h1>';
// sprawdzenie zmiennej sesji
if(isset($_SESSION['prawid_uzyt'])) {
echo '<p>Użytkownik zalogowany jako '.$_SESSION['prawid_uzyt'].'</p>'; echo '<p>Oto zawartość dostępna tylko dla członków</p>'; }
else
{
echo '<p>Użytkownik niezalogowany.</p>'; echo '<p>Tylko zalogowani użytkownicy mogą oglądać tę stronę.</p>'; }
echo '<a href="uwierz_glowny.php">Powrót do strony głównej</a>'; ?>
wylog.php<?php
$stary_uzyt=$_SESSION['prawid_uzyt']; // przechowanie do sprawdzenie czy logowanie nastąpiło
unset($_SESSION['prawid_uzyt']); ?>
<html>
<body>
<h1>Wylogowanie</h1>
<?php
{
echo 'Wylogowano.<br />'; }
else
{
// jeżeli brak zalogowania, lecz w jakiś sposób uzyskany dostęp do strony
echo 'Użytkownik niezalogowany, tak więc brak wylogowania.<br />'; }
?>
<a href="uwierz_glowny.php">Powrót do strony głównej</a>
</body>
</html>
baza:CREATE DATABASE uwierz;
USE uwierz;
CREATE TABLE uwierzytelnieni_uzytkownicy (
uzytkownik varchar(20) NOT NULL,
haslo varchar(40) NOT NULL,
PRIMARY KEY (uzytkownik)
);
INSERT
INTO uwierzytelnieni_uzytkownicy VALUES
('uzytkownik', 'haslo');
INSERT
INTO uwierzytelnieni_uzytkownicy VALUES
( 'testowy', sha1('haslo') );
GRANT SELECT ON uwierz.*
TO uwierzytel@localhost
IDENTIFIED BY 'uwierzytel';
FLUSH privileges;
no i super - wszystko cacy odpalamy uwierz_glowny.php , wpisujemy login, haslo
i
Fatal error: Cannot instantiate non-existent class: mysql in c:\usr\krasnal\www\a\uwierz_glowny.php on line 10
co tu jest nie tak?