Roman: msconnect(); bei MSSQL 2005

Beitrag lesen

Guten Tag!

Ich habe ein bzw. mehrere PHP-Scripte mit msconnect (); um auf eine MSSQL datenbank zu connecten.

Bei MSSQL 2000 ging auch noch alles gut. Da mein Root aber MSSQL 2000 nicht unterstützt musste ich notgedrungen 2005 installieren.

Nun stellt sich das Problem, dass ich nicht auf meine Datenbank connecten kann. Alle ODBC-Quellen und sonstiges ist richtig eingerichtet! PHP läuft und extension=php_mssql.dll ist auch in der php.ini .

Hier mal mein script:

<HTML>
<HEAD>
<TITLE>Server Register</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

<style type="text/css">
<!--
body,td,th {
 color: #000000;
}
body {
 background-color: #FFFFFF;
}
-->
</style><p>Registrier hier deinen Account:</p>

<?php
function passConvert($password)
{
    $encar = array('!'=>'95', '"'=>'88', '#'=>'9D', '$'=>'4C', '%'=>'F2', '&'=>'3E', '''=>'BB', '('=>'C0', ')'=>'7F', '*'=>'18', '+'=>'70', ','=>'A6', '-'=>'E2', '.'=>'EC', '/'=>'77',
                        '0'=>'2C', '1'=>'3A', '2'=>'4A', '3'=>'91', '4'=>'5D', '5'=>'7A', '6'=>'29', '7'=>'BC', '8'=>'6E', '9'=>'D4', ':'=>'40', ';'=>'17', '<'=>'2E', '='=>'CB', '>'=>'72', '?'=>'9C',
                        '@'=>'A1', 'A'=>'FF', 'B'=>'F3', 'C'=>'F8', 'D'=>'9B', 'E'=>'50', 'F'=>'51', 'G'=>'6D', 'H'=>'E9', 'I'=>'9A', 'J'=>'B8', 'K'=>'84', 'L'=>'A8', 'M'=>'14', 'N'=>'38', 'O'=>'CE',
                        'P'=>'92', 'Q'=>'5C', 'R'=>'F5', 'S'=>'EE', 'T'=>'B3', 'U'=>'89', 'V'=>'7B', 'W'=>'A2', 'X'=>'AD', 'Y'=>'71', 'Z'=>'E3', '['=>'D5', '\'=>'BF', ']'=>'53', '^'=>'28', '_'=>'44',
                        '`'=>'33', 'a'=>'48', 'b'=>'DB', 'c'=>'FC', 'd'=>'09', 'e'=>'1F', 'f'=>'94', 'g'=>'12', 'h'=>'73', 'i'=>'37', 'j'=>'82', 'k'=>'81', 'l'=>'39', 'm'=>'C2', 'n'=>'8D', 'o'=>'7D',
                        'p'=>'08', 'q'=>'4F', 'r'=>'B0', 's'=>'FE', 't'=>'79', 'u'=>'0B', 'v'=>'D6', 'w'=>'23', 'x'=>'7C', 'y'=>'4B', 'z'=>'8E', '{'=>'06', '|'=>'5A', '}'=>'CC', '~'=>'62');

$newpass = "0x";
    for ($i = 0; $i < strlen($password); $i++)
    {
        $newpass .= $encar[$password[$i]];
    }

return $newpass;
}

if ($_POST["gogogo"])
{
    $err = "";

if (!$_POST["accname"]) $err .= "<font color='red'><b>Enter an ID <br>\n";
    if (!$_POST["accpass1"]) $err .= "<font color='red'><b>Enter an Password <br>\n";
    if (!$_POST["accpass2"]) $err .= "<font color='red'><b>Repeat Password <br>\n";

if ($err == "")
    {
        if ($_POST["accpass1"] != $_POST["accpass2"])
            $err .= "<font color='red'><b>Passwords does not match! <br>\n";
    }

if ($err == "")
    {

$msconnect = mssql_connect("localhost", "sa", "passwd");
         $msdb = mssql_select_db("kal_auth", $msconnect);

$cpass = passConvert($_POST["accpass1"]);
         $query = "INSERT INTO Login ([ID], [PWD], [Birth], [Type], [ExpTime]) VALUES('".$_POST["accname"]."', $cpass , '19190101', '0', '4000')";
        //echo $query;

$acccreate = mssql_query($query);

if ($acccreate)
        {
            $uid = mssql_result(mssql_query("SELECT [UID] from Login WHERE [ID]='".$_POST["accname"]."'"),0,0);

mssql_close() or die('failed closing mssql');

$err = "<b>Account erfolgreich erstellt.</b>";

}
        else echo "Hmm, da muss was schief gelaufen sein!!! Wir kümmern uns um den Fehler.";
        mssql_close() or die('failed closing mssql');

}

}

?>

<title></title>
<body>

<form method="post" action="acc_reg.php">
  <table>
    <tr>
      <td></td><td><?= $err ?></td>
    </tr>
    <tr>
      <td>ID:</td><td><input type="text" name="accname" value="<?= $_POST["accname"] ?>" maxlength="12"></td>
    </tr>
    <tr>
      <td>Password:</td><td><input type="password" name="accpass1" maxlength="8"></td>
    </tr>
    <tr>
      <td>Repeat Password:</td><td><input type="password" name="accpass2" maxlength="8"></td>
    </tr>

<tr><td>&nbsp;</td></tr>

<tr>
      <td><input type="submit" name="gogogo" value="Erstellen"></td>
    </tr>
  </table>

</form>
</body>
</html><!-- tab end -->
<body>
</body>
</html>

Wie gesagt, mit MSSQL 2000 lief noch alles wunderbar ... aber nun...

passt der code für MSSQL 2005 vielleicht nicht?
was muss ich ändern???

LG´s aus der Region Hannover

Roman

--
<!-- Dies ist eine Signatur :-) -->