kiarash.M
Active Member
سلام
برای ادرست کردن یک صحفه عضویت و ساین این ..احنیاج به جایی داریم که اطلاعات اونجا ذخیره شه
برای ذخیره مجبوریم از PHP و SQL استفاده کنیم و برای فراخونی و پردازش PHP راحت تره از خود فلش ..
پس فلش اینجا 2 کار انجام میده
1) اینترفیس کار
2) ارسال و دریافت مجدد اطلاعات
برای شروع تویه DB تون (هر چی که هست ..) یه table میسازید به نام (این نام ها اختیاری ولی در ادامه من بان نام ها کارکردم پس اگه عوض میکنی همهجا رو باید عوض کنید ...) " members_tbl " حالا توی این table ..فیلد های برای ذخیره اطلاعات قرار میدهیم ... برای راحتی کار میتونید در قسمت SQL بعد از ساخت Table کدهای زیر را وارد کرده تا فیلد ها ساخته شوند
این کدهای به زبان sql اه .. که میگه در table `members_tbl` فیلد های زیر را ایجاد کنه و نوع اونارم مشخص میکنه و ..
یه فایل php هم میشازیم که اطلاعات db تو اون ذخیره شه (usernameo pass ...) برای db یعنی برای اجازه ورود به db...
حلا کار با فلش یه صفحه عضویت درست میکنیم :
توش 4 تا تکس فیلد میسازیم
به نامهای mcName,mcSurname,mcAge,mcEmail
ما تو این مثل برای بالا بردن امنیت به جای ارسال E-mail فعال سازی ..یک کلمع عبور جنریت میکنیم و اونو ارسال میکنیم به E-mail کاربر برای کدهای فلش تو ضیحه خاصی نمیدم چون بارها همهجا گفتیم .. فقط جریان SendandLoad رو توضیح میدم
همون طور که میبینید باید 2 تا دکمه دسرت کنید ..بعد alert ها هم با استفاده از javascript ساخته شده . در مرحله اول اطلاعات به PHP میره و بعد دوباره Load میشه که در اون لحضه فانکشن onLoad اجرا میشه که مقادیر رو برسی و تعیین مینه که اطلات ثبت شد یا نه !
ساخت فایل php توضیحاتش واسه انجمن ما نیست )
حالا تا اینجای کار ثبت نام انجام شده در حین ثبت نام E-mail تکراری چک میشه و پسوردی برای کاربر به صورت تصادفی جنریت میشه و در آخر به E-mail اش ارسال میشه ...
LOGI IN
اینجام مثل قبل با db بازی میکنیم ..
لازم یه ذکره که این روش قویه و از سشن استفاده میکنه تا بفهمه کاربر login هست یا خیر ..
فایل های swf رو بزارید تو html و لذت ببرید
swf ها رو نساختم میسازم UP میکنم .....
برای ادرست کردن یک صحفه عضویت و ساین این ..احنیاج به جایی داریم که اطلاعات اونجا ذخیره شه
برای ذخیره مجبوریم از PHP و SQL استفاده کنیم و برای فراخونی و پردازش PHP راحت تره از خود فلش ..
پس فلش اینجا 2 کار انجام میده
1) اینترفیس کار
2) ارسال و دریافت مجدد اطلاعات
برای شروع تویه DB تون (هر چی که هست ..) یه table میسازید به نام (این نام ها اختیاری ولی در ادامه من بان نام ها کارکردم پس اگه عوض میکنی همهجا رو باید عوض کنید ...) " members_tbl " حالا توی این table ..فیلد های برای ذخیره اطلاعات قرار میدهیم ... برای راحتی کار میتونید در قسمت SQL بعد از ساخت Table کدهای زیر را وارد کرده تا فیلد ها ساخته شوند
PHP:
CREATE TABLE IF NOT EXISTS `members_tbl` (
`ID` int(11) NOT NULL auto_increment,
`first_name` varchar(255) default NULL,
`surname` varchar(255) default NULL,
`age` int(11) default NULL,
`email` varchar(255) default NULL,
`password` varchar(255) default NULL,
PRIMARY KEY (`ID`)
)
این کدهای به زبان sql اه .. که میگه در table `members_tbl` فیلد های زیر را ایجاد کنه و نوع اونارم مشخص میکنه و ..
یه فایل php هم میشازیم که اطلاعات db تو اون ذخیره شه (usernameo pass ...) برای db یعنی برای اجازه ورود به db...
PHP:
<?php
//mysql details
$remote = false;
if($remote){
$host = "localhost";
$username = "root";
$dbpassword = "";
$db = "members_tbl";
}else{
$host = "localhost";
$username = "root";
$dbpassword = "";
$db = "members_tbl";
}
$conn = mysql_connect($host, $username, $dbpassword) or die("could not connect to server");
$select_db = mysql_select_db($db,$conn);
?>
dbDetails.php
حلا کار با فلش یه صفحه عضویت درست میکنیم :
توش 4 تا تکس فیلد میسازیم
به نامهای mcName,mcSurname,mcAge,mcEmail
ما تو این مثل برای بالا بردن امنیت به جای ارسال E-mail فعال سازی ..یک کلمع عبور جنریت میکنیم و اونو ارسال میکنیم به E-mail کاربر برای کدهای فلش تو ضیحه خاصی نمیدم چون بارها همهجا گفتیم .. فقط جریان SendandLoad رو توضیح میدم
PHP:
var lvSend:LoadVars = new LoadVars();
var lvReceive:LoadVars = new LoadVars();
tMessage.autoSize = true;
mcAge.tInput.restrict = "0-9";
mcRegister.onRelease = function() {
var valid:Boolean = validateForm();
if(valid){
lvSend.firstname = mcName.tInput.text;
lvSend.surname = mcSurname.tInput.text;
lvSend.age = mcAge.tInput.text;
lvSend.email = mcEmail.tInput.text;
lvSend.sendAndLoad("registration.php", lvReceive, "POST");
}else{
alert("Please complete all fields");
}
};
lvReceive.onLoad = function(success:Boolean) {
if (success) {
if(this.result == "emailExists"){
alert("This email address already exists in the database. Please choose another");
}else if (this.result == "success") {
tMessage.text = "Thank you for registering. Your password has been sent to your email address";
clearTextFields();
} else {
tMessage.text = "I'm sorry there has been an error with your registration";
}
}
};
function validateForm():Boolean{
if(mcName.tInput.text == "" || mcSurname.tInput.text == "" || mcAge.tInput.text == "" || mcEmail.tInput.text == ""){
return false;
}
return true;
}
function clearTextFields():Void{
mcName.tInput.text = "";
mcSurname.tInput.text = "";
mcAge.tInput.text = "";
mcEmail.tInput.text = "";
}
function alert(message:String):Void{
getURL("javascript:alert('"+message+"');");
}
register.swf
همون طور که میبینید باید 2 تا دکمه دسرت کنید ..بعد alert ها هم با استفاده از javascript ساخته شده . در مرحله اول اطلاعات به PHP میره و بعد دوباره Load میشه که در اون لحضه فانکشن onLoad اجرا میشه که مقادیر رو برسی و تعیین مینه که اطلات ثبت شد یا نه !
ساخت فایل php توضیحاتش واسه انجمن ما نیست )
PHP:
<?php
require_once("dbDetails.php");
$firstname = $_POST['firstname'];
$surname = $_POST['surname'];
$age = $_POST['age'];
$email = $_POST['email'];
$randomPassword = generatePassword();
function generatePassword() {
$chars = "abcdefghijkmnopqrstuvwxyz023456789";
srand((double)microtime()*1000000);
$i = 0;
$pass = '' ;
while ($i <= 7) {
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
$SQL = "SELECT * FROM members_tbl WHERE email ='".$email."'";
$rs = mysql_query($SQL,$conn);
$numRows = mysql_num_rows($rs);
if($numRows > 0){
echo '&result=emailExists&';
exit();
}
$insertSQL = "INSERT INTO members_tbl(first_name, surname, age, email, password) VALUES ('$firstname', '$surname', '$age', '$email', '$randomPassword')";
$rs = mysql_query($insertSQL,$conn);
if($rs){
sendEmail();
echo '&result=success&';
}else{
echo '&result=failure&';
}
function sendEmail(){
$yourname = 'Kiarash.M';
$youremail = '[email protected]';
//to user
$headers = "From: $yourname <$youremail>\n";
$headers .= "Reply-To: $yourname <$youremail>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1";
//the message body
$message = "Dear ".$GLOBALS['firstname'].",<p> Thank you for registering your password is ".$GLOBALS['randomPassword']."</p>";
mail($GLOBALS['email'], "Your login details", $message, $headers);
}
?>
registration.php
حالا تا اینجای کار ثبت نام انجام شده در حین ثبت نام E-mail تکراری چک میشه و پسوردی برای کاربر به صورت تصادفی جنریت میشه و در آخر به E-mail اش ارسال میشه ...
LOGI IN
اینجام مثل قبل با db بازی میکنیم ..
PHP:
var lvSend:LoadVars = new LoadVars();
var lvReceive:LoadVars = new LoadVars();
tError.autoSize = "right";
mcLogin.onRelease = function() {
lvSend.email = tEmail.text;
lvSend.password = tPassword.text;
lvSend.sendAndLoad("logincheck.php",lvReceive,"POST");
};
lvReceive.onLoad = function(success:Boolean) {
if (success) {
kia2.text = this.login;
if (this.login == "success") {
getURL("members.php");
} else {
tError.text = "I'm sorry you did not enter valid login details";
}
} else {
trace("no reponse from server");
}
};
login.swf
PHP:
<?php
session_start();
$email = $_POST['email'];
$password = $_POST['password'];
//mysqldetails
require_once("dbDetails.php");
$SQL = "SELECT * FROM members_tbl WHERE email ='".$email."' AND password = '".$password."'";
$rs = mysql_query($SQL,$conn);
$numRows = mysql_num_rows($rs);
if($numRows > 0){
$_SESSION['loggedIn'] = true;
echo "login=success";
}else{
echo "login=failed!!";
}
?>
logincheck.php
لازم یه ذکره که این روش قویه و از سشن استفاده میکنه تا بفهمه کاربر login هست یا خیر ..
HTML:
<?php
session_start();
if(!isset($_SESSION['loggedIn'])){
header("Location: login.html");
exit();
}
?><style type="text/css">
<!--
body {
background-color: #333333;
}
.style1 {
color: #FFFFCC;
font-weight: bold;
}
-->
</style>
<span class="style1">
....... Members Area</span>
members.php
فایل های swf رو بزارید تو html و لذت ببرید
swf ها رو نساختم میسازم UP میکنم .....