Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Instalator skryptu
Forum PHP.pl > Forum > Przedszkole
Raven1122
Witam, robie instalatora ksiegi gosci opartej na mysql i teraz w instalatorze mam takie cos:

W tym kroku instalacji sprawdzimy połączenie z bazą danych. Należy wypełnić poniższy formularz:

Host:
Nazwa bazy danych:
Nazwa użytkownika bazy danych:
Hasło do bazy danych:
Powtórz hasło do bazy danych:
Prefiks Tabeli:

No i po dwukropkach sa pola i w pliku functions.php mam funkcje do laczenia sie z baza.
I chce zrobic tak aby po sprawdzeniu czy nawiaze polaczenia z baza danych te dane: localhost, user, password i nazwa bazy danych sie wpisywaly w plik functions, ma ktos jakas idee?

ktos pomoze?
memory
sesje ?

sesje
Raven1122
no tak, ale przeciez to musi zostac w tym pliku "na zawsze"
memory
fopen
Raven1122
no tak, ale jak pokazac mu w ktorym miejscu wstawic to w ktorym to a w ktorym to?
jason3
Zapoznaj się z operacjami na plikach.
Po wysłaniu formularza zapisz do pliku gotowy kod z podstawionymi danymi.
Raven1122
a jezeli mam gotowy plik z funkcjami, to moge go edytowac i na samym poczatku dodac funkcje laczenia sie z baza danych bez suwania reszty?
Majkelo23
Zrób to tak jak w phpBB - podczas instalacji plik config.php jest pusty. Po dokonaniu instalacji i sprawdzeniu czy połączenie jest OK, edytuj ten plik, tworząc w nim zawartość:

  1. <?php
  2.  
  3. $localhost = 'localhost';
  4. $user = 'test';
  5. $pass = 'tester123';
  6. $database_name = 'moja_baza';
  7.  
  8. ?>


W functions.php zrób require_once('config.php') i wypełnij dane do łączenia ww. zmiennymi.
Raven1122
Majkelo, o to wlasnie chodzilo! biggrin.gif Dzieki za odpowiedz daje pomogl smile.gif

No tak,ucieszylem sie za szybko ;p

Wiec:
instalator sprawdza czy polaczone z baza danych i zapisuje do pliku config.php dane:
  1. <?php
  2. $host = $_POST['host'];
  3. $user = $_POST['user'];
  4. $name = $_POST['name'];
  5. $password = $_POST['password'];
  6. $prefix = $_POST['prefix'];
  7.  
  8. if(!empty($host) && !empty($user) && !empty($password)){
  9. $connect = mysql_connect($host, $user, $password);
  10. if($connect == true){
  11. $selectdb = mysql_select_db($name);
  12. if($selectdb == true){
  13. $open = fopen('../../config.php', 'a');
  14. $add = "
  15. <?php
  16. \$host = \"$host\";
  17. \$user = \"$user\";
  18. \$name = \"$name\";
  19. \$password = \"$password\";
  20. \$prefix = \"$prefix\";
  21. ?>
  22. ";
  23. fwrite($open, $add);
  24. header("Location:../?step=step4&connect=true");
  25. }
  26. else{
  27. header("Location:../?step=step4&connect=false");
  28. }
  29. }
  30. else{
  31. header("Location:../?step=step4&connect=false");
  32. }
  33. }
  34. else{
  35. header("Location:../?step=step4&connect=false");
  36. }
  37. ?>



No i w pliku config rzeczywiscie jest:
  1. <?php
  2. $host = "localhost";
  3. $user = "guestbook";
  4. $name = "guestbook_user";
  5. $password = "password";
  6. $prefix = "guestbook_";
  7. ?>


no i funkcje:
  1. <?php
  2. require_once("./config.php");
  3.  
  4. function connect(){
  5. mysql_connect ($host, $user, $password);
  6. mysql_select_db ($name);
  7. mysql_query('SET NAMES \'utf8\'');
  8. mysql_query("SET NAMES utf8");
  9. mysql_query("SET CHARACTER SET utf8");
  10. mysql_query("SET collation_connection = utf8_polish_ci");
  11. }
  12. ?>


No i teraz wszedzie gdzie includuje functions.php to wyswietla mi sie:
localhost = localhost; guestbook = guestbook; guestbook_user = guestbook_user; password = password; guestbook_ = guestbook;
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.