Witam
Jak można zrobić panel logowania na stronie pobierając login i hasło z bazy danych.
Szkic bazy danych:
login: | haslo:
login1 | haslo1
login2 | haslo2
login3 | haslo3
<?php // połącznie z serwerem bazy // wybór bazy danych // przygotowanie zapytania i wykonanie go $strSQL = "SELECT * FROM users WHERE login = '" . $_POST[ 'login' ] . "' AND haslo = '" . $_POST[ 'pass' ] . "'"; // jesli są wyniki to znaczy że jest taki użytkownik { } else { } ?>
<? $dbhost = "..."; $db = "..."; $dbuser = "..."; $dbpass = "..."; $connection = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Błąd: Nie można połączyć się z bazą MySQL"); $login = $_POST['login']; $pass = $_POST['pass']; { } else { $strSQL = "SELECT * FROM konta WHERE login = '.$login.' AND haslo = '.$pass.'"; { $_SESSION['login'] = $login; } else { <form method="POST"> <p><input type="text" name="login" size="20"></p> <p><input type="text" name="pass" size="20"></p> <p><input type="submit" value="Prześlij" name="B1"><input type="reset" value="Resetuj" name="B2"></p> </form> '); } } ?>
<?php { $_SESSION['login'] = $login; } else { ?> <form method="POST"> <p><input type="text" name="login" size="20"></p> <p><input type="text" name="pass" size="20"></p> <p><input type="submit" value="Prześlij" name="B1"><input type="reset" value="Resetuj" name="B2"></p> </form> <?php } ?>
<?php if(issest($_SESSION['login'])) { } else { // Formularz logowania } ?>
<?php ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <style type="text/css"> <!-- body,td,th { color: #CCCCCC; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; } body { background-color: #000000; } a { font-family: Arial, Helvetica, sans-serif; color: #CCCCCC; font-weight: bold; } a:link { text-decoration: none; } a:visited { text-decoration: none; color: #CCCCCC; } a:hover { text-decoration: underline; color: #999999; } a:active { text-decoration: none; color: #FFFFFF; } input { font-family:"Courier New", Courier, monospace; background:#999999; color:#FFFFFF; border:1px solid #FFFFFF; margin:1px; padding-left:1px; padding-right:2px; } .error-box { border:1px solid #FFFFFF; background:#999999; text-align:left; vertical-align:middle; padding-top:7px; padding-left:7px; } --> </style></head> <body> <?php function error_box($code_number, $code_name) { echo '<br /><br /><br /><br /><table width="50%" border="0" cellspacing="0" cellpadding="0" class="error-box" align="center"><tr><td><span style="color:#CC0000;"><b>Błąd '.$code_number.'</b>:<pre>'.$code_name.'</pre></span></td></tr></table>'; } // połącznie z serwerem bazy // wybór bazy danych { error_box('1', 'Nie można połączyć się z bazą danych.'); } // przygotowanie zapytania i wykonanie go $strSQL = "SELECT * FROM forum_members WHERE m_name='" . $_POST[ 'login' ] . "' AND m_password='" . base64_encode($_POST[ 'haslo' ]) ."'"; // jesli są wyniki to znaczy że jest taki użytkownik { if( $resQueFetch == TRUE ) { echo '<p align="center">Logowanie przebiegło pomyślnie, przekierowywuje...<br />Jeżeli nie chcesz czekać kliknij <a href="'.$_SERVER['PHP_SELF'].'">tutaj</a>.</p>'; $_SESSION['login'] = $resQueFetch['m_name']; } else { error_box('2', 'Dane które wprowadziłeś są błędne!'); } } { echo '<form id="form2" name="form2" method="post" action="'.$_SERVER['PHP_SELF'].'"><label><input name="wyloguj" type="submit" id="wyloguj" value="Wyloguj" /></label></form>'; { } } else { echo('Zaloguj się (Twoja przeglądarka musi przyjmować cookies!)<br /><br /><form id="form1" name="form1" method="post" action="'.$_SERVER['PHP_SELF'].'"><label><input name="login" type="text" id="login" /></label>Login<br /><label><input name="haslo" type="password" id="haslo" /></label>Haslo <p><label><input type="submit" name="Submit" value="Loguj" /></label></p></form>'); } ?> </body> </html>