Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][PostgreSQL]Logowanie do bazy danych - w jednym pliku
Forum PHP.pl > Forum > Przedszkole
gustafitka
Potrzebuje pliku konfiguracyjnego który mi pomoże logować się do bazy danych. Mam w swoim programie trochę skryptów i raz na jakiś czas zmieniam nazwe bazy danych. I nie chcę w każdym skrypcie poprawiać nazwy bazy.

Mam przyklad takiego skryptu konfiguracyjnego lecz nie dziala bo wyrzuca mi błedy.Baza jest postawiona na posgresie

Skrypt konfiguracyjny

  1. <?php
  2.  define('DB_SERVER', 'localhost');
  3.  define('DB_SERVER_USERNAME', 'postgres');
  4.  define('DB_SERVER_PASSWORD', 'postgres');
  5.  define('DB_DATABASE', 'postgres');
  6. ?>


A to jeden ze skryptów

  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  4. <LINK REL="Stylesheet" HREF="styl1.css" TYPE="text/css">
  5. </head>
  6. <body>
  7. <form method="post" action="szukanie.php">
  8. <table>
  9. <tbody>
  10. <tr>
  11. <td> Wyszukiwanie zatrudnienia : <input name="stanowisko" value="" size="20" maxlength="20" type="text"> <br> </td>
  12. </tr>
  13. <tr>
  14. <td> Wyszukiwanie placy: <input name="placa" value="" size="20" maxlength="20" type="text"> <br></td>
  15. </tr>
  16. <tr>
  17. <td>
  18. <br>
  19. Nowe szukanie: <br>
  20. </td>
  21. </tr>
  22. <tr>
  23. <td> <input name="SUBMIT" value="Przeslij dane" type="submit">
  24. <p><br>
  25. <input value="Kasuj" dane="" type="reset">
  26. <p><a href='main.php'>Powr�t do wyboru funkcji.</a>
  27. </p>
  28. </td>
  29. </tr>
  30. </tbody>
  31. </table>
  32. </form>
  33. <?php
  34. $NAZWISKO=$_POST['placa'];
  35. if ( strlen($NAZWISKO)>0 ): $NAZWISKO = addslashes($NAZWISKO);
  36. // poďż˝&scaron;czenie z baz&scaron;
  37. $polaczenie = pg_Connectpg_connect("DB_DATABASE DB_SERVER_USERNAME port=5432 DB_SERVER_PASSWORD DB_SERVER" );
  38. if (!$polaczenie){ echo "Brak poďż˝&scaron;czenia z baz&scaron;.<br>"; exit; }
  39. // szukanie w bazie
  40. $wynik = pg_Exec($polaczenie, "SELECT * FROM pracownicy WHERE nazwisko ILIKE '$NAZWISKO%'  ");
  41. if (pg_NumRows($wynik)==0) {
  42. //Je?li liczba wierszy jest zero
  43. echo "Nie znaleziono odpowiadajacych rekordow w bazie.<br>";
  44. echo "<p><a href='szukanie.php'>Ponowne wyszukiwanie</a>"; exit; }
  45. // wy�wietlenie odnalezionych rekord�w
  46. $liczba_rekordow = pg_NumRows($wynik);
  47. for ( $i=0; $i<$liczba_rekordow; $i++ ){ $imie = pg_Result($wynik, $i, "imie"); $pesel = pg_Result($wynik, $i, "pesel"); // a tutaj co mam dodaďż˝
  48. $ID_USERA=pg_Result($wynik, $i, "id_pracownicy");
  49. $wynik_id = pg_Exec($polaczenie, "SELECT brutto,stanowisko FROM place,stanowisko WHERE id_place='$ID_USERA' and id_stanowisko='$ID_USERA' "); // zapytanie questionmark.gifquestionmark.gif
  50. if (pg_NumRows($wynik_id)==0) {
  51. echo "Nie znaleziono odpowiadajacych rekordow w bazie.<br>";
  52. echo "<p><a href='szukanie.php'>Ponowne wyszukiwanie</a>";
  53. exit; }
  54. // wy�wietlenie odnalezionych rekord�w
  55. $liczba_rekordow_id = pg_NumRows($wynik_id);
  56. for ( $z=0; $z<$liczba_rekordow; $z++ )
  57. {
  58. $brutto = pg_Result($wynik_id, $z, "brutto");
  59. $stanowisko = pg_Result($wynik_id, $z, "stanowisko");
  60. }
  61. $NAZWISKO = pg_Result($wynik, $i, "nazwisko");
  62. echo "<h3>Dane osobowe pracownika </h3> ";
  63. echo '<table cellpadding=5 border=1>';
  64. echo "<tr><td><b>Imie:$imie </b></td>  ";
  65. echo "<td><b>Nazwisko: $NAZWISKO </b></td> ";
  66. echo "<td><b>Pesel: $pesel </b></td></tr> ";
  67. echo "</TABLE>";
  68.  
  69. echo "<h4>Dane o pďż˝acy i stanowisku  </h4> ";
  70. echo '<table cellpadding=5 border=1>';
  71. echo "<tr><td><b> Stanowisko: $stanowisko </td></b> ";
  72. echo "<td><b>Pensja brutto: $brutto </td><b></tr> ";
  73. echo "</TABLE>";
  74. }
  75. echo "<p><a href='szukanie.php'>Ponowne wyszukiwanie</a></p>";
  76. exit; endif;
  77. ?>
  78.  
  79. <?php
  80. $NAZWISKO=$_POST['stanowisko'];
  81. if ( strlen($NAZWISKO)>0 ): $NAZWISKO = addslashes($NAZWISKO);
  82. // poďż˝&scaron;czenie z baz&scaron;
  83. $polaczenie = pg_connect("DB_DATABASE DB_SERVER_USERNAME port=5432 DB_SERVER_PASSWORD DB_SERVER" );
  84. if (!$polaczenie){ echo "Brak poďż˝&scaron;czenia z baz&scaron;.<br>"; exit; }
  85. // szukanie w bazie
  86. $wynik = pg_Exec($polaczenie, "SELECT * FROM pracownicy WHERE pesel ILIKE '$NAZWISKO%'  ");
  87. if (pg_NumRows($wynik)==0) {
  88. //Je?li liczba wierszy jest zero
  89. echo "Nie znaleziono odpowiadajacych rekordow w bazie.<br>";
  90. echo "<p><a href='szukanie.php'>Ponowne wyszukiwanie</a>"; exit; }
  91. // wy�wietlenie odnalezionych rekord�w
  92. $liczba_rekordow = pg_NumRows($wynik);
  93. for ( $i=0; $i<$liczba_rekordow; $i++ ){ $imie = pg_Result($wynik, $i, "imie"); $pesel = pg_Result($wynik, $i, "pesel"); // a tutaj co mam dodaďż˝
  94. $ID_USERA=pg_Result($wynik, $i, "id_pracownicy");
  95. $wynik_id = pg_Exec($polaczenie, "SELECT * FROM stanowisko WHERE id_stanowisko='$ID_USERA' ");
  96. if (pg_NumRows($wynik_id)==0) {
  97. echo "Nie znaleziono odpowiadajacych rekordow w bazie.<br>";
  98. echo "<p><a href='szukanie.php'>Ponowne wyszukiwanie</a>";
  99. exit; }
  100. // wy�wietlenie odnalezionych rekord�w
  101. $liczba_rekordow_id = pg_NumRows($wynik_id);
  102. for ( $z=0; $z<$liczba_rekordow; $z++ )
  103. {
  104. $stanowisko = pg_Result($wynik_id, $z, "stanowisko");
  105. //$od_st = pg_Result($wynik_id, $z, "od_st"); /do poprawki
  106. //$do_st = pg_Result($wynik_id, $z, "do_st");
  107. }
  108. $NAZWISKO = pg_Result($wynik, $i, "nazwisko");
  109.  
  110. echo "<h3>Dane osobowe pracownika </h3> ";
  111. echo '<table cellpadding=5 border=1>';
  112. echo "<tr><td><b>Imie:$imie </b></td>  ";
  113. echo "<td><b>Nazwisko: $NAZWISKO </b></td> ";
  114. echo "<td><b>Pesel: $pesel </b></td></tr> ";
  115. echo "</TABLE>";
  116.  
  117. echo "<h3>Dane zatrudnienia pracownika.</h3> ";
  118. echo '<table cellpadding=5 border=1>';
  119.       $zap = pg_query($polaczenie, "SELECT * FROM stanowisko_od INNER JOIN stanowisko ON stanowisko.id_stanowisko = stanowisko_od.id_stanowisko WHERE id_pracownicy ='$ID_USERA'" );
  120.       while ($dane = pg_fetch_object($zap)) {
  121.       echo "<tr><td><b>Stanowisko: $dane->stanowisko </td></b> "; // a tu wypisuje co ma byc wypisane
  122.       echo "<td><b>od kiedy: $dane->od_data <br> </td></b>"; // a tu wypisuje co ma byc wypisane
  123. //echo "<td><b>do kiedy: $do_st </td></b> "; // a tu wypisuje co ma byc wypisane
  124.    
  125.       }
  126.       echo "</TABLE>";
  127.       }
  128. // koniec p�tli for
  129. // Ponowne wyszukiwanie:
  130. echo "<p><a href='szukanie.php'>Ponowne wyszukiwanie</a></p>";
  131. echo "<p><a href='dodaj.php?edycja= $ID_USERA'>Edycja pracownika</a></p>";
  132. exit; endif;
  133. ?>
  134. </p>
  135. </body>
  136. </html>


Jednak jezeli stosuje normalna metode to pg_Connect wyglada tak :
  1. <?php
  2. pg_Connect("dbname=postgres user=postgres port=5432 password=postgres host=localhost");
  3. ?>


A bład który mi wyskakuje wyglada jest nastepujacy:

Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: missing "=" after "DB_DATABASE" in connection info string in D:\Program files\xampp\htdocs\11\szukanie.php on line 83

Z góry dziekuje i czekam na pomoc
Noddi
  1. <?php
  2. include("config.php");
  3.  
  4. // ...
  5.  
  6. $polaczenie = pg_connect("dbname=DB_DATABASE user=DB_SERVER_USERNAME port=5432 password=DB_SERVER_PASSWORD host=DB_SERVER" );
  7.  
  8. // ...
  9. ?>


Wszystko jak byk napisane w komunikacie błędu.
gustafitka
Zrobiłem tak jak zostalo podane lecz nadal mi wywala mi błedy tylko teraz inny:

Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not translate host name "DB_SERVER" to address: Unknown host in D:\Program files\xampp\htdocs\11\szukanie.php on line 38
i taki sam do linijki

Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not translate host name "DB_SERVER" to address: Unknown host in D:\Program files\xampp\htdocs\11\szukanie.php on line 85

Może źle poprawilem ten skrypt.

  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  4. <LINK REL="Stylesheet" HREF="styl1.css" TYPE="text/css">
  5. </head>
  6. <body>
  7. <form method="post" action="szukanie.php">
  8. <table>
  9. <tbody>
  10. <tr>
  11. <td> Wyszukiwanie zatrudnienia : <input name="stanowisko" value="" size="20" maxlength="20" type="text"> <br> </td>
  12. </tr>
  13. <tr>
  14. <td> Wyszukiwanie placy: <input name="placa" value="" size="20" maxlength="20" type="text"> <br></td>
  15. </tr>
  16. <tr>
  17. <td>
  18. <br>
  19. Nowe szukanie: <br>
  20. </td>
  21. </tr>
  22. <tr>
  23. <td> <input name="SUBMIT" value="Przeslij dane" type="submit">
  24. <p><br>
  25. <input value="Kasuj" dane="" type="reset">
  26. <p><a href='main.php'>Powr�t do wyboru funkcji.</a>
  27. </p>
  28. </td>
  29. </tr>
  30. </tbody>
  31. </table>
  32. </form>
  33. <?php
  34. include("config.php");
  35. $NAZWISKO=$_POST['placa'];
  36. if ( strlen($NAZWISKO)>0 ): $NAZWISKO = addslashes($NAZWISKO);
  37. // poďż˝&scaron;czenie z baz&scaron;
  38. $polaczenie = pg_connect("dbname=DB_DATABASE user=DB_SERVER_USERNAME port=5432 password=DB_SERVER_PASSWORD host=DB_SERVER" );
  39. if (!$polaczenie){ echo "Brak poďż˝&scaron;czenia z baz&scaron;.<br>"; exit; }
  40. // szukanie w bazie
  41. $wynik = pg_Exec($polaczenie, "SELECT * FROM pracownicy WHERE nazwisko ILIKE '$NAZWISKO%'  ");
  42. if (pg_NumRows($wynik)==0) {
  43. //Je?li liczba wierszy jest zero
  44. echo "Nie znaleziono odpowiadajacych rekordow w bazie.<br>";
  45. echo "<p><a href='szukanie.php'>Ponowne wyszukiwanie</a>"; exit; }
  46. // wy�wietlenie odnalezionych rekord�w
  47. $liczba_rekordow = pg_NumRows($wynik);
  48. for ( $i=0; $i<$liczba_rekordow; $i++ ){ $imie = pg_Result($wynik, $i, "imie"); $pesel = pg_Result($wynik, $i, "pesel"); // a tutaj co mam dodaďż˝
  49. $ID_USERA=pg_Result($wynik, $i, "id_pracownicy");
  50. $wynik_id = pg_Exec($polaczenie, "SELECT brutto,stanowisko FROM place,stanowisko WHERE id_place='$ID_USERA' and id_stanowisko='$ID_USERA' "); // zapytanie questionmark.gifquestionmark.gif
  51. if (pg_NumRows($wynik_id)==0) {
  52. echo "Nie znaleziono odpowiadajacych rekordow w bazie.<br>";
  53. echo "<p><a href='szukanie.php'>Ponowne wyszukiwanie</a>";
  54. exit; }
  55. // wy�wietlenie odnalezionych rekord�w
  56. $liczba_rekordow_id = pg_NumRows($wynik_id);
  57. for ( $z=0; $z<$liczba_rekordow; $z++ )
  58. {
  59. $brutto = pg_Result($wynik_id, $z, "brutto");
  60. $stanowisko = pg_Result($wynik_id, $z, "stanowisko");
  61. }
  62. $NAZWISKO = pg_Result($wynik, $i, "nazwisko");
  63. echo "<h3>Dane osobowe pracownika </h3> ";
  64. echo '<table cellpadding=5 border=1>';
  65. echo "<tr><td><b>Imie:$imie </b></td>  ";
  66. echo "<td><b>Nazwisko: $NAZWISKO </b></td> ";
  67. echo "<td><b>Pesel: $pesel </b></td></tr> ";
  68. echo "</TABLE>";
  69.  
  70. echo "<h4>Dane o pďż˝acy i stanowisku  </h4> ";
  71. echo '<table cellpadding=5 border=1>';
  72. echo "<tr><td><b> Stanowisko: $stanowisko </td></b> ";
  73. echo "<td><b>Pensja brutto: $brutto </td><b></tr> ";
  74. echo "</TABLE>";
  75. }
  76. echo "<p><a href='szukanie.php'>Ponowne wyszukiwanie</a></p>";
  77. exit; endif;
  78. ?>
  79.  
  80. <?php
  81. include("config.php");
  82. $NAZWISKO=$_POST['stanowisko'];
  83. if ( strlen($NAZWISKO)>0 ): $NAZWISKO = addslashes($NAZWISKO);
  84. // poďż˝&scaron;czenie z baz&scaron;
  85. $polaczenie = pg_connect("dbname=DB_DATABASE user=DB_SERVER_USERNAME port=5432 password=DB_SERVER_PASSWORD host=DB_SERVER" );
  86. if (!$polaczenie){ echo "Brak poďż˝&scaron;czenia z baz&scaron;.<br>"; exit; }
  87. // szukanie w bazie
  88. $wynik = pg_Exec($polaczenie, "SELECT * FROM pracownicy WHERE pesel ILIKE '$NAZWISKO%'  ");
  89. if (pg_NumRows($wynik)==0) {
  90. //Je?li liczba wierszy jest zero
  91. echo "Nie znaleziono odpowiadajacych rekordow w bazie.<br>";
  92. echo "<p><a href='szukanie.php'>Ponowne wyszukiwanie</a>"; exit; }
  93. // wy�wietlenie odnalezionych rekord�w
  94. $liczba_rekordow = pg_NumRows($wynik);
  95. for ( $i=0; $i<$liczba_rekordow; $i++ ){ $imie = pg_Result($wynik, $i, "imie"); $pesel = pg_Result($wynik, $i, "pesel"); // a tutaj co mam dodaďż˝
  96. $ID_USERA=pg_Result($wynik, $i, "id_pracownicy");
  97. $wynik_id = pg_Exec($polaczenie, "SELECT * FROM stanowisko WHERE id_stanowisko='$ID_USERA' ");
  98. if (pg_NumRows($wynik_id)==0) {
  99. echo "Nie znaleziono odpowiadajacych rekordow w bazie.<br>";
  100. echo "<p><a href='szukanie.php'>Ponowne wyszukiwanie</a>";
  101. exit; }
  102. // wy�wietlenie odnalezionych rekord�w
  103. $liczba_rekordow_id = pg_NumRows($wynik_id);
  104. for ( $z=0; $z<$liczba_rekordow; $z++ )
  105. {
  106. $stanowisko = pg_Result($wynik_id, $z, "stanowisko");
  107. //$od_st = pg_Result($wynik_id, $z, "od_st"); /do poprawki
  108. //$do_st = pg_Result($wynik_id, $z, "do_st");
  109. }
  110. $NAZWISKO = pg_Result($wynik, $i, "nazwisko");
  111.  
  112. echo "<h3>Dane osobowe pracownika </h3> ";
  113. echo '<table cellpadding=5 border=1>';
  114. echo "<tr><td><b>Imie:$imie </b></td>  ";
  115. echo "<td><b>Nazwisko: $NAZWISKO </b></td> ";
  116. echo "<td><b>Pesel: $pesel </b></td></tr> ";
  117. echo "</TABLE>";
  118.  
  119. echo "<h3>Dane zatrudnienia pracownika.</h3> ";
  120. echo '<table cellpadding=5 border=1>';
  121.       $zap = pg_query($polaczenie, "SELECT * FROM stanowisko_od INNER JOIN stanowisko ON stanowisko.id_stanowisko = stanowisko_od.id_stanowisko WHERE id_pracownicy ='$ID_USERA'" );
  122.       while ($dane = pg_fetch_object($zap)) {
  123.       echo "<tr><td><b>Stanowisko: $dane->stanowisko </td></b> "; // a tu wypisuje co ma byc wypisane
  124.       echo "<td><b>od kiedy: $dane->od_data <br> </td></b>"; // a tu wypisuje co ma byc wypisane
  125. //echo "<td><b>do kiedy: $do_st </td></b> "; // a tu wypisuje co ma byc wypisane
  126.    
  127.       }
  128.       echo "</TABLE>";
  129.       }
  130. // koniec p�tli for
  131. // Ponowne wyszukiwanie:
  132. echo "<p><a href='szukanie.php'>Ponowne wyszukiwanie</a></p>";
  133. echo "<p><a href='dodaj.php?edycja= $ID_USERA'>Edycja pracownika</a></p>";
  134. exit; endif;
  135. ?>
  136. </p>
  137. </body>
  138. </html>


A plik konfiguracyjny zmienilem na zwe na config.php

Czekam na podpowiedzi...
erix
  1. <?php
  2. $polaczenie = pg_connect("dbname=DB_DATABASE user=DB_SERVER_USERNAME port=5432 password=DB_SERVER_PASSWORD host=DB_SERVER" );
  3. ?>

Stałych nie podstawisz tak, jak zmiennych, w cudzysłów:
  1. <?php
  2. $polaczenie = pg_connect("dbname=".DB_DATABASE." user=".DB_SERVER_USERNAME." port=5432 password=".DB_SERVER_PASSWORD." host=".DB_SERVER );
  3. ?>


Podstawy się kłaniają.
gustafitka
Dzieki za pomoc

Wszystko działa lecz jednak jak chce abym sie zalogować to wyskakuje mi bład. W skrypcie logowania i nie wiem czemu.
Może nie wolno -
  1. <?php
  2. include("config.php")
  3. ?>
czegos takiego wstawiac do skryptu z sesja lub gdzies indziej sie wstawia.

To jest skrypt logowania :

  1. <?
  2. ;
  3. // Sekcja wylogowywania, kasuje wszystkie zmienne sesyjne
  4. if ($_GET['logout']='end'){
  5. //session_destroy();
  6. //   $message=""; // Wiadomo�� po wylogowaniu
  7. }
  8. include("config.php");
  9. // Sekcja logowania
  10. $login=$_POST['login'];
  11. if($login) {
  12. // W momencie klikni�cia w przycisk formularza
  13. $uzytkownik=$_POST['uzytkownik'];
  14. $md5_haslo=md5($_POST['haslo']);
  15.  // Koduje hasďż˝o funkcjďż˝ md5().
  16.  
  17. $baza = pg_connect("dbname=".DB_DATABASE." user=".DB_SERVER_USERNAME." port=5432 password=".DB_SERVER_PASSWORD." host=".DB_SERVER );
  18. $rezultat=pg_query("select * FROM logowanie WHERE uzytkownik='$uzytkownik' AND haslo='$md5_haslo'");
  19.   if(@pg_num_rows($rezultat)){
  20.  
  21.   session_register("uzytkownik"); // Zapamiďż˝tuje zmiennďż˝ sesji
  22.  
  23.   header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/main.php");
  24.  exit;
  25.  }else {
  26.  $message="Nieprawidďż˝owa nazwa uďż˝ytkownika lub hasďż˝o";
  27.  }
  28. } // Koniec sprawdzania autoryzacji.
  29. ?>
  30. <head>
  31.  
  32. <title>Dokument</title>
  33. <LINK REL="Stylesheet" HREF="styl1.css" TYPE="text/css">
  34. </head>
  35.  <body>
  36. <? echo $message; ?>
  37. <form id="form1" name="form1" method="post" action="<? echo $PHP_SELF; ?>">
  38.  <table>
  39.    <tr>
  40.      <td>Uďż˝ytkownik: </td>
  41.      <td><input name="uzytkownik" type="text" id="uzytkownik" /></td>
  42.    </tr>
  43.    <tr>
  44.      <td>Hasďż˝o: </td>
  45.      <td><input name="haslo" type="password" id="haslo" /></td>
  46.    </tr>
  47.  </table>
  48. <input name="login" type="submit" id="login" value="login" />
  49. <p><a href="index.html"><h2>Powr�d do wyboru u�ytkownika</h2></a></p>
  50. </form>
  51. </body>
  52. </html>


A bład który mi wyskakuje jest taki :

[Parse error: syntax error, unexpected '[' in D:\Program files\xampp\htdocs\11\logowanie.php on line 13

Co do tej linijki :

  1. <?php
  2. $login=_POST['login'];
  3. ?>


Prosze o pomoc.Cały czas sie ucze .... i idzie mi to powoli
erix
Pilnuj średników, tyle powiem. winksmiley.jpg
gustafitka
Poprawiłem tak mi się zdaje wszystkie znaczniki lecz jednak nadal wyskakuje mi ten błąd do linijki 13.
I naprawdę już nie wiem o co mu chodzi...

Pomocy
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.