Skip to content

Commit 5a15626

Browse files
Max BaseMax Base
authored andcommitted
Update project
1 parent 8821520 commit 5a15626

File tree

3 files changed

+153
-16
lines changed

3 files changed

+153
-16
lines changed

example/api.js

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
// console.log(list[index]["textID"])
5353
// // let text=document.querySelector("#"+list[index].textID)
5454
// console.log(text.value)
55-
console.log(list[index].text.value)
55+
// console.log(list[index].text.value)
5656
}
5757

5858
String.prototype.rtrim = function (s) {
@@ -94,6 +94,7 @@
9494
}
9595

9696
const verifing = function(index) {
97+
console.log("Captcha #"+index)
9798
if(list[index].used == true) {
9899
alert("You cannot try again captcha!");
99100
return
@@ -114,12 +115,16 @@
114115
console.log(token)
115116
}, link+"index.php", {
116117
method: "verify",
117-
value: list[index].text.value,
118+
value: document.querySelector("#"+list[index].textID).value,
118119
code: list[index].session,
119120
}, {
120121
key: keys,
121122
token: tokens,
122123
})
124+
console.log(list[index].text)
125+
console.log(list[index].text.value)
126+
console.log(document.querySelector("#"+list[index].textID))
127+
console.log(document.querySelector("#"+list[index].textID).value)
123128
}
124129

125130
/**
@@ -167,32 +172,39 @@
167172
form.addEventListener("submit", function() {
168173
// alert("hello!")
169174
})
175+
170176
let imageID="thinCaptcha-image"+count
171177
let imageSRC=link+"captcha.php?code="+json.result.code+"&token="+tokens+"&key="+keys
172178
code.innerHTML="<img id=\""+imageID+"\" src=\""+imageSRC+"\">"
173179
let image=code.querySelector("#"+imageID)
180+
174181
// code.innerHTML+="<a onclick=\"document.querySelector('#"+imageID+"').src='"+imageSRC+"'\">reload</a>"
175182
let reloadID="thinCaptcha-reload"+count
176-
code.innerHTML+="<div onlick=\"thinCaptcha.reload("+(count-1)+")\" id=\""+reloadID+"\">reload</div><br>"
183+
code.innerHTML+="<div onlick=\"thinCaptcha.reload("+(count)+")\" id=\""+reloadID+"\">reload</div><br>"
177184
let reload=code.querySelector("#"+reloadID)
178185
// console.log(reload)
179-
reload.addEventListener("click", function() { reload(count-1) })
186+
// reload.addEventListener("click", function() { reload(count-1) })
187+
180188
let textID="thinCaptcha-text"+count
181-
code.innerHTML+="<input required=\"true\" id=\""+textID+"\" type=\"text\">"
189+
code.innerHTML+="<input onblur=\"thinCaptcha.action("+count+")\" onkeypress=\"thinCaptcha.action("+count+")\" onkeyup=\"thinCaptcha.action("+count+")\" oncopy=\"thinCaptcha.action("+count+")\" oncut=\"thinCaptcha.action("+count+")\" onpaste=\"thinCaptcha.action("+count+")\" required=\"true\" id=\""+textID+"\" type=\"text\">"
190+
let text=code.querySelector("#"+textID)
191+
182192
let outputID="thinCaptcha-output"+count
183193
code.innerHTML+="<input name=\""+fieldCodeName+"\" required=\"true\" id=\""+outputID+"\" type=\"text\" style=\"display:none;\">"
184194
let output=code.querySelector("#"+outputID)
195+
185196
let verifyID="thinCaptcha-verify"+count
186-
code.innerHTML+="<a id=\""+verifyID+"\">Verify</a>"
197+
code.innerHTML+="<a onclick=\"thinCaptcha.verifing("+(count)+")\" id=\""+verifyID+"\">Verify</a>"
187198
let verify=code.querySelector("#"+verifyID)
188-
verify.addEventListener("click", function() { verifing(count-1) })
189-
let text=code.querySelector("#"+textID)
190-
text.addEventListener("blur", function() { action(count-1) })
191-
text.addEventListener("keypress", function() { action(count-1) })
192-
text.addEventListener("keyup", function() { action(count-1) })
193-
text.addEventListener("copy", function() { action(count-1) })
194-
text.addEventListener("cut", function() { action(count-1) })
195-
text.addEventListener("paste", function() { action(count-1) })
199+
// verify.addEventListener("click", function() { verifing(count-1) })
200+
201+
// text.addEventListener("blur", function() { action(count-1) })
202+
// text.addEventListener("keypress", function() { action(count-1) })
203+
// text.addEventListener("keyup", function() { action(count-1) })
204+
// text.addEventListener("copy", function() { action(count-1) })
205+
// text.addEventListener("cut", function() { action(count-1) })
206+
// text.addEventListener("paste", function() { action(count-1) })
207+
196208
let values={
197209
formSelector: formSelector,
198210
codeSelector: codeSelector,
@@ -248,6 +260,7 @@
248260
setKey: setKey,
249261
ajax: ajax,
250262
reload: reload,
263+
action: action,
251264
verifing: verifing,
252265
list: list,
253266
}

example/demo-multi.php

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
<?php
2+
session_start();
3+
include "_netphp.php";
4+
// print_r($_POST);
5+
// Array ( [input1] => Jane [input2] => Smith [input3] => max base code @ g m a i l . com [yournameCode1] => 7v0c5ku1lgx6pp17bh67fdausml1lxyoih24uo46fnd4dzodqi )
6+
if(isset($_POST["submit2"], $_POST["yournameCode1"], $_POST["anotherfield"])) {
7+
$token=$_POST["yournameCode1"];
8+
$res=post("http://localhost/matno3/SampleCaptchaAPI/src/index.php?method=done&token=".$token, [], [
9+
"Token: d4f5g6df4gd5f6ge4r89rf48",
10+
"Key: x1x1x1x1x1x1",
11+
]);
12+
$json=json_decode($res[0], true);
13+
if(is_array($json) and $json != null and count($json) > 0) {
14+
if($json["status"] == "success") {
15+
// write your code here
16+
exit("Done 2!\n");
17+
}
18+
else {
19+
exit("Error: captcha is not valid!");
20+
}
21+
}
22+
else {
23+
exit("Error: API have error!\n");
24+
}
25+
}
26+
if(isset($_POST["submit"], $_POST["yournameCode0"], $_POST["input1"], $_POST["input2"], $_POST["input3"])) {
27+
$token=$_POST["yournameCode0"];
28+
$res=post("http://localhost/matno3/SampleCaptchaAPI/src/index.php?method=done&token=".$token, [], [
29+
"Token: d4f5g6df4gd5f6ge4r89rf48",
30+
"Key: x1x1x1x1x1x1",
31+
]);
32+
// print_r($res);
33+
// print_r($res[0]);
34+
$json=json_decode($res[0], true);
35+
if(is_array($json) and $json != null and count($json) > 0) {
36+
if($json["status"] == "success") {
37+
// write your code here
38+
exit("Done!\n");
39+
}
40+
else {
41+
exit("Error: captcha is not valid!");
42+
}
43+
}
44+
else {
45+
exit("Error: API have error!\n");
46+
}
47+
}
48+
?>
49+
<!-- <img id="image" src="captcha.php">
50+
<button id="refresh" onclick="document.querySelector('#image').src='captcha.php';">Refresh</button>
51+
<form action="" method="POST">
52+
<input type="text" name="code">
53+
<button name="submit">send</button>
54+
</form>
55+
-->
56+
<!DOCTYPE HTML>
57+
<html dir="ltr">
58+
59+
<head>
60+
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
61+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
62+
<meta name="viewport" content="width=device-width, user-scalable=yes">
63+
<title>thincaptcha demo</title>
64+
<link rel="stylesheet" href="style.css" type="text/css">
65+
<script src="api.js" async defer></script>
66+
</head>
67+
68+
<body>
69+
<div class="sample-form">
70+
<h2>Form 0</h2>
71+
<form id="thincaptcha-form0" method="POST">
72+
<fieldset>
73+
<legend>Sample Form with ThinCaptcha</legend>
74+
<ul>
75+
<li>
76+
<label for="input1">First Name</label>
77+
<input class="jfk-textinput" id="input1" name="input1" type="text" value="Jane">
78+
</li>
79+
<li>
80+
<label for="input2">Last Name</label>
81+
<input class="jfk-textinput" id="input2" name="input2" type="text" value="Smith">
82+
</li>
83+
<li>
84+
<label for="input3">Email</label>
85+
<input class="jfk-textinput" id="input3" name="input3" type="text" value="max base code @ g m a i l . com">
86+
</li>
87+
<li>
88+
<p>Pick your favorite color:</p>
89+
<label class="jfk-radiobutton-label" for="option1">
90+
<input class="jfk-radiobutton-checked" type="radio" id="option1" name="radios" value="option1" disabled aria-disabled="true" checked aria-checked="true">Red</label>
91+
<label class="jfk-radiobutton-label" for="option2">
92+
<input class="jfk-radiobutton" type="radio" id="option2" name="radios" value="option2" disabled aria-disabled="true">Green</label>
93+
</li>
94+
<li>
95+
<div id="thincaptcha-code0"></div>
96+
</li>
97+
<li>
98+
<input name="submit" type="submit" value="Submit">
99+
</li>
100+
</ul>
101+
</fieldset>
102+
</form>
103+
<h2>Form 1</h2>
104+
<form id="thincaptcha-form1" method="POST">
105+
<input type="text" name="anotherfield">
106+
<br>
107+
<div id="thincaptcha-code1"></div>
108+
<br>
109+
<button name="submit2">Send</button>
110+
</form>
111+
</div>
112+
<script type="text/javascript">
113+
window.addEventListener("load", function() {
114+
thinCaptcha.setLink("http://localhost/matno3/SampleCaptchaAPI/src/")
115+
thinCaptcha.setKey("x1x1x1x1x1x1", "d4f5g6df4gd5f6ge4r89rf48")
116+
thinCaptcha.apply("#thincaptcha-form0", "#thincaptcha-code0", "yournameCode0", undefined)
117+
thinCaptcha.apply("#thincaptcha-form1", "#thincaptcha-code1", "yournameCode1", undefined)
118+
})
119+
</script>
120+
</body>
121+
122+
</html>

src/index.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,16 @@ function getallheaders() {
7878
if($db->count("captcha", ["codes"=>$code]) == 0) {
7979
display(["status"=>"failed", "message"=>"Your session is not valid***!"], $app);
8080
}
81-
$captcha=$db->select("captcha", ["codes"=>$code]);
81+
$clauses=["codes"=>$code];
82+
$captcha=$db->select("captcha", $clauses);
8283
if($captcha["code"] == $value) {
8384
display(["status"=>"success", "message"=>"You are wellcome!", "result"=>[
8485
"token"=>$captcha["token"],
8586
]], $app);
8687
}
8788
else {
88-
display(["status"=>"failed", "message"=>"Your session is not good!"], $app);
89+
$cap=$db->select("captcha", $clauses);
90+
display(["status"=>"failed", "message"=>"Your session is not good!", "test"=>$cap, "test2"=>$data], $app);
8991
$db->update("captcha", $clauses, ["hasUse"=>-1]);
9092
}
9193
print_r($captcha);

0 commit comments

Comments
 (0)