mirror of
https://github.com/Mabbs/mabbs.github.io
synced 2025-07-20 11:42:02 +00:00
Update 2019-06-22-counter.md
This commit is contained in:
parent
0c80238c9e
commit
2521dbf559
@ -59,71 +59,33 @@ CREATE TABLE `counter` (
|
|||||||
UNIQUE KEY `url` (`url`)
|
UNIQUE KEY `url` (`url`)
|
||||||
);
|
);
|
||||||
```
|
```
|
||||||
|
|
||||||
PHP:
|
PHP:
|
||||||
```php
|
```php
|
||||||
<?php
|
<?php
|
||||||
header('Access-Control-Allow-Origin: *');
|
header('Access-Control-Allow-Origin: *');
|
||||||
$con=mysqli_connect("MySQL地址","用户名","密码","数据库名");
|
$db = new PDO("mysql:host=MySQL地址;dbname=数据库名", "用户名", "密码", array(PDO::ATTR_PERSISTENT => true));
|
||||||
if (mysqli_connect_errno($con))
|
|
||||||
{
|
|
||||||
die("连接 MySQL 失败: " . mysqli_connect_error());
|
|
||||||
}
|
|
||||||
|
|
||||||
$hid = md5($_GET['id']);
|
|
||||||
|
|
||||||
if ( $_GET['action'] == "show" ) {
|
|
||||||
|
|
||||||
$sql = "SELECT * FROM `counter` WHERE `url` = '".$hid."' ";
|
|
||||||
$result = $con->query($sql);
|
|
||||||
|
|
||||||
if ($result->num_rows > 0) {
|
|
||||||
while($row = $result->fetch_assoc()) {
|
|
||||||
echo $row["counter"];
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
|
|
||||||
$sql = "INSERT INTO `counter` (`url`, `counter`)
|
|
||||||
VALUES ('".$hid."', '0')";
|
|
||||||
|
|
||||||
if ($con->query($sql) === TRUE) {
|
|
||||||
echo "0";
|
|
||||||
}else{
|
|
||||||
echo "Error";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
} elseif ( $_GET['action'] == "add" ) {
|
|
||||||
|
|
||||||
|
|
||||||
$sql = "SELECT * FROM `counter` WHERE `url` = '".$hid."' ";
|
|
||||||
$result = $con->query($sql);
|
|
||||||
if ($result->num_rows > 0) {
|
|
||||||
while($row = $result->fetch_assoc()) {
|
|
||||||
$sql = "UPDATE `counter` SET `counter` = '".($row["counter"]+1)."' WHERE `url` = '".$hid."'";
|
|
||||||
$con->query($sql);
|
|
||||||
echo ($row["counter"]+1);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
|
|
||||||
$sql = "INSERT INTO `counter` (`url`, `counter`)
|
|
||||||
VALUES ('".$hid."', '1')";
|
|
||||||
|
|
||||||
if ($con->query($sql) === TRUE) {
|
|
||||||
echo "1";
|
|
||||||
}else{
|
|
||||||
echo "Error";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
if (isset($_GET['id'])){
|
||||||
|
$hid = (string)md5($_GET['id']);
|
||||||
} else {
|
} else {
|
||||||
header("HTTP/1.1 301 Moved Permanently");
|
header("HTTP/1.1 301 Moved Permanently");
|
||||||
header("Location: https://mabbs.github.io");
|
header("Location: https://mabbs.github.io");
|
||||||
|
exit(0);
|
||||||
}
|
}
|
||||||
mysqli_close($con);
|
$select = $db->prepare("SELECT IFNULL((SELECT `counter` FROM `counter` WHERE `url` = ?), 0) count");
|
||||||
|
$select->execute(array($hid));
|
||||||
|
$counter = $select->fetch(PDO::FETCH_ASSOC)['count'];
|
||||||
|
if (isset($_GET['action'])){
|
||||||
|
if ($_GET['action'] == "add") {
|
||||||
|
$counter = $counter + 1;
|
||||||
|
$insert = $db->prepare("INSERT INTO `counter` (`url`, `counter`) VALUES (?, ?) ON DUPLICATE KEY UPDATE `counter` = ?");
|
||||||
|
$insert->execute(array($hid, $counter, $counter));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo $counter;
|
||||||
```
|
```
|
||||||
|
2022.07.26更新:之前的代码实在是太垃圾了,现在最起码PHP也会的差不多了,稍微优化一下。
|
||||||
|
|
||||||
# 结果
|
# 结果
|
||||||
看来还是自己写代码放心,至少服务是自己维护的,不像垃圾LeanCloud坏掉之后我就无能为力了……
|
看来还是自己写代码放心,至少服务是自己维护的,不像垃圾LeanCloud坏掉之后我就无能为力了……
|
||||||
|
Loading…
x
Reference in New Issue
Block a user