Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MMSQL] Błąd w skrypcie?
Forum PHP.pl > Inne > Giełda ofert > Poszukuję
Cavatina
Witam

Zwracam się do was z uprzejmą prośbą o sprawdzenie skryptu, który ma służyć rejestracji kont, gdyż posiada on chyba błędy skoro występują błędy.
Od razu zaznaczam że nie znam się zbytnio na php oraz mmysql dlatego też wziąłem skrypt dla Mysql i pozamieniałem fukcje dla mmsq. MIałem nadzieję że to wystarczy ale chyba jednak problem leży w czymś innym.

Otóż błąd wygląda następująco:
Fatal error: Call to undefined function mssql_query() in C:\Program Files\WebServ\httpd\config.php on line 12


A pliczki odpawiadające za to wyglądaja następująco:
index.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Simple Register page </title>
  6. <?php
  7. require('config.php');
  8. ?>
  9.  
  10. <style type="text/css">
  11. <!--
  12. body,td,th {
  13. font-family: Geneva, Arial, Helvetica, sans-serif;
  14. font-size: 12px;
  15. color: #FFFFFF;
  16. }
  17. body {
  18. margin-left: 0px;
  19. margin-top: 0px;
  20. margin-right: 0px;
  21. margin-bottom: 0px;
  22. background-color: #666666;
  23. background-image: url(03_1024.jpg);
  24. }
  25. .style1 {
  26. font-size: 16px;
  27. font-weight: bold;
  28. }
  29. .style2 {
  30. font-size: 14px;
  31. font-weight: bold;
  32. }
  33. .style3 { font-family: Geneva, Arial, Helvetica, sans-serif;
  34. font-weight: bold;
  35. }
  36. -->
  37. </style></head>
  38.  
  39. <body>
  40. <div align="center">
  41. <table width="1000" border="0" cellpadding="0" cellspacing="0">
  42. <tr>
  43. <td colspan="10"> </td>
  44. </tr>
  45. <tr>
  46. <td colspan="10"><div align="center" class="style1">Simple Register page </div></td>
  47. </tr>
  48. <tr>
  49. <td colspan="10"><div align="center"><strong>Nazwa serwera </strong></div></td>
  50. </tr>
  51. <tr>
  52. <td colspan="10"><div align="center">Wykonawcy: </div></td>
  53. </tr>
  54. <tr>
  55. <td colspan="10">  </td>
  56. </tr>
  57.  
  58. <tr>
  59. <td colspan="3"><div align="center"></div></td>
  60. <td colspan="4" rowspan="15" valign="top"><div align="center">
  61. <p align="center" class="style3"><span class="b01"><strong>Stworz konto! </strong></span><br />
  62. </p>
  63. <form action="?op=register" method="post">
  64. <table width="258" border="0" align="center">
  65. <tr>
  66. <td width="107" height="20" class="b01"><strong>Login:</strong></td>
  67. <td width="141"><label>
  68. <input name="user" type="text" class="liteoption" id="user" size="15" maxlength="15" />
  69. </label></td>
  70. </tr>
  71. <tr>
  72. <td height="25" class="b01"><strong>Haslo:</strong></td>
  73. <td><input name="pass1" type="password" class="liteoption" id="pass1" size="15" maxlength="15" /></td>
  74. </tr>
  75. <tr>
  76. <td height="24" class="b01"><strong>Powtorz haslo: </strong></td>
  77. <td><input name="pass2" type="password" class="liteoption" id="pass2" size="15" maxlength="15" /></td>
  78. </tr>
  79. </table>
  80. <p align="center">
  81. <input name="submit" type="submit" class="liteoption" value="Create Account" />
  82. </p>
  83. </form>
  84. <div align="center">
  85. <?php
  86. if(isset($_POST['submit'])) {
  87. if(!$_POST['user'] || !$_POST['pass1'] || !$_POST['pass2']) {
  88. die('<strong>Musisz wypelnic wszystkie pola!!!<BR></strong>');
  89. }
  90. else {
  91. $user = $_POST['user'];
  92. $pass = md5('Lotto' .$_POST['pass1']. '');
  93. }
  94. $pass2 = md5('Lotto' .$_POST['pass2']. '');
  95. if(exi($user) != '0') {
  96. die("Username: '".$user."' is in use!");
  97. }
  98. if($pass != $pass2) {
  99. die('<strong>Hasla nie pasuja do siebie!</strong>');
  100. }
  101. $nww = nw($user, $pass);
  102. if ($nww){
  103. echo("<p class='b01'><strong>Rejestracja konta zakonczona pomyslnie!</strong></p>");
  104. }else {
  105. echo("<p class='b01'><strong>Rejestracja konta nie udala sie!</strong></p>");
  106. }}
  107. ?>
  108.  
  109.  
  110.  
  111. </body>
  112. </html>


config.php
  1. <?php
  2. $connection_string = 'DRIVER={SQL Server};SERVER=EMO\SQLEXPRESS;DATABASE=ACCOUNT_DBF';
  3. $user = 'sa';
  4. $pass = '123456';
  5. $connection = odbc_connect( $connection_string, $user, $pass );
  6.  
  7. function nw($N, $C){
  8. $reg = mssql_query("INSERT INTO ACCOUNT_TBL (account, password, isuse) VALUES( '$N', '$C', 'T')")or die(mssql_error());
  9. return $reg;
  10. }
  11. function exi($user){
  12. $check = mssql_query("SELECT * FROM ACCOUNT_TBL WHERE account = '$user'");
  13. $check2 = mssql_num_rows($check);
  14. return $check2;
  15. }
  16.  
  17. ?>




Jeszcze raz bardzo proszę o pomoc, gdyż nie mam pojęcia co to może być.

Pozdrawiam
prachwal
zdecyduj się ODBC czy MSSQL

praca na koncie SA jest głupia, złóż sobie konto i ustaw hasło - nabierasz złych nawyków

poczytaj manulan np.: http://pl2.php.net/function.mysql-connect
Cavatina
Cytat(prachwal @ 6.10.2009, 19:17:00 ) *
zdecyduj się ODBC czy MSSQL

praca na koncie SA jest głupia, złóż sobie konto i ustaw hasło - nabierasz złych nawyków

poczytaj manulan np.: http://pl2.php.net/function.mysql-connect


Kolego wspomniałem wyżej że jestem totalnie ZIELONY w tej sprawie, dlatego też pisze na forum.

Chcę po prostu aby to działało na tych danych co są i nic więcej.
Spawnm
Jeśli jesteś zielony i liczysz że ktoś coś zrobi za ciebie to umieszczaj temat w odpowiednim dziale.
Przenoszę.
Cavatina
Cytat(Spawnm @ 6.10.2009, 19:25:12 ) *
Jeśli jesteś zielony i liczysz że ktoś coś zrobi za ciebie to umieszczaj temat w odpowiednim dziale.
Przenoszę.

Przepraszam bardzo, lecz wydawał mi się to najbardziej odpowiedni dział. Gdyż sekcja "Poszukuję" raczej nie bardzo tutaj pasuje. Gdyz mój problem polega na tym że w skrypcie jest jakiś błąd i owszem poszukuje... lecz pomocy jak to naprawić. Rzeczy typu zmień to na to potrafię... lecz napisanie czegoś od początku nie bardzo.


Ponawiam prośbę.
prachwal
zadeklarowałeś połączenie przy pomocy rozszerzenia odbc, a chcesz pobierać za pomocą MSSQL - sugeruję pisać kod ze zrozumieniem a nie kleić na pałę
wiem z doświadczenia że będzie ci łatwiej później

polecam też stronę php i manual tam zawarty - jest mnóstwo przykładów do analizowania
jmail
od razu zauważę, że mogą być problemy ze sterownikiem SQL który jest dołączony do PHP, żeby z SQL Server sie połączyć. ściągnij sterownik dla PHP ze strony Microsoftu. Będzie tam dobra instrukcja jak go zainstalować a plik pomocy zawiera wszystko co potrzebujesz
Cavatina
Cytat(prachwal @ 6.10.2009, 22:54:04 ) *
zadeklarowałeś połączenie przy pomocy rozszerzenia odbc, a chcesz pobierać za pomocą MSSQL - sugeruję pisać kod ze zrozumieniem a nie kleić na pałę
wiem z doświadczenia że będzie ci łatwiej później

polecam też stronę php i manual tam zawarty - jest mnóstwo przykładów do analizowania

Zrobiłem tak ponieważ, gdy użyłem mssq_connect to w ogóle sie strona nie otwierała, dopiero jak zastapiłem to na ODBC to strona się wyświetliła, lecz po wypełnieniu pól i naciśnięciu "Create Account" wywala wyżej wymieniony błąd.


Cytat
od razu zauważę, że mogą być problemy ze sterownikiem SQL który jest dołączony do PHP, żeby z SQL Server sie połączyć. ściągnij sterownik dla PHP ze strony Microsoftu. Będzie tam dobra instrukcja jak go zainstalować a plik pomocy zawiera wszystko co potrzebujesz

Gdy to pobiorę nie będę musiał stosować ODBC?
Jeżeli tak to w ógóle jak nazywa się ten sterownik?


Panowie chciałbym dostać jasną pomoc.
- Co dodać/zmienić/usunąć.
jmail
lol?

albo robisz ODBC albo sterownikiem dedykowanym

TO że nie chciało Ci się otwierać dowodzi właśnie tego o czym mówiłem - wbudowany sterownik w PHP nie chce działać z SQL Server 2005+ Co do sterownika z MS nie będziesz musiał nic więcej używać.

http://www.microsoft.com/sqlserver/2005/en...PHP-Driver.aspx

Cavatina
Cytat(jmail @ 7.10.2009, 09:42:22 ) *
lol?

albo robisz ODBC albo sterownikiem dedykowanym

TO że nie chciało Ci się otwierać dowodzi właśnie tego o czym mówiłem - wbudowany sterownik w PHP nie chce działać z SQL Server 2005+ Co do sterownika z MS nie będziesz musiał nic więcej używać.

http://www.microsoft.com/sqlserver/2005/en...PHP-Driver.aspx

Ok zaraz zainstaluje i sprawdzę.


No niestety... to chyba musi leżeć wina po stronie kodu. Proszę was prześledźcie go i pomóżcie mi. Gdyż jest to kluczowy etap w moim projekcie... a nie mogę się z nim uporać już prawie od 2 tygodni:

config.php
  1. <?php
  2.  
  3. if(stristr($_SERVER['PHP_SELF'], "config.php")) die('Brak pliku config.php');
  4. $host = "EMO\SQLEXPRESS";
  5. $user = "sa";
  6. $pass = "123456";
  7. $db = "ACCOUNT_DBF";
  8.  
  9. mssql_connect($host,$user,$pass) or die(mssql_error());
  10. mssql_select_db($db) or die(mssql_error());
  11.  
  12. function nw($N, $C){
  13. $reg = mssql_query("INSERT INTO dbo.ACCOUNT_TBL (account, password, isuse) VALUES( '$N', '$C', 'T')")or die(mssql_error());
  14. return $reg;
  15. }
  16. function exi($user){
  17. $check = mssql_query("SELECT * FROM dbo.ACCOUNT_TBL WHERE account = '$user'");
  18. $check2 = mssql_num_rows($check);
  19. return $check2;
  20. }
  21.  
  22. ?>


index.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>WEB SITE - FLYFF SERVER </title>
  6. <?php
  7. require('config.php');
  8. ?>
  9.  
  10. <style type="text/css">
  11. <!--
  12. body,td,th {
  13. font-family: Geneva, Arial, Helvetica, sans-serif;
  14. font-size: 12px;
  15. color: #FFFFFF;
  16. }
  17. body {
  18. margin-left: 0px;
  19. margin-top: 0px;
  20. margin-right: 0px;
  21. margin-bottom: 0px;
  22. background-color: #666666;
  23. background-image: url(03_1024.jpg);
  24. }
  25. .style1 {
  26. font-size: 16px;
  27. font-weight: bold;
  28. }
  29. .style2 {
  30. font-size: 14px;
  31. font-weight: bold;
  32. }
  33. .style3 { font-family: Geneva, Arial, Helvetica, sans-serif;
  34. font-weight: bold;
  35. }
  36. -->
  37. </style></head>
  38.  
  39. <body>
  40. <div align="center">
  41. <table width="1000" border="0" cellpadding="0" cellspacing="0">
  42. <tr>
  43. <td colspan="10"> </td>
  44. </tr>
  45. <tr>
  46. <td colspan="10"><div align="center" class="style1">WEB SITE 1.0 - FLYFF SERVER </div></td>
  47. </tr>
  48. <tr>
  49. <td colspan="10"><div align="center"><strong>For Privates Servers </strong></div></td>
  50. </tr>
  51. <tr>
  52. <td colspan="10"><div align="center">Credits: </div></td>
  53. </tr>
  54. <tr>
  55. <td colspan="10">  </td>
  56. </tr>
  57.  
  58. <tr>
  59. <td colspan="3"><div align="center"></div></td>
  60. <td colspan="4" rowspan="15" valign="top"><div align="center">
  61. <p align="center" class="style3"><span class="b01"><strong>Create Account </strong></span><br />
  62. </p>
  63. <form action="?op=register" method="post">
  64. <table width="258" border="0" align="center">
  65. <tr>
  66. <td width="107" height="20" class="b01"><strong>Login:</strong></td>
  67. <td width="141"><label>
  68. <input name="user" type="text" class="liteoption" id="user" size="15" maxlength="15" />
  69. </label></td>
  70. </tr>
  71. <tr>
  72. <td height="25" class="b01"><strong>Password:</strong></td>
  73. <td><input name="pass1" type="password" class="liteoption" id="pass1" size="15" maxlength="15" /></td>
  74. </tr>
  75. <tr>
  76. <td height="24" class="b01"><strong>Repeat Password: </strong></td>
  77. <td><input name="pass2" type="password" class="liteoption" id="pass2" size="15" maxlength="15" /></td>
  78. </tr>
  79. </table>
  80. <p align="center">
  81. <input name="submit" type="submit" class="liteoption" value="Create Account" />
  82. </p>
  83. </form>
  84. <div align="center">
  85. <?php
  86. if(isset($_POST['submit'])) {
  87. if(!$_POST['user'] || !$_POST['pass1'] || !$_POST['pass2']) {
  88. die('<strong>You must fill in all of the feilds!!!<BR></strong>');
  89. }
  90. else {
  91. $user = $_POST['user'];
  92. $pass = md5('Lotto' .$_POST['pass1']. '');
  93. }
  94. $pass2 = md5('Lotto' .$_POST['pass2']. '');
  95. if(exi($user) != '0') {
  96. die("Username: '".$user."' is in use!");
  97. }
  98. if($pass != $pass2) {
  99. die('<strong>Passwords dont match!</strong>');
  100. }
  101. $nww = nw($user, $pass);
  102. if ($nww){
  103. echo("<p class='b01'><strong>Registration Complete!</strong></p>");
  104. }else {
  105. echo("<p class='b01'><strong>Registration Failed!</strong></p>");
  106. }}
  107. ?>
  108. </div>
  109. <p> </p>
  110. </div></td>
  111. <td width="141"> </td>
  112. <td width="10"> </td>
  113. <td width="128"> </td>
  114. </tr>
  115. <tr>
  116. <td colspan="3"><div align="center" class="style2">Server Status </div></td>
  117. <td colspan="3"><div align="center"><span class="style2">Server INFO </span></div></td>
  118. </tr>
  119. <tr>
  120. <td width="145"> </td>
  121. <td> </td>
  122. <td> </td>
  123. <td> </td>
  124. <td> </td>
  125. <td> </td>
  126. </tr>
  127. </table>
  128. </div>
  129. </body>
  130. </html>



A błąd nazwa się:
Fatal error: Call to undefined function mssql_connect() in C:\Program Files\WebServ\httpd\config.php on line 9
prachwal
Cytat(jmail @ 7.10.2009, 09:42:22 ) *
wbudowany sterownik w PHP nie chce działać z SQL Server 2005+ Co do sterownika z MS nie będziesz musiał nic więcej używać.


nie wiesz o czym piszesz
wbudowany sterownik będzie działał jak PHP będzie widział bibliotekę http://www.userscape.com/ntwdblib.dll

np. umieszczając ją w katalogu \bin apache

Temat: MSSQL EXPRESS i php 5



Cytat(Cavatina @ 7.10.2009, 14:37:24 ) *
No niestety... to chyba musi leżeć wina po stronie kodu. Proszę was prześledźcie go i pomóżcie mi. Gdyż jest to kluczowy etap w moim projekcie... a nie mogę się z nim uporać już prawie od 2 tygodni:
A błąd nazwa się:
Fatal error: Call to undefined function mssql_connect() in C:\Program Files\WebServ\httpd\config.php on line 9


odnoszę wrażenie że masz poważne braki z logicznego myślenia
mając 2 tygodnie czasu oraz google na pewno byś odnalazł ten link
http://www.phpfreaks.com/forums/index.php?topic=197064.0

podpowiem ci co wpisałem do googla http://www.google.pl/search?hl=pl&sour...amp;aq=&oq=

Cavatina
Cytat(prachwal @ 7.10.2009, 17:21:44 ) *
odnoszę wrażenie że masz poważne braki z logicznego myślenia
mając 2 tygodnie czasu oraz google na pewno byś odnalazł ten link
http://www.phpfreaks.com/forums/index.php?topic=197064.0

podpowiem ci co wpisałem do googla http://www.google.pl/search?hl=pl&sour...amp;aq=&oq=


Widziałem tą stronę... zrobiłem tak jak tam pisza czyli wywaliłem ";" z odpowiedniej lini i dalej dupa.

Powiedzcie normalnie na chłopski rozum, co mam zrobić z tym fantem?
Nie możecie wprost powiedzieć że to zmień na to, to usuń, dodaj i gitara... po to napisałem ten temat.


#Edit:

Znalazłem i wykonałem zapytanie:
  1. <?php
  2.  
  3. if (function_exists('mssql_fetch_row')) {
  4. echo "MSSQL functions are available.<br />\n";
  5. } else {
  6. echo "MSSQL functions are not available.<br />\n";
  7. }
  8.  
  9. ?>

I w efekcie otrzymałem:
MSSQL functions are not available
Nie wiem co może być przyczyną tego. Używam WebServ`a z php 5.
prachwal
na chłopski rozum
biblioteka rozszerzająca do PHP nie korzysta sama z siebie z MSSQL-a potrzebuje biblioteki ntwdblib.dll, a tego pliku nie masz
http://www.userscape.com/ntwdblib.dll
umieść ją w katalogu widocznym dla rozszerzenia MSSQL np. C:\Program Files\WebServ\bin - pewien nie jestem bo nie mam tego zainstalowanego

czyli kopjujesz plik, i robisz restart apache - powinno działać

jak nie zadziała po skopiowaniu do tego katalogu to skopjuj do katalogu windows\system32 - wtedy zadziała napewno

Cavatina
I wszystko działa jak powinno.
Dzięki wielce za poświęcony czas dla mnie.
Oczywiście + dla Ciebie.


A i mam jeszcze jedno pytanko:
- Macie jakąś stronkę, czy też możecie powiedzieć mi jak zrobić taki obrazek antyboterski z numerkami do przepisania? biggrin.gif
jmail
wpisz w google captcha - wyjedzie ci milion stron +
Cavatina
Dobra wszystko działa jak należy.
Dziękuję ślicznie za pomoc.

Ogłaszam że problem został rozwiązany, także temat można zamknąć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.