<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ACCES INTERZIS &#187; web</title>
	<atom:link href="http://www.accesinterzis.ro/index.php/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.accesinterzis.ro</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 14 Oct 2010 01:05:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Cel mai enervant lucru in programarea web</title>
		<link>http://www.accesinterzis.ro/index.php/web/cel-mai-enervant-lucru-in-programarea-web/</link>
		<comments>http://www.accesinterzis.ro/index.php/web/cel-mai-enervant-lucru-in-programarea-web/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 01:05:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.accesinterzis.ro/?p=412</guid>
		<description><![CDATA[Cred ca cel mai enervant lucru in programarea web este sa te asiguri ca (scuzati cacofonia) codul client-side(html,css, javascript etc.) este cross-browser. Cred ca acest lucru da cele mai mari batai de cap web developerilor: sunt 5 browsere diferite (IE, Firefox, Chrome, Opera, Safari) si fiecare browser in parte are nu stiu cate versiuni iar companiile care [...]


<strong>Niciun articol asemanator.</strong>]]></description>
			<content:encoded><![CDATA[<p>Cred ca cel mai enervant lucru in programarea web este sa te asiguri ca (<span style="text-decoration: line-through;">scuzati cacofonia</span>) codul client-side(html,css, javascript etc.) este cross-browser. Cred ca acest lucru da cele mai mari batai de cap web developerilor: sunt 5 browsere diferite (IE, Firefox, Chrome, Opera, Safari) si fiecare browser in parte are nu stiu cate versiuni iar companiile care fac aceste browsere, din cauza concurentei si rivalitatii, isi implementeaza fiecare propriile standarde.</p>
<p>Voi ce parere aveti? Care lucru credeti voi ca este cel mai enervant in programarea web?</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Cel+mai+enervant+lucru+in+programarea+web+http://fimar.th8.us" title="Publica acest articol pe Twitter"><img class="nothumb" src="http://www.accesinterzis.ro/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Cel+mai+enervant+lucru+in+programarea+web+http://fimar.th8.us" title="Publica acest articol pe Twitter">Publica acest articol pe Twitter</a></p>

<p><strong>Niciun articol asemanator.</strong></p>]]></content:encoded>
			<wfw:commentRss>http://www.accesinterzis.ro/index.php/web/cel-mai-enervant-lucru-in-programarea-web/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>From old good times</title>
		<link>http://www.accesinterzis.ro/index.php/web/from-old-good-times/</link>
		<comments>http://www.accesinterzis.ro/index.php/web/from-old-good-times/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 00:34:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.accesinterzis.ro/?p=410</guid>
		<description><![CDATA[De cand m-am apucat de barmanie nu prea am mai avut deloc timp sa mai studiez programarea web. In ultimile 6 luni m-am concentrat doar pe cocktailuri, long drinks-uri, cafele preparate, vinuri s.a.m.d. Ce mai 6 luni! Foarte aprinse si foarte nebune. Deci ca sa imi aduc putin aminte cate ceva despre primele 4 limbaje [...]


<strong>Niciun articol asemanator.</strong>]]></description>
			<content:encoded><![CDATA[<p>De cand m-am apucat de barmanie nu prea am mai avut deloc timp sa mai studiez programarea web. In ultimile 6 luni m-am concentrat doar pe cocktailuri, long drinks-uri, cafele preparate, vinuri s.a.m.d. Ce mai 6 luni! Foarte aprinse si foarte nebune. Deci ca sa imi aduc putin aminte cate ceva despre primele 4 limbaje din programarea web o sa scriu definitia fiecaruia (din ce imi mai aduc aminte dupa vreo 2 ani si ceva de studiu intens al programarii web, studiu inceput absolut de la zero si dupa 6 luni de pauza totala). Sa ma corectati daca gresesc sau sa ma completati <del datetime="2010-10-14T00:18:48+00:00">daca e cazul</del>.</p>
<p>HTML inseamna structura.<br />
CSS inseamna aspectul acestei structuri si a informatiei de pe structura.<br />
PHP inseamna manipularea informatiei de pe aceasta structura.<br />
MySQL inseamna stocarea informatiei.</p>
<p>Bucuria mea de acum e ca am gasit o meserie, barmania, din care imi voi castiga existenta multi ani de acum incolo. Iar programarea web va ramane un hobby pe care il voi practica in timpul meu liber. Deci am doua lucruri pe care le indragesc tot mai mult pe zi ce trece: o meserie si anume barmania si un hobby si anume programarea web.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=From+old+good+times+http://wmpdm.th8.us" title="Publica acest articol pe Twitter"><img class="nothumb" src="http://www.accesinterzis.ro/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=From+old+good+times+http://wmpdm.th8.us" title="Publica acest articol pe Twitter">Publica acest articol pe Twitter</a></p>

<p><strong>Niciun articol asemanator.</strong></p>]]></content:encoded>
			<wfw:commentRss>http://www.accesinterzis.ro/index.php/web/from-old-good-times/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cum fac un formular de autentificare a utilizatorilor? (versiunea 2)</title>
		<link>http://www.accesinterzis.ro/index.php/web/cum-fac-un-formular-de-autentificare-a-utilizatorilor-versiunea-2/</link>
		<comments>http://www.accesinterzis.ro/index.php/web/cum-fac-un-formular-de-autentificare-a-utilizatorilor-versiunea-2/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 13:44:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.accesinterzis.ro/?p=387</guid>
		<description><![CDATA[Scripturile PHP apelate prin functia include() le gasiti in articolul despre versiunea 2 a formularului de contact.
Interogarea SQL care creeaza tabelul in care se vor stoca logurile despre autentificarile esuate sau reusite o gasiti in articolul despre prima versiune a formularului de autentificare a utilizatorilor.

loginf.php

&#60;?php
/*
Cum fac un formular de autentificare a utilizatorilor? (versiunea 2)
Autor: Marian [...]


<strong>Articole asemanatoare:<ul><li><a href='http://www.accesinterzis.ro/index.php/web/cum-fac-un-formular-de-inregistrare-a-utilizatorilor-versiunea-2/' rel='bookmark' title='Permanent Link: Cum fac un formular de inregistrare a utilizatorilor? (versiunea 2)'>Cum fac un formular de inregistrare a utilizatorilor? (versiunea 2)</a></li>
<li><a href='http://www.accesinterzis.ro/index.php/programare/cum-fac-un-formular-de-autentificare-a-utilizatorilor/' rel='bookmark' title='Permanent Link: Cum fac un formular de autentificare a utilizatorilor?'>Cum fac un formular de autentificare a utilizatorilor?</a></li>
<li><a href='http://www.accesinterzis.ro/index.php/programare/cum-fac-un-formular-de-contact-versiunea-2/' rel='bookmark' title='Permanent Link: Cum fac un formular de contact? (versiunea 2)'>Cum fac un formular de contact? (versiunea 2)</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Scripturile PHP apelate prin functia include() le gasiti in <a title="Cum fac un formular de contact? (versiunea 2)" href="http://www.accesinterzis.ro/index.php/programare/cum-fac-un-formular-de-contact-versiunea-2/" target="_blank">articolul despre versiunea 2 a formularului de contact</a>.<br />
Interogarea SQL care creeaza tabelul in care se vor stoca logurile despre autentificarile esuate sau reusite o gasiti in <a title="Cum fac un formular de autentificare a utilizatorilor?" href="http://www.accesinterzis.ro/index.php/programare/cum-fac-un-formular-de-autentificare-a-utilizatorilor/" target="_blank">articolul despre prima versiune a formularului de autentificare a utilizatorilor</a>.</p>
<p><span id="more-387"></span></p>
<p><strong>loginf.php</strong></p>
<pre class="brush: php;">
&lt;?php
/*
Cum fac un formular de autentificare a utilizatorilor? (versiunea 2)
Autor: Marian Barbu aka AccesInterzis
Website: http://www.accesinterzis.ro
2010 (c) Toate drepturile rezervate
*/

//-----specific EXACT cu ce campuri se va lucra
#1
$required_fields = array('username', 'password', 'login');
$sent_fields = array_keys($_POST);

//-----creez o sesiune pe server pentru a salva in ea, in caz ca autentificarea reuseste, numele utilizatorului si browserul si sistemul de operare folosite de utilizator
#2
session_start();

//-----ma conectez la baza de date
#3
include('includes/connect_to_db.inc.php');

//-----incarc fisierele include
#3.1
include('includes/validators.inc.php');
include('includes/filter_it.inc.php');
include('includes/validate_form.inc.php');
include('includes/filtered_urls_and_cookies.inc.php');

//------scriptul PHP se executa doar daca cererea a fost facuta de pe aceeasi pagina pe care se afla formularul si doar daca toate campurile formularului au fos trimise
#4
if ($referer == 'http://'.$_SERVER['HTTP_HOST'].$php_self &amp;&amp; $required_fields == $sent_fields) {
	//-----procesez datele din formular; rezultatul va fi o lista de erori, o lista cu datele nevalide, o lista cu datele valide
	#5
	include('includes/process_form.inc.php');

	//-----infasor datele VALIDE in mysql_real_escape_string() deoarece urmeaza sa interoghez baza de date
	#6
	$processed_form['good_data'] = filter_it($processed_form['good_data'], array('mysql_real_escape_string'));

	//-----BEGIN - DATA HANDLING
	#7
	if (isset($processed_form['good_data']['username']) &amp;&amp; isset($processed_form['good_data']['password'])) {
		$q = &quot;SELECT username FROM ai_registrationform WHERE username='&quot;.$processed_form['good_data']['username'].&quot;' AND password=SHA('&quot;.$processed_form['good_data']['password'].&quot;')&quot;;
		$result = mysql_query($q) or die(mysql_error());
		$row = mysql_fetch_array($result);

		if ($row == false) {
			//-----daca datele de logare sunt valide dar nu se regasesc in baza de date se va inregistra in tabelul de loguri un log despre aceasta autentificare esuata
			$q2 = &quot;INSERT INTO ai_authentication_logs(`username`, `password`, `server_authentication_date`, `client_authentication_date`, `ip`, `browser_os`, `screen_resolution`, `status`)&quot;
				 .&quot;VALUES('&quot;.$processed_form['good_data']['username'].&quot;', '&quot;.$processed_form['good_data']['password'].&quot;', NOW(), '&quot;.$cookie['client_authentication_date'].&quot;', '&quot;.$_SERVER['REMOTE_ADDR'].&quot;', '&quot;.$browser_os.&quot;', '&quot;.$cookie['screen_resolution'].&quot;', 'failed')&quot;;

			mysql_query($q2) or die(mysql_error());

			$processed_form['issues']['username'] = 'Your login data are wrong.';
			$processed_form['issues']['password'] = '';
		}
	}
	//-----END - DATA HANDLING

	//-----daca nu exista niciun fel de erori si autentificarea s-a efetuat cu succes
    #8
	if(count($processed_form['issues']) == 0) {
		//-----salvez in tabelul de loguri un log despre autetificare
		#8.1
		$q = &quot;INSERT INTO ai_authentication_logs(`username`, `password`, `server_authentication_date`, `client_authentication_date`, `ip`, `browser_os`, `screen_resolution`, `status`)&quot;
		     .&quot;VALUES('&quot;.$processed_form['good_data']['username'].&quot;', SHA('&quot;.$processed_form['good_data']['password'].&quot;'), NOW(), '&quot;.$cookie['client_authentication_date'].&quot;', '&quot;.$_SERVER['REMOTE_ADDR'].&quot;', '&quot;.$browser_os.&quot;', '&quot;.$cookie['screen_resolution'].&quot;', 'succesful')&quot;;

		mysql_query($q) or die(mysql_error());

		//-----salvez in sesiune numele utilizatorului si numele browserului si sistemului de operare pe care le foloseste
		#8.2
		$_SESSION['username'] = $row['username'];
		$_SESSION['browser_os'] = sha1($_SERVER['HTTP_USER_AGENT']);

		//-----redirectez utilizatorul de pe pagina de login pe pagina principala a sectiunii de administrare
		#8.3
		header('Location:http://'.$_SERVER['HTTP_HOST'].dirname($php_self).'/backend.php');
		exit();
	}

	//-----infasor datele in htmlentities() deoarece urmeaza sa le afisez in formular
	#9
	$get_my_fields = filter_it($get_my_fields, array('htmlentities'));
}
?&gt;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;How do I make a login form?&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;meta name=&quot;description&quot; content=&quot;How do I make a login form?&quot; /&gt;
&lt;meta name=&quot;keywords&quot; content=&quot;login,form,php,script,mysql,database,user,backend,admin,section,cms&quot; /&gt;
&lt;meta name=&quot;abstract&quot; content=&quot;How do I make a login form?&quot; /&gt;
&lt;meta name=&quot;author&quot; content=&quot;AccesInterzis&quot; /&gt;
&lt;meta name=&quot;copyright&quot; content=&quot;AccesInterzis&quot; /&gt;
&lt;meta name=&quot;robots&quot; content=&quot;index,follow&quot; /&gt;
&lt;meta name=&quot;revisit-after&quot; content=&quot;7 days&quot; /&gt;

&lt;style type=&quot;text/css&quot;&gt;
* {
	margin:0;
	padding:0;
	outline:none;
}

html {
	color:black;
	background-color:white;
	font: normal normal normal 12px  Verdana;
	/*font-style font-variant font-weight font-size font-family*/
}

/*INCEPUT - LINIILE CSS CARE CREEAZA SKINUL FORMULARULUI DE AUTENTIFICARE*/

div#loginf {
	width:285px;
	margin:0px auto;
}

div#loginf h1 {
	color:black;
	font: normal normal normal 24px  Verdana;
	/*font-style font-variant font-weight font-size font-family*/
	padding-bottom:5px;
}

div#loginf div {
	margin:0 0 5px 0;
}

div#loginf label {
	width:80px;
	float:left;
}

div#loginf label span {
	color:#c00;
}

div#loginf input {
	width:200px;
}

div#loginf textarea {
	width:300px;
	height:150px;
}

div#loginf input, div#loginf textarea {
	border:1px #ccc solid;
}

div#loginf input:hover, div#loginf textarea:hover {
	border:1px #666 solid;
}

div#loginf input#login {
	width:auto;
	color:#FFF;
	background-color:#333;
	border:1px #000 solid !important;
	cursor:pointer;
}

div#loginf input#login:hover {
	color:#333;
	background-color:#fff;
	border:1px #333 solid;
}

/*Inceput - stilurile erorilor*/

div#loginf p {
	color:#c00;
	padding:0 0 0 80px;
	font-size:10px;
	text-align:left;
}

div#loginf div#username_field label,
div#loginf div#password_field label {
	color:#c00;
}

div#loginf div#username_field input,
div#loginf div#password_field input {
	border:1px #c00 solid;
	color:#c00;
}

div#loginf div#username_field input:hover,
div#loginf div#password_field input:hover {
	border:1px #c00 solid;
}

/*Sfarsit - stilurile erorilor*/

/*SFARSIT - LINIILE CSS CARE CREEAZA SKINUL FORMULARULUI DE AUTENTIFICARE*/
&lt;/style&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
/*
Creez cookie-urile care vor stoca date despre utilizator.
Aceste cookie-uri se creeaza atunci cand se deschide prima oara pagina de login.
De abia cand se reincarca pagina, adica cand utilizatorul apasa butonul &quot;login&quot;, scriptul PHP
se poate folosi de aceste cookie-uri.
*/
document.cookie = 'screen_resolution=' + screen.width + '*' + screen.height + ';';

var current_date = new Date();
var year = current_date.getFullYear();
var month = current_date.getMonth();
var day = current_date.getDate();
var hour = current_date.getHours();
var minutes = current_date.getMinutes();
var seconds = current_date.getSeconds();
var current_date = year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds;
document.cookie = 'client_authentication_date=' + current_date + ';';
&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;div id=&quot;loginf&quot;&gt;
	&lt;h1&gt;
		&lt;label&gt;&amp;nbsp;&lt;/label&gt;
		Login
	&lt;/h1&gt;

	&lt;form action=&quot;&lt;?php echo 'http://'.$_SERVER['HTTP_HOST'].$php_self; ?&gt;&quot; method=&quot;post&quot;&gt;
		&lt;?php echo (isset($processed_form['issues']['username'])) ? '&lt;p&gt;'.$processed_form['issues']['username'].'&lt;/p&gt;&lt;div id=&quot;username_field&quot;&gt;' : '&lt;div&gt;' ; ?&gt;
			&lt;label for=&quot;username&quot;&gt;Username&lt;span&gt;*&lt;/span&gt;:&lt;/label&gt;
			&lt;input name=&quot;username&quot; type=&quot;text&quot; id=&quot;username&quot; value=&quot;&lt;?php if (isset($get_my_fields['username'])) echo $get_my_fields['username']; ?&gt;&quot; /&gt;
		&lt;/div&gt;

		&lt;?php echo (isset($processed_form['issues']['password'])) ? '&lt;p&gt;'.$processed_form['issues']['password'].'&lt;/p&gt;&lt;div id=&quot;password_field&quot;&gt;' : '&lt;div&gt;' ; ?&gt;
			&lt;label for=&quot;password&quot;&gt;Password&lt;span&gt;*&lt;/span&gt;:&lt;/label&gt;
			&lt;input name=&quot;password&quot; type=&quot;password&quot; id=&quot;password&quot; /&gt;
		&lt;/div&gt;

		&lt;div&gt;
			&lt;label&gt; &amp;nbsp; &lt;/label&gt;
			&lt;input name=&quot;login&quot; type=&quot;submit&quot; id=&quot;login&quot; value=&quot;login&quot; /&gt;
		&lt;/div&gt;
	&lt;/form&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p><strong>backend.php</strong></p>
<pre class="brush: php;">
&lt;?php
//-----deschid sesiunea pentru a verifica daca utilizatorul s-a autentificat sau nu
#1
session_start();

//-----incarc include-urile care imi filtreaza URL-urile obtinute dinamic, http_user_agent-ul si cookie-urile
#2
include('includes/filter_it.inc.php');
include('includes/filtered_urls_and_cookies.inc.php');

//-----daca utilizatorul nu s-a autentificat va fi redirectionat catre pagina de login
#3
if (!isset($_SESSION['username']) || !isset($_SESSION['browser_os']) || $_SESSION['browser_os'] != sha1($browser_os)) {
		header('Location:http://'.$_SERVER['HTTP_HOST'].dirname($php_self).'/loginf.php');
		exit();
}

//-----scriptul care asigura functia de logout
#4
if (isset($_GET['action']) &amp;&amp; $_GET['action'] == 'logout') {
	//-----distrug toate variabilele sesiunii de pe server reinitializind intregul tablou superglobal $_SESSION
	#4.1
	$_SESSION = array();

	//-----sterg de pe server toate datele sesiunii apeland functia session_destroy() si sterg de pe PC-ul utilizatorului cookie-ul care stocheaza identificatorul de sesiune
	#4.2
	if (session_destroy() &amp;&amp; setcookie('PHPSESSID', '', time()-300, '/', '', 0)) {
		header('Location:http://'.$_SERVER['HTTP_HOST'].dirname($php_self).'/loginf.php');
		exit();
	}
}
?&gt;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Backend&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;meta name=&quot;description&quot; content=&quot;How do I make a backend?&quot; /&gt;
&lt;meta name=&quot;keywords&quot; content=&quot;backend,administration,section,admin,cms,content,managament,system,php,script,mysql,database&quot; /&gt;
&lt;meta name=&quot;abstract&quot; content=&quot;How do I make a backend?&quot; /&gt;
&lt;meta name=&quot;author&quot; content=&quot;AccesInterzis&quot; /&gt;
&lt;meta name=&quot;copyright&quot; content=&quot;AccesInterzis&quot; /&gt;
&lt;meta name=&quot;robots&quot; content=&quot;index,follow&quot; /&gt;
&lt;meta name=&quot;revisit-after&quot; content=&quot;7 days&quot; /&gt;

&lt;link href=&quot;http://www.accesinterzis.ro/myportofolio/css/reset.css&quot; type=&quot;text/css&quot; rel=&quot;stylesheet&quot; media=&quot;all&quot; /&gt;
&lt;style type=&quot;text/css&quot;&gt;
* {
	margin:0;
	padding:0;
	outline:none;
}

html {
	color:black;
	background-color:white;
	font: normal normal normal 12px  Verdana;
	/*font-style font-variant font-weight font-size font-family*/
}

/*INCEPUT - LINIILE CSS CARE CREEAZA SKINUL SECTIUNII DE ADMINISTRARE*/

div#backend {
	width:1000px;
	margin:10px auto;
	overflow:auto;
	border:1px #ccc solid;
	padding:10px;
}

div#backend a {
	color:#900;
	text-decoration:none;
}

div#backend ul#welcome_message {
	overflow:auto;
	list-style-type:none;
}

div#backend ul#sidebar {
	width:10%;
	float:left;
	list-style-type:none;
	border-right:1px #ccc solid;
}

div#backend div#mainarea {
	width:80%;
	float:right;
}

div#backend div#mainarea p#confirmation_message {
	width:75%;
	margin:250px auto;
}

div#backend div#footer{
	width:100%;
	float:left;
	text-align:center;
}

div.splitter {
	width:100%;
	height:1px;
	clear:both;
	float:left;
	border-top:1px #ccc solid;
	margin: 10px 0 10px 0;
}

/*SFARSIT - LINIILE CSS CARE CREEAZA SKINUL SECTIUNII DE ADMINISTRARE*/
&lt;/style&gt;
&lt;/head&gt;

&lt;body&gt;

&lt;div id=&quot;backend&quot;&gt;
	&lt;ul id=&quot;welcome_message&quot;&gt;
		&lt;li style=&quot;float:left;&quot;&gt;Welcome &lt;strong&gt;&lt;?php echo $_SESSION['username']; ?&gt;&lt;/strong&gt; to the administration section&lt;/li&gt;
		&lt;li style=&quot;float:right;&quot;&gt;&lt;a href=&quot;&lt;?php echo 'http://'.$_SERVER['HTTP_HOST'].$php_self; ?&gt;?action=logout&quot; title=&quot;Logout&quot;&gt;Logout&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;

	&lt;div class=&quot;splitter&quot;&gt;&lt;/div&gt;

	&lt;ul id=&quot;sidebar&quot;&gt;
		&lt;?php
		for ($i = 0; $i &lt; 40; $i++) {
			echo '&lt;li&gt;sidebar&lt;/li&gt;';
		}
		?&gt;
	&lt;/ul&gt;

	&lt;div id=&quot;mainarea&quot;&gt;
		&lt;p id=&quot;confirmation_message&quot;&gt;
		&lt;strong&gt;&lt;?php echo $_SESSION['username']; ?&gt;&lt;/strong&gt;, esti aici deoarece ai dovedit ca esti un utilizator autorizat al acestei sectiuni de administrare.
		Acum delogheaza-te si incearca sa accesezi din nou &lt;strong&gt;&lt;?php echo 'http://'.$_SERVER['HTTP_HOST'].$php_self; ?&gt;&lt;/strong&gt;.
		Vei vedea ce se intampla cand cineva neautentificat incearca sa intre in sectiunea de administrare.
		&lt;/p&gt;
	&lt;/div&gt;

	&lt;div class=&quot;splitter&quot;&gt;&lt;/div&gt;

	&lt;div id=&quot;footer&quot;&gt;
		Designed and developed by &lt;a href=&quot;http://www.accesinterzis.ro&quot; title=&quot;Programare | Web development | Web design | Securitate IT | SEO&quot; target=&quot;_blank&quot;&gt;www.accesinterzis.ro&lt;/a&gt; &amp;copy; 2010. All rights reserved.
	&lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Cum+fac+un+formular+de+autentificare+a+utilizatorilor%3F+%28versiunea+2%29+http://q423b.th8.us" title="Publica acest articol pe Twitter"><img class="nothumb" src="http://www.accesinterzis.ro/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Cum+fac+un+formular+de+autentificare+a+utilizatorilor%3F+%28versiunea+2%29+http://q423b.th8.us" title="Publica acest articol pe Twitter">Publica acest articol pe Twitter</a></p>

<p><strong>Articole asemanatoare:<ul><li><a href='http://www.accesinterzis.ro/index.php/web/cum-fac-un-formular-de-inregistrare-a-utilizatorilor-versiunea-2/' rel='bookmark' title='Permanent Link: Cum fac un formular de inregistrare a utilizatorilor? (versiunea 2)'>Cum fac un formular de inregistrare a utilizatorilor? (versiunea 2)</a></li>
<li><a href='http://www.accesinterzis.ro/index.php/programare/cum-fac-un-formular-de-autentificare-a-utilizatorilor/' rel='bookmark' title='Permanent Link: Cum fac un formular de autentificare a utilizatorilor?'>Cum fac un formular de autentificare a utilizatorilor?</a></li>
<li><a href='http://www.accesinterzis.ro/index.php/programare/cum-fac-un-formular-de-contact-versiunea-2/' rel='bookmark' title='Permanent Link: Cum fac un formular de contact? (versiunea 2)'>Cum fac un formular de contact? (versiunea 2)</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.accesinterzis.ro/index.php/web/cum-fac-un-formular-de-autentificare-a-utilizatorilor-versiunea-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Cum fac un formular de inregistrare a utilizatorilor? (versiunea 2)</title>
		<link>http://www.accesinterzis.ro/index.php/web/cum-fac-un-formular-de-inregistrare-a-utilizatorilor-versiunea-2/</link>
		<comments>http://www.accesinterzis.ro/index.php/web/cum-fac-un-formular-de-inregistrare-a-utilizatorilor-versiunea-2/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 13:41:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.accesinterzis.ro/?p=386</guid>
		<description><![CDATA[Scripturile PHP apelate prin functia include() le gasiti in articolul despre versiunea 2 a formularului de contact.
Interogarea SQL care creeaza tabelul in care se vor stoca utilizatorii o gasiti in articolul despre prima versiune a formularului de inregistrare a utilizatorilor.

registrationf.php

&#60;?php
/*
Cum fac un formular de inregistrare a utilizatorilor? (versiunea 2)
Autor: Marian Barbu aka AccesInterzis
Website: http://www.accesinterzis.ro
2010 (c) [...]


<strong>Articole asemanatoare:<ul><li><a href='http://www.accesinterzis.ro/index.php/programare/cum-fac-un-formular-de-inregistrare-a-utilizatorilor/' rel='bookmark' title='Permanent Link: Cum fac un formular de inregistrare a utilizatorilor?'>Cum fac un formular de inregistrare a utilizatorilor?</a></li>
<li><a href='http://www.accesinterzis.ro/index.php/web/cum-fac-un-formular-de-autentificare-a-utilizatorilor-versiunea-2/' rel='bookmark' title='Permanent Link: Cum fac un formular de autentificare a utilizatorilor? (versiunea 2)'>Cum fac un formular de autentificare a utilizatorilor? (versiunea 2)</a></li>
<li><a href='http://www.accesinterzis.ro/index.php/programare/cum-fac-un-formular-de-comentarii-versiunea-2/' rel='bookmark' title='Permanent Link: Cum fac un formular de comentarii? (versiunea 2)'>Cum fac un formular de comentarii? (versiunea 2)</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Scripturile PHP apelate prin functia include() le gasiti in <a title="Cum fac un formular de contact? (versiunea 2)" href="http://www.accesinterzis.ro/index.php/programare/cum-fac-un-formular-de-contact-versiunea-2/" target="_blank">articolul despre versiunea 2 a formularului de contact</a>.<br />
Interogarea SQL care creeaza tabelul in care se vor stoca utilizatorii o gasiti in <a title="Cum fac un formular de inregistrare a utilizatorilor?" href="http://www.accesinterzis.ro/index.php/programare/cum-fac-un-formular-de-inregistrare-a-utilizatorilor/" target="_blank">articolul despre prima versiune a formularului de inregistrare a utilizatorilor</a>.</p>
<p><span id="more-386"></span></p>
<p><strong>registrationf.php</strong></p>
<pre class="brush: php;">
&lt;?php
/*
Cum fac un formular de inregistrare a utilizatorilor? (versiunea 2)
Autor: Marian Barbu aka AccesInterzis
Website: http://www.accesinterzis.ro
2010 (c) Toate drepturile rezervate
*/

//-----specific EXACT cu ce campuri se va lucra
#1
$required_fields = array('username', 'email', 'password', 'retype_password', 'register');
$sent_fields = array_keys($_POST);

//-----ma conectez la baza de date
#2
include('includes/connect_to_db.inc.php');

//-----incarc fisierele include
#2.1
include('includes/validators.inc.php');
include('includes/filter_it.inc.php');
include('includes/validate_form.inc.php');
include('includes/filtered_urls_and_cookies.inc.php');

//------scriptul PHP se executa doar daca cererea a fost facuta de pe aceeasi pagina pe care se afla formularul si doar daca toate campurile formularului au fos trimise
#3
if ($referer == 'http://'.$_SERVER['HTTP_HOST'].$php_self &amp;&amp; $required_fields == $sent_fields) {
	//-----procesez datele din formular; rezultatul va fi o lista de erori, o lista cu datele nevalide, o lista cu datele valide
	#5
	include('includes/process_form.inc.php');

	//-----infasor datele VALIDE in mysql_real_escape_string() deoarece urmeaza sa interoghez baza de date
	#6
	$processed_form['good_data'] = filter_it($processed_form['good_data'], array('mysql_real_escape_string'));

	//-----BEGIN - DATA HANDLING
	#7
	if (isset($processed_form['good_data']['username'])) {
		$q = &quot;SELECT user_id FROM ai_registrationform WHERE LOWER(username)='&quot;.strtolower($processed_form['good_data']['username']).&quot;'&quot;;
        $result = mysql_query($q) or die(mysql_error());

		if (mysql_num_rows($result) != 0) {
			$processed_form['issues']['username'] = 'The username &lt;strong&gt;'.$processed_form['good_data']['username'].'&lt;/strong&gt; already exists in our database.';
		}
	}

	if (isset($processed_form['good_data']['email'])) {
		$q = &quot;SELECT user_id FROM ai_registrationform WHERE LOWER(email)='&quot;.strtolower($processed_form['good_data']['email']).&quot;'&quot;;
        $result = mysql_query($q) or die(mysql_error());

        if (mysql_num_rows($result) != 0) {
			$processed_form['issues']['email'] = 'The email address &lt;strong&gt;'.$processed_form['good_data']['email'].'&lt;/strong&gt; already exists in our database.';
		}
	}

	if (isset($processed_form['good_data']['password'])) {
		if ($processed_form['good_data']['password'] != $_POST['retype_password']) {
			$processed_form['issues']['password'] = 'The two passwords don\'t match.';
		}
	}
	//-----END - DATA HANDLING

	//------daca nu exista niciun fel de erori bag datele in baza de date
    #8
	if(count($processed_form['issues']) == 0) {
		$q = &quot;INSERT INTO ai_registrationform(`username`, `email`, `password`, `registration_date`, `ip`)&quot;
			.&quot;VALUES('&quot;.$processed_form['good_data']['username'].&quot;', '&quot;.$processed_form['good_data']['email'].&quot;', SHA('&quot;.$processed_form['good_data']['password'].&quot;'), NOW(), '&quot;.$_SERVER['REMOTE_ADDR'].&quot;')&quot;;

		//-----daca intr-adevar datele au fost bagate in baza de date se va afisa pe monitor un mesaj de confirmare
		#8.1
		if (mysql_query($q)) {
			$confirmation = 'The user &lt;strong&gt;'.$processed_form['good_data']['username'].'&lt;/strong&gt; was succesfully registered in our databse.';
		} else {
			$confirmation = 'Something is wrong with the server. The user &lt;strong&gt;'.$processed_form['good_data']['username'].'&lt;/strong&gt; wasn\'t registered.';
		}

		$confirmation .= ' &lt;a href=&quot;http://'.$_SERVER['HTTP_HOST'].$php_self.'&quot; title=&quot;Back&quot; id=&quot;back&quot;&gt;Back to registration form&lt;/a&gt;';

		#8.2
		$display = 'style=&quot;display:none;&quot;';
	}

	//-----infasor datele in htmlentities() deoarece urmeaza sa le afisez in formular
	#9
	$get_my_fields = filter_it($get_my_fields, array('htmlentities'));
}
?&gt;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;How do I make a registration form?&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;meta name=&quot;description&quot; content=&quot;How do I make a registration form?&quot; /&gt;
&lt;meta name=&quot;keywords&quot; content=&quot;registration,form,php,script,mysql,database,user,backend,admin,section,cms&quot; /&gt;
&lt;meta name=&quot;abstract&quot; content=&quot;How do I make a registration form?&quot; /&gt;
&lt;meta name=&quot;author&quot; content=&quot;AccesInterzis&quot; /&gt;
&lt;meta name=&quot;copyright&quot; content=&quot;AccesInterzis&quot; /&gt;
&lt;meta name=&quot;robots&quot; content=&quot;index,follow&quot; /&gt;
&lt;meta name=&quot;revisit-after&quot; content=&quot;7 days&quot; /&gt;

&lt;style type=&quot;text/css&quot;&gt;
* {
	margin:0;
	padding:0;
	outline:none;
}

html {
	color:black;
	background-color:white;
	font: normal normal normal 12px  Verdana;
	/*font-style font-variant font-weight font-size font-family*/
}

/*INCEPUT - LINIILE CSS CARE CREEAZA SKINUL FORMULARULUI DE INREGISTRARE*/

div#registrationf {
	width:335px;
	margin:0px auto;
}

div#registrationf h1 {
	color:black;
	font: normal normal normal 24px  Verdana;
	/*font-style font-variant font-weight font-size font-family*/
	padding-bottom:5px;
}

div#registrationf div {
	margin:0 0 5px 0;
}

div#registrationf label {
	width:130px;
	float:left;
}

div#registrationf label span {
	color:#c00;
}

div#registrationf input {
	width:200px;
}

div#registrationf textarea {
	width:300px;
	height:150px;
}

div#registrationf input, div#registrationf textarea {
	border:1px #ccc solid;
}

div#registrationf input:hover, div#registrationf textarea:hover {
	border:1px #666 solid;
}

div#registrationf input#register {
	width:auto;
	color:#FFF;
	background-color:#333;
	border:1px #000 solid !important;
	cursor:pointer;
}

div#registrationf input#register:hover {
	color:#333;
	background-color:#fff;
	border:1px #333 solid;
}

/*Inceput - stilurile erorilor*/
div#registrationf p {
	color:#c00;
	padding:0 0 0 130px;
	font-size:10px;
	text-align:left;
}

div#registrationf div#username_field label,
div#registrationf div#email_field label,
div#registrationf div#password_field label,
div#registrationf div#retype_password_field label {
	color:#c00;
}

div#registrationf div#username_field input,
div#registrationf div#email_field input,
div#registrationf div#password_field input,
div#registrationf div#retype_password_field input {
	border:1px #c00 solid;
	color:#c00;
}

div#registrationf div#username_field input:hover,
div#registrationf div#email_field input:hover,
div#registrationf div#password_field input:hover,
div#registrationf div#retype_password_field input:hover {
	border:1px #c00 solid;
}
/*Sfarsit - stilurile erorilor*/

div#registrationf a#back {
	color:#900;
	font-weight:bold;
	text-decoration:underline;
}

/*SFARSIT - LINIILE CSS CARE CREEAZA SKINUL FORMULARULUI DE INREGISTRARE*/
&lt;/style&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;div id=&quot;registrationf&quot;&gt;
	&lt;h1&gt;
		&lt;label&gt;&amp;nbsp;&lt;/label&gt;
		Register an user
	&lt;/h1&gt;

	&lt;?php if (isset($confirmation)) echo '&lt;p&gt;'.$confirmation.'&lt;/p&gt;'; ?&gt;

	&lt;form action=&quot;&lt;?php echo 'http://'.$_SERVER['HTTP_HOST'].$php_self; ?&gt;&quot; method=&quot;post&quot; &lt;?php if (isset($display)) echo $display; ?&gt;&gt;
		&lt;?php echo (isset($processed_form['issues']['username'])) ? '&lt;p&gt;'.$processed_form['issues']['username'].'&lt;/p&gt;&lt;div id=&quot;username_field&quot;&gt;' : '&lt;div&gt;' ; ?&gt;
			&lt;label for=&quot;username&quot;&gt;Username&lt;span&gt;*&lt;/span&gt;:&lt;/label&gt;
			&lt;input name=&quot;username&quot; type=&quot;text&quot; id=&quot;username&quot; value=&quot;&lt;?php if (isset($get_my_fields['username'])) echo $get_my_fields['username']; ?&gt;&quot; /&gt;
		&lt;/div&gt;

		&lt;?php echo (isset($processed_form['issues']['email'])) ? '&lt;p&gt;'.$processed_form['issues']['email'].'&lt;/p&gt;&lt;div id=&quot;email_field&quot;&gt;' : '&lt;div&gt;' ; ?&gt;
			&lt;label for=&quot;email&quot;&gt;Email&lt;span&gt;*&lt;/span&gt;:&lt;/label&gt;
			&lt;input name=&quot;email&quot; type=&quot;text&quot; id=&quot;email&quot; value=&quot;&lt;?php if (isset($get_my_fields['email'])) echo $get_my_fields['email']; ?&gt;&quot; /&gt;
		&lt;/div&gt;

		&lt;?php echo (isset($processed_form['issues']['password'])) ? '&lt;p&gt;'.$processed_form['issues']['password'].'&lt;/p&gt;&lt;div id=&quot;password_field&quot;&gt;' : '&lt;div&gt;' ; ?&gt;
			&lt;label for=&quot;password&quot;&gt;Password&lt;span&gt;*&lt;/span&gt;:&lt;/label&gt;
			&lt;input name=&quot;password&quot; type=&quot;password&quot; id=&quot;password&quot; /&gt;
		&lt;/div&gt;

		&lt;div&gt;
			&lt;label for=&quot;retype_password&quot;&gt;Retype password&lt;span&gt;*&lt;/span&gt;:&lt;/label&gt;
			&lt;input name=&quot;retype_password&quot; type=&quot;password&quot; id=&quot;retype_password&quot; /&gt;
		&lt;/div&gt;

		&lt;div&gt;
			&lt;label&gt; &amp;nbsp; &lt;/label&gt;
			&lt;input name=&quot;register&quot; type=&quot;submit&quot; id=&quot;register&quot; value=&quot;register&quot; /&gt;
		&lt;/div&gt;
	&lt;/form&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Cum+fac+un+formular+de+inregistrare+a+utilizatorilor%3F+%28versiunea+2%29+http://gtspb.th8.us" title="Publica acest articol pe Twitter"><img class="nothumb" src="http://www.accesinterzis.ro/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Cum+fac+un+formular+de+inregistrare+a+utilizatorilor%3F+%28versiunea+2%29+http://gtspb.th8.us" title="Publica acest articol pe Twitter">Publica acest articol pe Twitter</a></p>

<p><strong>Articole asemanatoare:<ul><li><a href='http://www.accesinterzis.ro/index.php/programare/cum-fac-un-formular-de-inregistrare-a-utilizatorilor/' rel='bookmark' title='Permanent Link: Cum fac un formular de inregistrare a utilizatorilor?'>Cum fac un formular de inregistrare a utilizatorilor?</a></li>
<li><a href='http://www.accesinterzis.ro/index.php/web/cum-fac-un-formular-de-autentificare-a-utilizatorilor-versiunea-2/' rel='bookmark' title='Permanent Link: Cum fac un formular de autentificare a utilizatorilor? (versiunea 2)'>Cum fac un formular de autentificare a utilizatorilor? (versiunea 2)</a></li>
<li><a href='http://www.accesinterzis.ro/index.php/programare/cum-fac-un-formular-de-comentarii-versiunea-2/' rel='bookmark' title='Permanent Link: Cum fac un formular de comentarii? (versiunea 2)'>Cum fac un formular de comentarii? (versiunea 2)</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.accesinterzis.ro/index.php/web/cum-fac-un-formular-de-inregistrare-a-utilizatorilor-versiunea-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

