Initial commit
I like to start new repos with this phrase: Let's get it started!
This commit is contained in:
commit
0e9cf0e6de
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Auto detect text files and perform LF normalization
|
||||||
|
* text=auto
|
||||||
3
README.md
Normal file
3
README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# PersonalHomeCalc 
|
||||||
|
|
||||||
|
A simple but cute calc on PHP :3
|
||||||
30
calc.php
Normal file
30
calc.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
function getData($pname) {
|
||||||
|
if (isset($_GET[$pname])) {
|
||||||
|
return $_GET[$pname];
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$number1=getData('number1');
|
||||||
|
$oper=getData('oper');
|
||||||
|
$number2=getData('number2');
|
||||||
|
if ($oper=="+") {
|
||||||
|
$res=['rcode'=>'1','result'=>(int)$number1+(int)$number2];
|
||||||
|
} else if ($oper == "-") {
|
||||||
|
$res=['rcode'=>'1','result'=>(int)$number1-(int)$number2];
|
||||||
|
} else if ($oper=="*") {
|
||||||
|
$res=['rcode'=>'1','result'=>(int)$number1*(int)$number2];
|
||||||
|
} else if ($oper=="/") {
|
||||||
|
if ((int)$number2 == 0) {
|
||||||
|
$res=['rcode'=>'0','result'=>"division by zero"];
|
||||||
|
} else {
|
||||||
|
$res=['rcode'=>'1','result'=>(int)$number1/(int)$number2];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$res=['rcode'=>'0','result'=>"unknown operation"];
|
||||||
|
}
|
||||||
|
$data=$res;
|
||||||
|
header('Content-type: application/json');
|
||||||
|
echo json_encode($data);
|
||||||
|
?>
|
||||||
BIN
favicon.png
Normal file
BIN
favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 83 KiB |
197
index.php
Normal file
197
index.php
Normal file
@ -0,0 +1,197 @@
|
|||||||
|
<?php
|
||||||
|
function getData($pname) {
|
||||||
|
if (isset($_GET[$pname])) {
|
||||||
|
return $_GET[$pname];
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function createButton($btname,$class,$func,$title) {
|
||||||
|
?>
|
||||||
|
<div class="btn <?=$class?>" onclick="<?=$func?>;" title="<?=$title?>"><?=$btname?></div>
|
||||||
|
<!-- <input name="stack" type="submit" value="<?=$btname;?>" class="btn <?=$class?>" onclick="<?=$func?>;"> -->
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Personal Home Calc</title>
|
||||||
|
<link rel="shortcut icon" href="favicon.png">
|
||||||
|
<style>
|
||||||
|
html,body{
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background: #111;
|
||||||
|
font-family: "Comic Sans MS";
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
#prompt{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
height: 18%;
|
||||||
|
margin-bottom: 5vh;
|
||||||
|
background: #222;
|
||||||
|
border: 0;
|
||||||
|
box-shadow: 0 2vh 2vh #060606;
|
||||||
|
font-size: 50px;
|
||||||
|
color: #eee;
|
||||||
|
text-shadow: 0 0 5px white;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.hidd{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.row{
|
||||||
|
margin: 3% 0;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
.btn{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 20%;
|
||||||
|
height: 20%;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
border: 0;
|
||||||
|
border-radius: 10px;
|
||||||
|
font-size: 60px;
|
||||||
|
color: #eee;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.btn:hover{
|
||||||
|
box-shadow: 0 0 10px white;
|
||||||
|
}
|
||||||
|
.btn1{
|
||||||
|
background: #EF3038;
|
||||||
|
}
|
||||||
|
.btn2{
|
||||||
|
background: #0047AB;
|
||||||
|
}
|
||||||
|
.btn1:active{
|
||||||
|
background: #77181C;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
.btn2:active{
|
||||||
|
background: #002456;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
|
||||||
|
<script>
|
||||||
|
var p1='0';
|
||||||
|
var tp='';
|
||||||
|
var p2='0';
|
||||||
|
var sol='0';
|
||||||
|
var pmt='0';
|
||||||
|
var allow=true;
|
||||||
|
function zap() {
|
||||||
|
pmt+='=';
|
||||||
|
document.getElementById('prompt').innerHTML=pmt;
|
||||||
|
var number1=p1;
|
||||||
|
var oper=tp;
|
||||||
|
var number2=p2;
|
||||||
|
$.ajax({
|
||||||
|
url: "calc.php",
|
||||||
|
type: "GET",
|
||||||
|
data: {'number1': number1, 'oper': oper, 'number2': number2},
|
||||||
|
dataType: "json",
|
||||||
|
success: function(response) {
|
||||||
|
if (response.rcode=="0") {
|
||||||
|
alert(response.result)
|
||||||
|
cle()
|
||||||
|
} else {
|
||||||
|
sol=response.result;
|
||||||
|
pmt+=sol;
|
||||||
|
document.getElementById('prompt').innerHTML=pmt;
|
||||||
|
allow=false;
|
||||||
|
p1='0';
|
||||||
|
tp='';
|
||||||
|
p2='0';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function numb(num) {
|
||||||
|
if (Number(p1)==0 && (tp=='')) {
|
||||||
|
p1=num;
|
||||||
|
pmt=String(p1);
|
||||||
|
document.getElementById('prompt').innerHTML=pmt;
|
||||||
|
} else if ((Number(p1)>0) && (tp=='')) {
|
||||||
|
p1+=num;
|
||||||
|
pmt=String(p1);
|
||||||
|
document.getElementById('prompt').innerHTML=pmt;
|
||||||
|
} else if (Number(p2)==0 && tp!='') {
|
||||||
|
p2=num;
|
||||||
|
pmt=String(p1)+tp+String(p2);
|
||||||
|
document.getElementById('prompt').innerHTML=pmt;
|
||||||
|
} else if (Number(p2)>0 && tp!='') {
|
||||||
|
p2+=num;
|
||||||
|
pmt=String(p1)+tp+String(p2);
|
||||||
|
document.getElementById('prompt').innerHTML=pmt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function operation(op) {
|
||||||
|
if (tp!='') {alert('За раз можно использовать только одну операцию!');return;}
|
||||||
|
if (!allow) {
|
||||||
|
p1=Number(sol);
|
||||||
|
pmt=sol;
|
||||||
|
allow=true;
|
||||||
|
}
|
||||||
|
// if (p1=='0' && p2=='0' && tp=='' && Number(document.getElementById('prompt').value)>0) {
|
||||||
|
// p1=document.getElementById('prompt').innerHTML
|
||||||
|
// }
|
||||||
|
tp=op;
|
||||||
|
pmt+=tp;
|
||||||
|
document.getElementById('prompt').innerHTML=pmt;
|
||||||
|
}
|
||||||
|
function cle() {
|
||||||
|
p1='0';
|
||||||
|
tp='';
|
||||||
|
p2='0';
|
||||||
|
sol='0';
|
||||||
|
pmt='0';
|
||||||
|
allow=true;
|
||||||
|
numb(0);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="prompt">0</div>
|
||||||
|
<div class="row">
|
||||||
|
<?php
|
||||||
|
for ($i=1;$i<=3;$i++) {
|
||||||
|
createButton($i,'btn1',"numb('".$i."')",$i);
|
||||||
|
}
|
||||||
|
createButton("+",'btn2',"operation('+')","Сложение");
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<?php
|
||||||
|
for ($i=4;$i<=6;$i++) {
|
||||||
|
createButton($i,'btn1',"numb('".$i."')",$i);
|
||||||
|
}
|
||||||
|
createButton("-",'btn2',"operation('-')","Вычитание");
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<?php
|
||||||
|
for ($i=7;$i<=9;$i++) {
|
||||||
|
createButton($i,'btn1',"numb('".$i."')",$i);
|
||||||
|
}
|
||||||
|
createButton("*",'btn2',"operation('*')","Умножение");
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<?php
|
||||||
|
createButton("0",'btn1',"numb('0')",0);
|
||||||
|
createButton("AC",'btn2',"cle()","Очистить");
|
||||||
|
createButton("=",'btn2',"zap()","Считать");
|
||||||
|
createButton("/",'btn2',"operation('/')","Деление");
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user