Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/MySQL] Logowanie do panelu admina
Forum PHP.pl > Forum > Przedszkole
sytluk
Witam,

tworzę skrypt, który polega na zalogowaniu się do panelu admina. Należy wpisać tylko hasło, które wcześniej zapisałem w bazie danych. Wszystko musi być w jednym pliku

Oto kod:
CODE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
</head>
<body>
<?php
$connection = mysql_connect("localhost", "root", "krasnal") or die ("Nie można się połączyć!");

$query = "CREATE DATABASE IF NOT EXISTS domowa";
$result = mysql_query($query) or die ("Wykonanie zapytania nie powiodło się: ".mysql_error());

$db = mysql_select_db("domowa",$connection) or die ("Nie można wybrać bazy danych!");

$query = "SELECT * FROM haslo";
$result = mysql_query($query) or die("Wykonanie zapytania nie powiodło się: ". mysql_error());

if(isset($_REQUEST['haslo'])){
?>
<h1>Witam w panelu administratora</h1>
<h2>Treść:</h2>
<ul>
<li><a href="dodaj_artykul.php">Dodaj artykuł</a></li>
<li><a href="dodaj_news.php">Dodaj newsa</a></li>
<li><a href="dodaj_kategorie.php">Dodaj kategorię artykułów</a></li>
<li><a href="dodaj_link.php">Dodaj linka</a></li>
</ul>

<h2>Administracja:</h2>
<ul>
<li><a href="zmien_haslo.php">Zmień hasło</a></li>
</ul>
<?php
}
else {
?>
<form action="panel.php" method="POST">
<b>Podaj hasło, aby wjeść do panelu administracyjnego</b><br>
<input type="password" name="haslo"><br>
<input type="submit" value="wyślij">
</form>
<?php
}
mysql_close($connection);
?>

</body>
</html>


Problem najprawdopodobniej jest ze zmienną $row['haslo']. Czy ktoś może doradzić jak zrobić poprawny kod??

p.s kod w tej chwili nie wyświetla błędu, lecz loguje po wpisaniu czegokolwiek, a nie tylko poprawnego hasła dry.gif
Amorph
Nie odbierasz wartości z tabeli, nigdzie nie porównujesz.. jak ma ten skrypt działać ?
Nie odbierasz z formularza wpisanego hasła....
sytluk
Cytat(Amorph @ 15.02.2007, 15:32:22 ) *
Nie odbierasz wartości z tabeli, nigdzie nie porównujesz.. jak ma ten skrypt działać ?
Nie odbierasz z formularza wpisanego hasła....


Więc jak to muszę odebrać??

  1. <?php
  2. if(isset($_REQUEST['haslo']))
  3. ?>

To nie jest sprawdzenie? blink.gif
BORG
To:
  1. <?php
  2. $query = "SELECT * FROM haslo";
  3. $result = mysql_query($query) or die("Wykonanie zapytania nie powiodło się: ". mysql_error());
  4.  
  5. if(isset($_REQUEST['haslo'])){
  6. ?>

Zmien na:
  1. <?php
  2. $query = "SELECT * FROM haslo";
  3. $result = mysql_query($query) or die("Wykonanie zapytania nie powiodło się: ". mysql_error());
  4. $row = mysql_fetch_array($result);
  5. if(isset($_POST['haslo']) && $_POST['haslo'] == $row['haslo']){
  6. ?>

Pamietaj zeby tam gdzie masz $row['haslo'] podac nazwe pola w ktorym jest zapisane twoje haslo.

PS twoj blad polegal na tym ze sprawdzales tylko czy w formularzu zostalo cokolwiek wpisane, dlatego po wpisaniu czegokolwieg sie logowalo.
  1. <?php
  2. if(isset($_REQUEST['haslo']))
  3. ?>

Teraz sprawdza czy zostalo cos wpisane, jesli tak to sprawdza czy to co zostalo wpisane rowna sie haslu w bazie:
  1. <?php
  2. if(isset($_POST['haslo']) && $_POST['haslo'] == $row['haslo'])
  3. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.