Game Courier Game Logs
This page shows logs for games played on Game Courier, a versatile web-based play-by-mail system that currently supports over 1100 Chess variants. By default, only publicly viewable unfinished games are shown. The form below lets you select various viewing options. To make a move in one of your own games, enter your userid in the form below, click Submit, then click on your name in the Next Move For column.
|Game||Log||Last Modified||Last Move by||Next Move for|
|Odin's Rune Chess||slavensky-cvgameroom-2022-17-539||157 days, 21 hours ago||Thor Slavensky has won.|
|Odin's Rune Chess||arx-cvgameroom-2019-261-940||Fri, Dec 27, 2019||Francis Fahys has won.|
|Odin's Rune Chess||erik-cvgameroom-2019-308-349||Sat, Nov 09, 2019||Erik Lerouge has won.|
|Odin's Rune Chess||erik-cvgameroom-2019-285-850||Sun, Nov 03, 2019||Erik Lerouge has won.|
|Odin's Rune Chess||erik-cvgameroom-2019-203-926||Sat, Aug 10, 2019||Erik Lerouge has won.|
|Odin's Rune Chess||maeko-cvgameroom-2009-25-047||Mon, Jun 01, 2009||Nicholas Wolff has won.|
|Odin's Rune Chess||maeko-cvgameroom-2009-12-750||Wed, Feb 25, 2009||Nicholas Wolff has won.|
|Odin's Rune Chess||maeko-cvgameroom-2009-7-048||Sat, Jan 10, 2009||Nicholas Wolff has won.|
This script queried the GameLogs table with the following prepared query:
SELECT * FROM GameLogs WHERE Game = :game AND (Privacy = :privacy OR Opponent = '' OR Opponent IS NULL) ORDER BY Lastmod DESC
To avoid SQL injection, most of the values are passed separately. The values in the query are determined by the values in your URL's query string or by what is entered into the form at top. When you leave a field blank, it normally means that it will leave that field out of the query, not that it will search for an empty value. Here is a recreation of what the SQL query would look like with the placeholders replaced by the values:
SELECT * FROM GameLogs WHERE Game = 'Odin\'s Rune Chess' AND (Privacy = 0 OR Opponent = '' OR Opponent IS NULL) ORDER BY Lastmod DESC
The underlying MySQL is handled by MariaDB. A few fields give you multiple options for how to use them. You can search for an exact string match, an exact non-match, a LIKE match, which allows the use of a few wildcards, and a REGEXP match, which allows for very complicated pattern matching. Since these may slow down the search, they should be avoided unless you have a special need for them.
Filtering by Userid
If you enter a userid, it will list only those games in which that id identifies one of the players. Under the Next Move for column, for each game in which it is that user's turn to move, it will include a link for him to go to the PBM and make his next move. If a given user is playing any games that are not open to public view, he will need to enter his password to view these games on this page. If all your games are publicly viewable, then you don't need to include your password on this page.
How to Delete a Log
To get links for deleting logs, you must first enter a userid. To delete a log, you must be one of the players listed in the log. When you click on the link to delete a log, you will be asked for your password. Enter it and click on the Delete button. If your userid matches one of the players, and if your password is correct, the log will be deleted.
Written by Fergus Duniho
WWW Page Created: 21 July 2017