Zaczynamy od utworzenia odpowiedniej tabeli
CREATE TABLE `portalsi_site`.`users` ( `id` TINYINT NOT NULL AUTO_INCREMENT , `name` VARCHAR( 32 ) NOT NULL , `pass` TEXT NOT NULL , `mail` VARCHAR( 54 ) NOT NULL , `gg` VARCHAR( 20 ) NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
Skoro mamy już tabelę możemy zacząć pisać kod. Na początku musimy stworzyć plik konfiguracyjny, który połączy nas z bazą
<?
$connection = @mysql_connect('host', 'uzytkownik', 'haslo')
or die('Nie można połączyć z bazą danych.<br />Błąd: '.mysql_error());
$db = @mysql_select_db('nazwa_bazy', $connection)
or die('Nie mogę połączyć z bazą danych<br />Błąd: '.mysql_error());
?>Zapisujemy to jako plik config.php.
Zaczynamy od pliku register.php
<?php
include("config.php");
//Ważne aby config.php byl w tym samym katalogu co register.php
function registerForm() { //Formularz rejestracji
?>
<form method="POST">
Nazwa:<br />
<input type="text" name="name" /><br />
Hasło:<br />
<input type="password" name="pass" /><br />
E-mail:<br />
<input type="text" name="mail" /><br />
Gadu-Gadu:<br />
<input type="text" name="gg" /><br />
<input type="submit" name="submit" value="Rejestracja" /><br />
<?php
}
function register() { //Funkcja rejestracji
//Odbieramy dane
$name = $_POST['name'];
$pass = md5($_POST['pass']);
$mail = $_POST['mail'];
$gg = $_POST['gg'];
//Zmienna błedu
$error = false;
//Sprawdzamy czy wypełnione są pola nazwa, haslo i email
if(empty($name)||empty($pass)||empty($mail)) {
echo "Nie wypełniono wszystkich pól!<br />"; //Jesli nie wypelniono
$error = true;
}
//Dodajemy do bazy jeżeli nie ma błedów
if(!$error) {
$query = "INSERT INTO `users` (`id`, `name`, `pass`, `mail`, `gg`) VALUES ('', '$name', '$pass', '$mail', '$gg');";
$result = mysql_query($query);
echo "Zarejestrowano poprawnie, <a href=login.php>możesz się teraz zalogować!</a><br />";
}
}
//Teraz wywołujemy funkcje ifem
if(isset($_POST['submit'])) {
//Jeżeli wyslano formularz ;d
register();
} else {
//Jeżeli nie wyslano
registerForm();
}
?>Rejestracje mamy już za sobą, teraz pozostał tylko plik login.php
<?php
session_start();
include("config.php");
//Funkcja formularza logowania
function loginForm() {
?>
<form method="POST">
Login:<br />
<input type="text" name="name" /><br />
Hasło:<br />
<input type="password" name="pass" /><br />
<input type="submit" name="submit" value="Zaloguj" />
</form>
<?php
}
//Teraz funkcja odpowiadająca za zalogowanie
function login() {
//Odbieramy dane
$name = $_POST['name'];
$pass = md5($_POST['pass']);
$error = false;
//Sprawdzamy puste pola
if(empty($name)||empty($pass)) {
echo "Nie wypełniono wszystkich pól!<br />";
$error = true;
}
//Sprawdzamy czy w bazie istnieje taki użytkownik i logujemy
$query = "SELECT * FROM users WHERE name = '$name' AND pass = '$pass'";
$result = mysql_query($query);
$dane = mysql_fetch_array($result);
if($name == $dane['name'] && $pass == $dane['pass'] && !$error) {
//Tu oczywiście możemy wczytać takie wartosci jakie chcemy
$_SESSION['loged'] = true;
$_SESSION['nick'] = $dane['name'];
$_SESSION['gg'] = $dane['gg'];
$_SESSION['mail'] = $dane['mail'];
echo "Zostałeś poprawnie zalogowany!<br />";
} else {
echo "Nie można zalogować, <a href=login.php>spróbój ponownie.</a><br />";
}
}
//Wczytujemy funkcje
if(isset($_POST['submit'])) {
//Jesli wyslano formularz
login();
} else {
//Jesli nie wyslano
loginForm();
}
?>PHP]
I taki mały „bajer” na sprawdzenie w postaci [b]index.php[/b]
[PHP] <?php
session_start();
header("Content-Type: text/html; charset=utf8");
include("config.php");
if($_SESSION['loged']) {
echo 'Witaj '.$_SESSION['nick'].'<br />Twój e-mail to: '.$_SESSION['mail'].'<br />A gg: '.$_SESSION['gg'].'.';
} else {
echo '<a href=register.php>Zarejestruj się </a><a href=login.php>lub zaloguj.</a>';
}
?>Miłej zabawy w PHP, myślę że pomogłem
Skrypt sprawdzony, u mnie działa

Logowanie
Rejestracja
Pomoc



Cytuj
