-
Notifications
You must be signed in to change notification settings - Fork 0
/
register form procces.php
181 lines (164 loc) · 4.91 KB
/
register form procces.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<?php namespace foundationphp;?>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<?php
use foundationphp\OCI;
require_once 'src/foundationphp/OCI.php';
$oci = new OCI();
if(isset($_POST['submit'])){
$codemelli=$_POST['codemelli'];
$email=$_POST['email'];
$cemail=$_POST['cemail'];
$checkcodemelli=false;
//$n = strtotime("Now");
$timeh = strtotime("-1 minute");
$checkp = $oci->fetchRowNull("T1_1","T1","T1_3");
if($checkp != 0){
$IDvalue = $oci->fetchDel("T1_1","T1","T1_18",$timeh);
$oci->delete("T5","T5_1",$IDvalue);
$oci->deleteDate("T1","T1_18",$timeh);
}
//چک کردن اینکه فیلد کد ملی حتما باید بر شده باشد در غیر این صورت قادر به ادامه ی کار نخواهد بود
if (empty($_POST["codemelli"])) {
echo "کد ملی باید وارد شود";
exit();
}
elseif(!preg_match("/^[0-9 ]*$/",$_POST["codemelli"])) {
echo "کد ملی باید رقم باشد";
}
elseif(strlen($_POST["codemelli"]) <> 10){
echo "کد ملی باید ده رقم باشد";
}
elseif(preg_match("([0]{10}|[1]{10}|[2]{10}|[3]{10}|[4]{10}|[5]{10}|[6]{10}|[7]{10}|[8]{10}|[9]{10})", $_POST["codemelli"])){
echo "اعداد کد ملی نمی توانند برابر هم باشند";
}
else {
$code = test_codemelli($codemelli);
if(!$code)
{
echo "کد ملی وارد شده صحیح نمی باشد";
}
else{
$codemellimd5=encrypt($codemelli,$codemelli);
$checkcode = $oci->fetchRow("*","T1","T1_1",$codemellimd5);
if($checkcode!=0){
echo "کد ملی قبلا وجود دارد";
}
else {
$codemellimd5=encrypt($codemelli,$codemelli);
$oci->insert("T1","T1_1",$codemellimd5);
echo "Your national code inserted successfully";
$checkcodemelli=true;
}
}
}
if($checkcodemelli){
$nowt = strtotime("Now");
$codemellimd5=encrypt($codemelli,$codemelli);
$oci->update("T1","T1_18",$nowt,"T1_1",$codemellimd5);
// چک کردن اینکه تمامی فیلد ها بر شده باشد
if($email && $cemail ){
//چک کردن اینکه ایمل های وارد شده در دو مرحله با هم یکسان باشد
if($email==$cemail){
//چک کردن اینکه ایمیل وارد شده معتبر باشد
$email=test_input($email);//چک کردن کرکترهای وارد شده در فیلد ایمیل
if(!filter_var($email,FILTER_VALIDATE_EMAIL)){
echo "your email address is invalid try again";
}else{
//برقراری اتصال به دیتابست
$emailmd5=encrypt($email,$codemelli);
$checkmail = $oci->fetchRow("T5_3","T5","T5_3",$emailmd5);
var_dump($checkmail);
if($checkmail!=0) {
echo "this email is already existed";
}else {
$codemellimd5=encrypt($codemelli,$codemelli);
$emailmd5=encrypt($email,$codemelli);
$oci->insert("T5","T5_1",$codemellimd5);
$oci->update("T5","T5_3",$emailmd5,"T5_1",$codemellimd5);
echo "Your email inserted successfully";
echo "<br>";
//فرستادن ایمیل
$mailto='$email';
$body="<a href='register2.php'>click here</a>";
$subject="your verify";
$header="from : parniyan@hotmail.com";
if(mail($mailto,$subject,$body,$header)){
echo "your verify code has been send into ".$mailto;
}else{
echo "sending operation has been failed";
}
}
}
}else{
echo "your emails donot match";
}
}else{
echo "please complete the form";
}
}
}else{
echo "لطفا تمامی فیلد ها را پر کنید";
echo "<br>";
header("refresh:5;url='register.php'");
echo "ACCESS DENIED";
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
function test_codemelli($code)
{
$codeArray = str_split($code);
$j = 10;
$sum = 0;
for($i=0; $i<=8; $i++)
{
$sum +=((int)($codeArray[$i])) * $j;
--$j;
}
$divid = $sum % 11;
if ($divid <= 2)
{
if($codeArray[9] == $divid)
{
return true;
}
return false;
}
else
{
$divid1 = 11 - $divid;
if ($codeArray[9] == $divid1)
{
return true;
}
else
{
return false;
}
}
}
function encrypt($data, $secret)
{
//Generate a key from a hash
$key = md5(utf8_encode($secret), true);
//Take first 8 bytes of $key and append them to the end of $key.
$key .= substr($key, 0, 8);
//Pad for PKCS7
$blockSize = mcrypt_get_block_size('tripledes', 'ecb');
$len = strlen($data);
$pad = $blockSize - ($len % $blockSize);
$data .= str_repeat(chr($pad), $pad);
//Encrypt data
$encData = mcrypt_encrypt('tripledes', $key, $data, 'ecb');
return base64_encode($encData);
}
?>
</body>
</html>