[sport]php $_SERVER[HTTP_REFERER]的問題

參考網址:PHP 取得網址 – $_SERVER 使用技巧

寫join2\player_s4_online.php線上填報接力棒次表時發現,當學校端未登入,權限不足時,login之後無法回到線上填報的網頁。
查了一下程式發現$_SERVER[HTTP_REFERER]原來可以記住上一個瀏覽的網頁,前題是轉址無效。
所以就利用$_SESSION[‘page’]先記住目前的網頁,login後再轉址就沒問題了。

步驟:
 

先在join2/play_s4_online.php加入session,這段程式碼要在auth_check()之前
// /lo/sport11303/join2/player_s4_online.php
$_SESSION['page'] = $_SERVER['PHP_SELF'];

修改login.php中的login_chk函式 (80行左右)
if($_SESSION['page'])
          $REFERER=$_SESSION['page'];
else {
    .
    .
    .
}

 

發表於 程式設計 | 發表迴響

[sport]onChange=”submit();”無法執行

參考網址:KingKong Bruce記事

join2/player_s4_online.php 線上填報接力選手
當選擇場次後,會出現沒有選到該場次的情形($race_id一直是空值)
 

解決方法:form中的「確定」按鈕不可以取名為submit,改成其它名字就可以了。

發表於 程式設計 | 發表迴響

[wsl]在 Win10 LTSC 2021上安裝 WSL

參考網址:https://zhuanlan.zhihu.com/p/435166554

由于是精简版,按照WSL安装手册的单一命令安装后,会遇到发行版启动不起来的问题,表现就是停在启动后界面,然后设定WSL用户名及密码的提示出不来。

wsl --install

解决办法

1、手动安装必要的组件

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重启。

2、安装最新的内核

WSL2 Linux kernel update package for x64 machines

这时候WSL应该可以正常启动了,不行就重启一下机器。

3、下载安装需要的发行版

Manual installation steps for older versions of WSL

或者给LTSC安装一个 Microsoft Store, (洁癖者慎重),就可以自由安装好些东西了。

LTSC-Add-MicrosoftStore

$ neofetch
       _,met$$$$$gg.          netants@host
    ,g$$$$$$$$$$$$$$$P.       --------
  ,g$$P"     """Y$$.".        OS: Debian GNU/Linux 11 (bullseye) on Windows 10 x86_64
 ,$$P'              `$$$.     Kernel: 5.10.16.3-microsoft-standard-WSL2
',$$P       ,ggs.     `$$b:   Uptime: 3 mins
`d$$'     ,$P"'   .    $$$    Packages: 305 (dpkg)
 $$P      d$'     ,    $$P    Shell: bash 5.1.4
 $$:      $$.   -    ,d$$'    Terminal: /dev/pts/0
 $$;      Y$b._   _,d$P'      CPU: AMD Ryzen 7 4800H with Radeon Graphics (16) @ 2.894GHz
 Y$$.    `.`"Y$$$$P"'         Memory: 137MiB / 25152MiB
 `$$b      "-.__
  `Y$$
   `Y$$.
     `$$b.
       `Y$$b.
          `"Y$b._
              `"""

 

另一個網站
https://shipengliang.com/software-exp/windows-10-%E4%BC%81%E4%B8%9A%E7%89%88-ltsc-%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85-wsl.html

人工下载WSL子系统安装文件
https://aka.ms/wslubuntu2204

右键开始菜单,管理员身份运行PowerShell,执行如下指令:
 

cd C:\Users\lingyundu\Downloads
Add-appxPackage 下载的文件名,如:Ubuntu_1804.2019.522.0_x64.appx

 

另一篇文章
在 win10 2021 LTSC 上安装配置 wsl2 和 ubuntu

 

微軟的安裝說明
https://learn.microsoft.com/zh-tw/windows/wsl/install-manual

發表於 Linux系統, Windows系統, 程式設計 | 發表迴響

[sport]固定浮動區塊

參考網址:https://zh-tw.learnlayout.com/position.html

關於 position 屬性有4個
static:static 是預設值。任何套用 position: static; 的元素「不會被特別定位」在頁面上特定位置,而是照著瀏覽器預設的配置自動排版在頁面上,所有其他的屬性值都代表該元素會被定位在頁面上。

relative 表現的和 static 一樣,除非你增加了一些額外的屬性。

fixed固定定位(position: fixed)的元素會相對於瀏覽器視窗來定位,這意味著即便頁面捲動,它還是會固定在相同的位置。和 relative 一樣,我們會使用 top 、 right 、 bottom 和 left 屬性來定位

absolute 與 fixed 的行為很像,不一樣的地方在於 absolute 元素的定位是在他所處上層容器的相對位置。如果這個套用 position: absolute 的元素,其上層容器並沒有「可以被定位」的元素的話,那麼這個元素的定位就是相對於該網頁所有內容(也就是 <body> 元素)最左上角的絕對位置

我需要浮動區塊一直固定在畫面的左上方,這樣比較容易操作。所以把原本的position: absolute改成position:fixed
需要改的有\templates\admin\tnc_city_gov_list.htm 及\templates\join2\tnc_gov_join_inc.htm

發表於 程式設計 | 發表迴響

[youtube]chrome 阻檔廣告FadBlock Origin

參考網址:https://github.com/0x48piraj/fadblock

FadBlock Origin: Friendly YouTube™ Adblock

A fast, lightweight, and undetectable YouTube Ads Blocker for Chrome, Opera, and Firefox.

用播放1ms的方式躲過youtube的廣告檢查
目前只可以在PC上的瀏覽器上使用,手機上無法安裝這個擴充套件。

發表於 軟體使用 | 發表迴響

[sport]新增報名測試功能(用sudo)

讓管理者在報名開始之前可以模擬成學校進行報名
include/confing.php中加入$limit_begin_date="202402010000";
join2/gov_query.php加入
 

//開始報名前可以任意sudo
//開始報名後只有played=1才可以sudo 
if( date("YmdHi")<$limit_begin_date )
    $and_played_str = '';
else
    $and_played_str = " and gov.played='1' ";

 

發表於 程式設計 | 發表迴響

[sport]folk系列加入跳繩錦標賽名次取數機制

跳繩錦標賽改變名次取數機制
第一名1位,第2名2位,第3名3位,同次數並排,不往後推擠名次,並取報名人數的5成,扣除前3名的名額為優勝。
因應方式:將原本main_score的名次(ord_id)改為序號,績分(ord_score)改為名次

function.php中的get_main_score函式加入$rope參數。get_main_score($group_id , $item_id , $detail , $just_one = 0 ,$only_one = 0,$rope = 0)
 

if($rope){  //跳繩錦標賽用ord_score當名次
    $row['eng_ord_id'] = $english_str[$row['ord_score']] ;
    $row['ord_id'] = chinese_str($row['ord_score']) ;
}else{
    $row['eng_ord_id'] = $english_str[$row['ord_id']] ;
    $row['ord_id'] = chinese_str($row['ord_id']) ;              
}

 

admin\adm_print_get.php中加入rope專用的templates

發表於 程式設計 | 發表迴響

[lubuntu]lbuntu22.04安裝mysql8.1 +php5.6 +nginx

參考網址:https://cumi.co/20221006/

lubuntu 22.04
1.mysql
apt install mysql-server

更改mysql root 密碼
mysql mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

取消mysql嚴格模式
vi /etc/mysql/my.cnf
新增
[mysqld]
sql_mode=""

service mysql restart
systemctl enable mysql


2.安裝php5.6
add-apt-repository ppa:ondrej/php
apt install -y php5.6
apt install php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache php5.6-common php5.6-json php5.6-readline php5.6-xml

3.安裝nginx
apt install php5.6-fpm php5.6-cgi -y
apt install php5.6-mysqli php5.6-mysql -y
apt install nginx unzip -y
vim /etc/nginx/sites-enabled/default

server {
	listen 80 default_server;
	listen [::]:80 default_server;
	root /var/www/html;
	index index.php index.html index.htm index.nginx-debian.html;
	server_name _;

	location / {
	    try_files $uri $uri/ =404;
	}

	location ~ \.php$ {
	    include snippets/fastcgi-php.conf;
	    fastcgi_pass unix:/run/php/php5.6-fpm.sock;
	}
}


service apache2 stop
systemctl disable apache2
service nginx restart
systemctl enable nginx


vi /var/www/html/1.php
<?php
phpinfo();
?>

看看網頁的狀況如何

修改php.ini
/etc/php5.6-fpm/php.ini
修改完後得重啟php5.6-fpm
service php5.6-fpm restart

phpmyadmin php5.6得配合舊版的phpmyamdin
cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.11/phpMyAdmin-4.9.11-all-languages.zip
unzip phpMyAdmin-4.9.11-all-languages.zip
mv phpMyAdmin-4.9.11-all-languages phpmyadmin
cd phpmyadmin
cp config.sample.inc.php config.inc.php


安裝後試用結果,效能與apache2比較,似乎也沒有顯著提昇。

 

發表於 Linux系統, 程式設計 | 發表迴響

[ubuntu]How to install PHP 5.6, PHP 8.0 and PHP 8.1 on Ubuntu 22.04 LTS

參考網址:https://vitux.com/how-to-install-php5-php8-on-ubuntu/

The official PHP website, php.net, provides a list of all PHP versions to date at the following link:

http://php.net/releases/

$ sudo add-apt-repository ppa:ondrej/php
apt install -y php5.6
apt-get install php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml

 

發表於 Linux系統 | 發表迴響

[nginx]Ubuntu 安裝 Nginx + PHP-FPM + MySQL + phpMyAdmin

參考網址:https://cumi.co/20221006/

發表於 程式設計 | 發表迴響