Witam jako że cierpię na bezsenność ;) tej nocy napisałem w 80% coś na wzór CMS typowo informacyjnego. Proszę Was o ocenę kodowania [jest to wersja robocza więc nie patrzeć na grafikę :D]
Pare kodów :
Logowanie:
<?php
// rozpoczecie buforowania
ob_start();
include "head.php";
// start sesji
session_start();
// polaczenie z mysql
require_once "cfg.php";
mysql_select_db($db_name)
or die('Nie udalo sie wybrac bazy danych...');
if($_SESSION['logged']) echo 'Juz jestes zalogowany!';
else
{
// tworzymy prosty formularz
echo '<div class="logowanie"><div><h2>Logowanie</h2>
<form action="loguj.php" method="post">
Nick: <br />
<input type="text" name="nick" /><br />
Haslo: <br />
<input type="password" name="pass" /><br />
<center><input type="submit" name="ok" value="Zaloguj" /></center>
</form></div></div>';
if(isset($_POST['ok']))
{
$nick = trim($_POST['nick']);
$pass = trim($_POST['pass']);
// sprawdzamy czy wszystkie dane zostaly podane
if(empty($nick) || empty($pass)) echo '<center>Wypelnij wszystkie pola!</center>';
else
{
// filtrujemy dane
$nick = strip_tags( mysql_real_escape_string( HTMLSpecialChars($nick)));
$pass = strip_tags( mysql_real_escape_string( HTMLSpecialChars($pass)));
// kodujemy haslo
$pass = md5($pass);
$result = mysql_query("SELECT * FROM users WHERE nick='$nick' AND pass='$pass'");
if(mysql_num_rows($result)==0) echo '<center>Niestety podales niepoprawne dane!</center>';
else
{
// dodajemy wynik zapytania do tablicy
$row = mysql_fetch_array($result);
// ustawianie sesji ze uzytkownik jest zalogowany
$_SESSION['logged'] = true;
// dodawanie do sesji id uzytkownika, login oraz date rejestracji
$_SESSION['id'] = $row['id'];
$_SESSION['nick'] = $row['nick'];
$_SESSION['data_rejestracji'] = $row['data_rejestracji'];
//przekierowanie po zalogowaniu ;)
header("Location: index.php");
}
}
}
}
// rozlaczenie z baza danych
mysql_close();
include "stopka.php";
// koniec buforowania
ob_end_flush();
?>
Kliknij i zaczekaj na załadowanie kodu ...
Instalacja:
<?php
switch($_GET['go']){
default:
echo"<script type='text/javascript'>
// <![CDATA[
function sprawdz(formularz)
{
for (i = 0; i < formularz.length; i++)
{
var pole = formularz.elements[i];
if (!pole.disabled && !pole.readonly && (pole.type == 'text' || pole.type == 'password' || pole.type == 'textarea') && pole.value == '')
{
alert('Prosze wypelnic wszystkie pola!');
return false;
}
}
return true;
}
// ]]>
</script>";
echo"<center>";
echo"<form name='zgloszenie' method='post' action='?go=1' onsubmit='if (sprawdz(this)) return true; return false'>";
echo"<table><tr>";
echo"<td>Nazwa usera:</td><td> <input type='text' name='user' maxlength='200' size='15' /></td></tr>";
echo"<td>Haslo bazy:</td><td> <input type='text' name='haslo' maxlength='200' size='15' /></td></tr>";
echo"<td>Nazwa bazy:</td><td> <input type='text' name='nazwa' maxlength='200' size='15' /></td></tr>";
echo"<td>Host:</td><td> <input type='text' value='localhost' name='host' maxlength='200' size='15' /></td></tr>";
echo"</table>";
echo"<input type='submit' value='Wyslij!' /></form>";
echo"</center>";
break;
case '1';
$user = $_POST['user'];
$haslo = $_POST['haslo'];
$nazwa = $_POST['nazwa'];
$host = $_POST['host'];
$plik = fopen('cfg.php','w'); //atrybut 'w' tworzy plik jesli takowy nie istnieje
fwrite($plik,'<?php
$db_user = "'.$user.'";
$db_pass = "'.$haslo.'";
$db_name = "'.$nazwa.'";
$db_host = "'.$host.'";
mysql_connect($db_host, $db_user, $db_pass) or die ("Nieudane polaczenie z baza danych...");
?>');
$s = "cfg.php"; //deklaracja sciezki do pliku
$t= file_exists($s); //sprawdzenie czy plik istnieje
if (!$t){
echo "<center>Blad plik ".$s."nie zostal znaleziony. Spróbuj jeszcze raz.</center>";
}else{
echo "<center>Plik " .$s. " znaleziony.<br /><a href='?go=2'><button>Dalej</button></a></center>"; //informacja, ze istnieje plik o nazwie $s na serwerze
}
break;
case '2';
require_once "cfg.php";
mysql_select_db($db_name)
or die('Nie udalo sie wybrac bazy danych...');
$zapytanie = "CREATE TABLE `users` (
`id` INT NOT NULL AUTO_INCREMENT ,
`nick` VARCHAR( 100 ) NOT NULL ,
`pass` VARCHAR( 60 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM";
$idzapytania = mysql_query($zapytanie);
$z = "CREATE TABLE `news` (
`id` INT NOT NULL AUTO_INCREMENT ,
`tresc` VARCHAR( 60 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM";
$i = mysql_query($z);
if ($idzapytania){
if ($i){
echo "<center>Skrypt zostal pomyslnie zainstalowany<br /><a href='?go=3'><button>Dalej</button></a></center>";
}else{
echo "Blad inicjacji bazy danych";
}
}
break;
case '3';
echo '<form action="?go=4" method="POST">
Nick: <br />
<input type="text" name="nick"><br />
Haslo: <br />
<input type="password" name="pass"><br />
<input type="submit" name="ok" value="Rejestruj">
</form>';
break;
case '4';
require_once "cfg.php";
mysql_select_db($db_name)
or die('Nie udalo sie wybrac bazy danych...');
$nick = $_POST['nick'];
$pass = $_POST['pass'];
// filtrujemy dane
$nick = strip_tags( mysql_real_escape_string(HTMLSpecialChars($nick)));
$pass = strip_tags( mysql_real_escape_string(HTMLSpecialChars($pass)));
// sprawdzamy czy jest juz uzytkownik o takim loginie
// kodujemy haslo
$pass = md5($pass);
// tworzymy zapytanie
$query = "INSERT INTO `users` (`nick` , `pass`) VALUES ('$nick', '$pass')";
// jesli zapytanie wykona sie poprawnie to zostanie wyswietlony stosowny komunikat
if(mysql_query($query)) echo 'Zostales poprawnie zarejestrowany! Mozesz sie teraz <a href="loguj.php">zalogowac</a>';
break;
}
?>
Kliknij i zaczekaj na załadowanie kodu ...
Link do stronki http://ossto.pl/cms/
Za wszystkie uwagi będę bardzo wdzięczny ;).
Pozdrawiam ostry38.
PW od moderatora:
- Przeniesienie tematu - Pieka 24.11 - 07:30
- Zmiana nazwy tematu - Pieka 24.11 - 07:30
Edytowane przez Pieka dnia 24.11.2009 13:51:56
Pomagam na GG jedynie w drobnych sprawach!
|