Php kreiranje custom user stranice

poruka: 4
|
čitano: 1.414
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
offline
Php kreiranje custom user stranice

Možda nije jasno baš u naslovu što me muči, lai probta ću što bolje objasniti.

Dakle imam member site na kojem se vrti PHP skripta pomoću koje korisnik obavlja registraciju, dobiva confirmation mail, klikne na link i registracija je uspješno izvršena.

Je li ikako moguće dodati kod u priloženu skriptu koji bi prilikom registracije korisnika kreirao na serveru stranicu "username.php" sa već unaprijed ispisanim html-om unutra. 

 

pliz helpajte,častim pivom i ćevapima :) 

 

 

 

 

 

 

 

  function CollectRegistrationSubmission(&$formvars)

   {

     $formvars['name'] = $this->Sanitize($_POST['name']);

     $formvars['email'] = $this->Sanitize($_POST['email']);

     $formvars['username'] = $this->Sanitize($_POST['username']);

     $formvars['password'] = $this->Sanitize($_POST['password']);

   }

 

   function SendUserConfirmationEmail(&$formvars)

   {

     $mailer = new PHPMailer();

 

     $mailer->CharSet = 'utf-8';

 

     $mailer->AddAddress($formvars['email'],$formvars['name']);

 

     $mailer->Subject = "Your registration on ".$this->sitename;

 

     $mailer->From = $this->GetFromAddress();     

 

     $confirmcode = $formvars['confirmcode'];

 

     $confirm_url = $this->GetAbsoluteURLFolder().'/confirmreg.php?code='.$confirmcode;

 

     $mailer->Body ="Hello ".$formvars['name']."\r\n\r\n".

     "Thank You for registration to ".$this->sitename."\r\n".

     "Please click the following link to finish the registration.\r\n".

     "$confirm_url\r\n".

     "\r\n".

     "Regards,\r\n".

     "administrator\r\n".

     $this->sitename;

 

     if(!$mailer->Send())

     {

       $this->HandleError("Greška u slanju maila sa potvrdom.");

       return false;

     }

     return true;

   }

   function GetAbsoluteURLFolder()

   {

     $scriptFolder = (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on')) ? 'https://' : 'http://';

     $scriptFolder .= $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']);

     return $scriptFolder;

   }

 

   function SendAdminIntimationEmail(&$formvars)

   {

     if(empty($this->admin_email))

     {

       return false;

     }

     $mailer = new PHPMailer();

 

     $mailer->CharSet = 'utf-8';

 

     $mailer->AddAddress($this->admin_email);

 

     $mailer->Subject = "New registration: ".$formvars['name'];

 

     $mailer->From = $this->GetFromAddress();      

 

     $mailer->Body ="A new user registered at ".$this->sitename."\r\n".

     "Name: ".$formvars['name']."\r\n".

     "Email address: ".$formvars['email']."\r\n".

     "UserName: ".$formvars['username'];

 

     if(!$mailer->Send())

     {

       return false;

     }

     return true;

   }

 

   function SaveToDatabase(&$formvars)

   {

     if(!$this->DBLogin())

     {

       $this->HandleError("Database login failed!");

       return false;

     }

     if(!$this->Ensuretable())

     {

       return false;

     }

     if(!$this->IsFieldUnique($formvars,'email'))

     {

       $this->HandleError("This e-mail is already in use!");

       return false;

     }

 

     if(!$this->IsFieldUnique($formvars,'username'))

     {

       $this->HandleError("This username is already in use! please choose another one!");

       return false;

     }     

     if(!$this->InsertIntoDB($formvars))

     {

       $this->HandleError("Inserting to Database failed!");

       return false;

     }

     return true;

   }

 

   function IsFieldUnique($formvars,$fieldname)

   {

     $field_val = $this->SanitizeForSQL($formvars[$fieldname]);

     $qry = "select username from $this->tablename where $fieldname='".$field_val."'";

     $result = mysql_query($qry,$this->connection);   

     if($result && mysql_num_rows($result) > 0)

     {

       return false;

     }

     return true;

   }

 

   function DBLogin()

   {

 

     $this->connection = mysql_connect($this->db_host,$this->username,$this->pwd);

 

     if(!$this->connection)

     {   

       $this->HandleDBError("Database Login failed! Please make sure that the DB login credentials provided are correct");

       return false;

     }

     if(!mysql_select_db($this->database, $this->connection))

     {

       $this->HandleDBError('Failed to select database: '.$this->database.' Please make sure that the database name provided is correct');

       return false;

     }

     if(!mysql_query("SET NAMES 'UTF8'",$this->connection))

     {

       $this->HandleDBError('Error setting utf8 encoding');

       return false;

     }

     return true;

   }   

 

   function Ensuretable()

   {

     $result = mysql_query("SHOW COLUMNS FROM $this->tablename");   

     if(!$result || mysql_num_rows($result) <= 0)

     {

       return $this->CreateTable();

     }

     return true;

   }

 

   function CreateTable()

   {

     $qry = "Create Table $this->tablename (".

         "id_user INT NOT NULL AUTO_INCREMENT ,".

         "name VARCHAR( 128 ) NOT NULL ,".

         "email VARCHAR( 64 ) NOT NULL ,".

         "phone_number VARCHAR( 16 ) NOT NULL ,".

         "username VARCHAR( 16 ) NOT NULL ,".

         "password VARCHAR( 32 ) NOT NULL ,".

         "confirmcode VARCHAR(32) ,".

         "PRIMARY KEY ( id_user )".

         ")";

 

     if(!mysql_query($qry,$this->connection))

     {

       $this->HandleDBError("Error creating the table \nquery was\n $qry");

       return false;

     }

     return true;

   }

 

   function InsertIntoDB(&$formvars)

   {

 

     $confirmcode = $this->MakeConfirmationMd5($formvars['email']);

 

     $formvars['confirmcode'] = $confirmcode;

 

     $insert_query = 'insert into '.$this->tablename.'(

         name,

         email,

         username,

         password,

         confirmcode

         )

         values

         (

         "' . $this->SanitizeForSQL($formvars['name']) . '",

         "' . $this->SanitizeForSQL($formvars['email']) . '",

         "' . $this->SanitizeForSQL($formvars['username']) . '",

         "' . md5($formvars['password']) . '",

         "' . $confirmcode . '"

         )';    

     if(!mysql_query( $insert_query ,$this->connection))

     {

       $this->HandleDBError("Error inserting data to the table\nquery:$insert_query");

       return false;

     }     

     return true;

   }

   function MakeConfirmationMd5($email)

   {

     $randno1 = rand();

     $randno2 = rand();

     return md5($email.$this->rand_key.$randno1.''.$randno2);

   }

   function SanitizeForSQL($str)

   {

     if( function_exists( "mysql_real_escape_string" ) )

     {

        $ret_str = mysql_real_escape_string( $str );

     }

     else

     {

        $ret_str = addslashes( $str );

     }

     return $ret_str;

   }

 

 /*

   Sanitize() function removes any potential threat from the

   data submitted. Prevents email injections or any other hacker attempts.

   if $remove_nl is true, newline chracters are removed from the input.

   */

   function Sanitize($str,$remove_nl=true)

   {

     $str = $this->StripSlashes($str);

 

     if($remove_nl)

     {

       $injections = array('/(\n+)/i',

         '/(\r+)/i',

         '/(\t+)/i',

         '/(%0A+)/i',

         '/(%0D+)/i',

         '/(%08+)/i',

         '/(%09+)/i'

         );

       $str = preg_replace($injections,'',$str);

     }

 

     return $str;

   }   

   function StripSlashes($str)

   {

     if(get_magic_quotes_gpc())

     {

       $str = stripslashes($str);

     }

     return $str;

   }   

}

?>

http://www.youtube.com/radiopulsfm
Moj PC  
0 0 hvala 0
14 godina
protjeran
offline
Php kreiranje custom user stranice

Napravi user.php skriptu i session-e. Problem rješen.

Ad astra peronospora
 
0 0 hvala 0
14 godina
offline
Re: Php kreiranje custom user stranice

uh, moze neka pomoc, posto nisam bas na ti sa PHP-om :/ 

http://www.youtube.com/radiopulsfm
17 godina
neaktivan
offline
Php kreiranje custom user stranice

Poanta je da se ne ide kreirat puno fileova za svakog korisnika pojedinačko nego imaš jedan file npr. username.php kojem preko proslijeđenog parametra kažeš za kojeg usera ti treba ispis. Primjer: otvaranjem stranice ... /username.php?id=1 pročita sve podatatke koji ti trebaju za korisnika s id=1, pod uvjetom, naravno da imaš negdje spremljene te podatke koje trebaš generirati na stranici.

 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice