Bu script geliştirilebilir?

0 Cevap php

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.

0 Cevap