2018-09-26 14:14:20 +00:00
< style type = 'text/css' >
. blink {
color : #ff0000;
2018-09-26 11:57:23 +00:00
2018-09-26 14:14:20 +00:00
animation : blink - animation 1 s steps ( 5 , start ) infinite ;
- webkit - animation : blink - animation 1 s steps ( 5 , start ) infinite ;
}
. yay { display : inline - block ; color : #2AC940; font-size: 1.2em; margin: .5em; padding: 1em; border: 1px solid red; }
. faded { opacity : . 5 ; }
@ keyframes blink - animation { to { visibility : hidden ; } }
@- webkit - keyframes blink - animation { to { visibility : hidden ; } }
a { text - decoration : underline ; color : inherit ; }
h2 a { text - decoration : none ; }
</ style >
2018-09-26 11:57:23 +00:00
2018-09-26 14:14:20 +00:00
< center >
2018-09-26 13:51:27 +00:00
2018-09-26 14:14:20 +00:00
< ? php
2018-09-26 13:51:27 +00:00
2018-09-26 14:14:20 +00:00
printf ( " <h2 class='blink'><a href=''>-- Refresh me --</a></h2> \n " );
2018-09-26 13:51:27 +00:00
2018-09-26 14:14:20 +00:00
try {
2018-09-26 13:51:27 +00:00
2018-09-26 14:14:20 +00:00
$pdo = new PDO ( 'mysql:host=mariadb;dbname=vhost;charset=utf8' , " php " , " Ew1RmFFqeZOA1zwkJkocAjmepQA4JmnUW0nqDFh79jHY8aubtPO_12E9wgbNvScX0Uiv1GuUllb8YCJ00PAoh0fvNS " );
2018-09-26 13:51:27 +00:00
2018-09-26 14:14:20 +00:00
$pdo -> setAttribute ( PDO :: ATTR_DEFAULT_FETCH_MODE , PDO :: FETCH_ASSOC );
$pdo -> setAttribute ( PDO :: ATTR_TIMEOUT , 5 );
$pdo -> setAttribute ( PDO :: ERRMODE_EXCEPTION , true );
$pdo -> setAttribute ( PDO :: ATTR_STRINGIFY_FETCHES , false );
$pdo -> setAttribute ( PDO :: ATTR_EMULATE_PREPARES , false );
2018-09-26 13:51:27 +00:00
2018-09-26 14:14:20 +00:00
} catch ( Exception $e ){
printf ( " Cannot connect to database \n " );
die ();
2018-09-26 13:51:27 +00:00
}
2018-09-26 14:14:20 +00:00
// 1. Create table
$create = " CREATE TABLE IF NOT EXISTS nonce (
id_nonce int NOT NULL AUTO_INCREMENT PRIMARY KEY ,
created_at int NOT NULL DEFAULT CURRENT_TIMESTAMP
); " ;
if ( $errcode = $pdo -> exec ( $create ) > 0 ){
printf ( " * [%d] cannot create table \n \n " , $errcode );
die ();
2018-09-26 13:51:27 +00:00
}
2018-09-26 14:14:20 +00:00
// 2. Insert new line
2018-09-26 13:51:27 +00:00
2018-09-26 14:14:20 +00:00
$pr = $pdo -> prepare ( " INSERT INTO nonce(id_nonce, created_at) VALUES(DEFAULT, :tnow); " );
if ( $pr !== false ){
$ok = $pr -> execute ([ " :tnow " => time ()]);
if ( ! $ok ){
printf ( " * cannot insert data \n \n " );
}
} else {
printf ( " * cannot insert data \n \n " );
}
// 3. select all
$st = $pdo -> query ( " SELECT * FROM nonce ORDER BY id_nonce DESC LIMIT 100; " );
if ( $st !== false ){
$nonces = $st -> fetchAll ();
printf ( " <pre> \n " );
$max = count ( $nonces );
foreach ( $nonces as $key => $value ){
if ( $key == 0 ){
2018-09-26 14:26:56 +00:00
printf ( " <span class='yay'>YOU ARE EXACTLY THE <strong>%d</strong>th VISITOR, CLICK <a href=''>HERE</a> TO WIN THE PRIZE !!</span> \n %s \n " , $value [ 'id_nonce' ], date ( 'H:i:s d/m/Y' , $value [ 'created_at' ]));
2018-09-26 14:14:20 +00:00
printf ( " \n Wow ! Got lucky \n \n " );
continue ;
}
printf ( " <span class='faded'>%s</span> | You are the <strong>%d</strong>th visitor, click <a href=''>here</a> to win the prize !! \n " , date ( 'H:i:s d/m/Y' , $value [ 'created_at' ]), $value [ 'id_nonce' ]);
}
printf ( " </pre> \n " );
} else {
printf ( " * cannot fetch data \n \n " );
}
2018-09-26 13:51:27 +00:00
2018-09-26 14:14:20 +00:00
?>
2018-09-26 13:51:27 +00:00
2018-09-26 14:14:20 +00:00
</ center >