Ben yanlış yapıyorum user_login.php saklanan bu kod geliştirilebilir veya olabilir eğer Tamam, ben merak ediyorum. Uygulamada tüm komut dosyası yaklaşık 30-40 hatları sadece uzun ve ben bir şey eksik eğer ben merak ediyorum çünkü kafam karıştı.
Bu script şablon dosyaları hariç benim uygulamasında herkes gibi bir ajax çağrısı ile denir.
<?php
# Ignore
if (!defined('APP_ON')) { die('Silence...'); }
# Gets the variables sent
$user_name = post('user_name');
$user_password = extra_crypt(post('user_password'));
# Check if the user exists
if (!user::check($user_name, $user_password)) { template::bad($lang['incorrect_login']); }
# Logging in
$id = user::get_id($user_name, $user_password);
$u = new user($id);
$u->login();
template::good($lang['correct_login']);
?>
Bunu açıklamak için gidiyorum:
# Ignore
if (!defined('APP_ON')) { die('Silence...'); }
Bu temelde dosya direkt olarak adlandırılan olup olmadığını kontrol ediniz. Ve doğru dosyayı şunlardır: Her url url (www.mysite.com/user/view/id/1 es) yönetmek bir index.php dosyasına yönlendirilir. Bu index.php dosyasının ilk satırlarda bir define('APP_ON', true);
var. Dizin dosyası ayrıca fonksiyonları ve bazı sınıfların bazı dizi çağırarak uygulamayı başlatmak.
# Gets the variables sent
$user_name = post('user_name');
$user_password = extra_crypt(post('user_password'));
The function post()
manage the recovering of $_POST['user_name'] making some checks.
The function extra_crypt()
just crypt the password using sha1 and a custom alghoritm.
I'm using prepared statement for sql queries so don't worry about escaping post variables.
# Check if the user exists
if (!user::check($user_name, $user_password)) { template::bad($lang['incorrect_login']);
The user
class has both static and normal methods. The static ones doesn't require an id to start from, normal methods does. For example user::check();
does check if the username and the password exists in the database.
The template
class has just two static methods (template::bad()
and template::good()
) that manage fast dialog box to send to the user without any header or footer. Instead if you instantiate the class $t = new template('user_view')
, the template user_view_body.php
is called and you can manage that page with $t->assign()
that assign static vars to the template, or with $t->loop()
that start a loop etc.
Finally $lang
is an array having some common strings in the language set by the user.
# Logging in
$id = user::get_id($user_name, $user_password);
$u = new user($id);
$u->login();
template::good($lang['correct_login']);
At the end we have the actual login. The user
class is instantiated and an id is recovered. The user with that id is logged in and we return a template::good()
message box to the user.
For any clarification write a comment above.