i edit code for work with IIS7+PHP+MSSQL 2008
First : install PHP for IIS 7 from this link
Windows Web App Gallery - Install an App
Second : Download SQL Driver for PHP (Works with apache as well) from this link
Download Details - Microsoft Download Center - Microsoft Drivers for PHP for SQL Server
Once installed and configured correctly...
try to use this
config.php
PHP Code:
<?php
$cfg['sql_host'] = "(local)";
$cfg['sql_user'] = "sa";
$cfg['sql_pass'] = "123456";
$cfg['sql_db'] = "SRO_VT_ACCOUNT";
$cfg ['connInfo'] = array("UID"=>$cfg['sql_user'],
"PWD"=>$cfg['sql_pass'],
"Database"=>$cfg['sql_db']);
$sqlLink = sqlsrv_connect($cfg[sql_host], $cfg ['connInfo']);
if($sqlLink === false)
{
die("MSSQL server is not accessable, why should we try to select database ?");
}
?>
index.php
PHP Code:
<?php
/* Simple registration page for silkroad server, by Chernobyl
* Settings are at _inc/config.php
* If you get an mssql connection error, while defining totally correct data
* Just use older ntwdblib.dll for your webserver
*/
require_once('_inc/security.class.php');
require_once('_inc/config.php');
if(!isset($_POST['submit']))
{
echo "<table border='1'>
<form method='post'>
<td>Username</td><td><input type='text' name='username' maxlength='16'></td><tr/>
<td>Password[1]</td><td><input type='password' name='pw1' maxlength='32'></td><tr/>
<td>Password[2]</td><td><input type='password' name='pw2' maxlength='32'></td><tr/>
<td></td><td><input type='submit' name='submit' value='Register'></td>
</form>
</table>";
}
else
{
if(strlen($_POST['username']) < 3) $msg[] = "Username too short";
if(strlen($_POST['username']) > 16)$msg[] = "Username too long";
if(strlen($_POST['pw1']) < 6) $msg[] = "Password [1] too short";
if(strlen($_POST['pw1']) > 32)$msg[] = "Password [1] too long";
if(strlen($_POST['pw2']) < 6) $msg[] = "Password [2] too short";
if(strlen($_POST['pw']) > 32) $msg[] = "Password [2] too long";
if($_POST['pw1'] != $_POST['pw2']) $msg[] = "Passwords are not the same";
$sec = new security();
if($sec->is_secure($_POST['username']) == false) $msg[] = "Username contains forbidden symbols";
if($sec->is_secure($_POST['pw1']) == false) $msg[] = "Password [1] contains forbidden symbols";
if($sec->is_secure($_POST['pw2']) == false) $msg[] = "Password [2] contains forbidden symbols";
if(count($msg) > 0)
{
for($i = 0; $i < count($msg); $i++)
{
echo $msg[$i]."<br/>";
}
return;
}
else
{
//checking damn mssql stuff
$accountExists = sqlsrv_num_rows(sqlsrv_query( $sqlLink, "select StrUserID from TB_User where StrUserID='$_POST[username]'"));
if($accountExists > 0) echo "Account with such username already exists<br/>";
else
{
$pwd = md5($_POST['pw1']);
// Setup the parameter
$sql_params = "INSERT INTO TB_User(StrUserID,password,sec_primary,sec_content)VALUES(?, ?, ?, ?)";
// Set parameter values.
$params = array($_POST[username], $pwd, 3, 3);
// Execute the query.
$query = sqlsrv_query($sqlLink, $sql_params, $params);
if($query)
{
echo "Account successfully created<br />";
}
else
{
echo "Account can not create!<br />";
die( print_r( sqlsrv_errors(), true));
}
// Release resources.
sqlsrv_free_stmt($query);
sqlsrv_close($sqlLink);
}
}
}
sorry for my english grammar. :)