registeruser.php

<? include 'htmlheader.php'?>
<?php
    
include 'include.php';

    
openDatabase();
   
    
//This file takes, as parameters, the name of a user
    //and some contact details for that user. It searches
    //to see if there's a user of that name already registered.
    //If so, it returns the userid of that user in the database.
    //If not, it adds a new user of that name, and returns
    //the user ID

    //Get the parameters

    
$name getAndCheckParameter("name"PATTERN_STANDARD_TEXT"Please enter another name, without using unusual punctuation.");
    
$contact getAndCheckParameter("contact"PATTERN_STANDARD_TEXT"Please enter some contact details which don't use unusual punctuation.");

    
//This will be our return string
    
$return '0';

     
//First, find whether there's a user of that name already 
     
$queryFindUser "SELECT userid FROM user WHERE name = '".$name."' LIMIT 1";

     
queryDatabase($queryFindUseroutputRow);

     
//This callback function will be called by
     //queryDatabase, above
     
function outputRow($rowOutput)
     {
          global 
$return;

          
$return $rowOutput['userid'];
     }

     
//If there was no user of that name registered
     
if ($return == '0')
     {
          global 
$name;

          
//Then register a new user
          
$sUpdateQuery "INSERT INTO `user` ( `userid` , `name`, `contact`) VALUES (NULL , '".$name."', '".$contact."')";

          
updateDatabase($sUpdateQuery);

          
//And requery the database to find out the user id that was given
          
global $queryFindUser;

          
queryDatabase($queryFindUseroutputRow);
     }
     else
     {
          
//Mark any previous games associated with that user as finished
          
updateDatabase("UPDATE gameusermap SET invitationstatus = 'finished' WHERE gameusermap.userid = ".$return);
     }

     
//TODO: We really must update the "Last" time here

     
refreshVariables();

     
//Save the userid in our global variable
     //$userid = $return;

     //TODO: Try this instead
     
$_SESSION['userid'] = $return;

     echo (
$return);

     
closeDatabase();
?>