הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

 
 
כלים לאשכול תצורת הצגה
Prev הודעה קודמת   הודעה הבאה Next
ישן 22-01-09, 22:53   # 1
Erez | TrustMedia.co.il
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,854

Erez | TrustMedia.co.il לא מחובר  

עזרה|האם אני עובד נכון?

לא מזמן למדתי מחלקות והיום התחלתי להשתמש בהם.
בניתי מחלקת טמפלייטים והרשמה ואני רוצה לדעת האם אני עובד נכון או שלא.
הנה הקודים של המערכת:
reg.php:

PHP קוד:
<?php
include 'classes.php';
$tpl=new tpl('html.tpl');
$tpl->timer_start();
$reg=new register();
if(isset(
$_POST['submit'])){
    if(
$reg->check($_POST['username'],$_POST['password'],$_POST['repassword'],$_POST['email'])){
        if(
$reg->insert()){
            
$content .= 'נרשמת בהצלחה לאתר.';
        }
    }
    else{
        
$content .= $reg->get_error();
        
$content .= $reg->form();
    }
}
else{
    
$content .= $reg->form();
}
$tpl->set('title','הרשמה');
$tpl->set('body',$content);
$tpl->timer_done();
echo 
$tpl->end();
?>
classes.php:
PHP קוד:
<?php
class tpl{
    var 
$tpl_file 'html.tpl';
    var 
$tags = array();
    var 
$start'';
    function 
tpl($tp_file=true){
        if(
$tpl_file){$this->tpl_file=$tpl_file;}
    }
    function 
timer_start(){
        
$this->start microtime(true);
     }
    function 
timer_done(){
        
$time_end microtime(true);
        
$time $time_end $this->start;
        
$this->tags['porgress']='זמן טעינת העמוד '.substr($time,0,10);
    }
    function 
set($tag,$content){
        
$this->tags[$tag]=$content;
    }
    function 
end(){
        
$tpl=file_get_contents($this->tpl_file);
        foreach(
$this->tags as $tag => $content){
            
$tpl=str_replace('{'.$tag.'}',$content,$tpl);
        }
        return 
$tpl;
    }
}

class 
register{
    var 
$id='';
    var 
$username='';
    var 
$password='';
    var 
$repassword='';
    var 
$email='';
    function 
form(){
        if(isset(
$_POST['submit'])){
            
$username htmlspecialchars($_POST['username']);
            
$email htmlspecialchars($_POST['email']);
        }
        else{
            
$username '';
            
$email '';
        }
        
$code ='<form method="post">
            <table>
                <tr><td>שם משתמש:</td><td><input type="text" name="username" value="'
.$username.'" /></td></tr>
                <tr><td>סיסמא:</td><td><input type="password" name="password" /></td></tr>
                <tr><td>אימות סיסמא:</td><td><input type="password" name="repassword" /></td></tr>
                <tr><td>אימייל:</td><td><input type="text" name="email" value="'
.$email.'" /></td></tr>
                <tr><td><input type="submit" name="submit" value="הרשם" /></td><td><input type="reset" value="אפס" /></td></tr>
                </table>
            </form>'
;
        return 
$code;
    }
    function 
check($username,$password,$repassword,$email){
        
$this->username=htmlspecialchars($username);
        
$this->password=htmlspecialchars($password);
        
$this->repassword=htmlspecialchars($repassword);
        
$this->email=htmlspecialchars($email);
        if(
$this->username == '')return false;
        elseif(
$this->password == '')return false;
        elseif(
$this->repassword == '')return false;
        elseif(
$this->email == '')return false;
        elseif(
$this->password != $this->repassword)return false;
        elseif(!
preg_match('/[a-zA-Z0-9]+@[a-zA-Z0-9+.]+[a-zA-Z0-9]/',$this->email))return false;
        elseif(
strlen($this->username) < || strlen($this->password) < 3)return false;
        elseif(
strlen($this->username) > 30 || strlen($this->password) > 30)return false;
        else return 
true;
    }
    function 
get_error(){
        if(
$this->username == '')return 'לא מילאת את כל שדות ההרשמה.';
        elseif(
$this->password == '')return 'לא מילאת את כל שדות ההרשמה';
        elseif(
$this->repassword == '')return 'לא מילאת את כל שדות ההרשמה';
        elseif(
$this->email == '')return 'לא מילאת את כל שדות ההרשמה';
        elseif(
$this->password != $this->repassword)return 'הסיסמאות שהזנת אינם תואמות.';
        elseif(!
preg_match('/[a-zA-Z0-9]+@[a-zA-Z0-9+.]+[a-zA-Z0-9]/',$this->email))return 'האימייל שהזנת אינו תקין.';
        elseif(
strlen($this->username) < || strlen($this->password) < 3)return 'התוכן שהכנסת בשדות קצר מדי.';
        elseif(
strlen($this->username) > 30 || strlen($this->password) > 30)return 'התוכן שהכנסת בשדות ארוך מדי.';
    }
    function 
insert(){
        
mysql_query("insert into `members` (`username`,`password`,`email`)
        values ('"
.mysql_real_escape_string($this->username)."','".md5($this->password)."','".mysql_real_escape_string($this->email)."')")
        or die(
'Error');
        return 
true;
    }
}
?>
html.tpl:
PHP קוד:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<
html lang="he" xmlns="http://www.w3.org/1999/xhtml" xml:lang="he">
<
head>
    <
meta http-equiv="Content-Type" content="text/html;charset=windows-1255" />
    <
link rel="stylesheet" href="css.css" type="text/css" media="screen"/>
    <
title>{title}</title>
    <
style>
    
body{direction:rtl;font-family:Arial;font-size:10pt;}
    </
style>
</
head>
<
body>
    {
body}<br />
   {
porgress}
</
body>
</
html
יש לציין שזו הפעם הראשונה שעבדתי עם מחלקות ולכן אני רוצה לשנות דברים לא נכונים כבר מעכשיו לפני שאני יתרגל אליהם.
בנוסף בהרשמה חסרים עוד כמה דברים לדוגמא בדיקה אם המשתמש קיים וכו'... אז נא לא להתייחס

אשמח לעזרה מצדכם
__________________
  Reply With Quote
 

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 05:19.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ