Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Przesyłanie zmiennych między podstronami
Forum PHP.pl > Forum > Przedszkole
Barni
Piszę skrypt instalacyjny pod blog, który wygeneruje plik config.php z
danymi do połączenia się z serwerem. Skrypt składa z pliku install.php,
w którym zawarte są wszystkie odwołania do formularzy, a każdy kolejny
formularz wchodzi się poprzez url install.php?page=form1 itd za pomocą
metody get

Formularze są inkludowane i osadzone w oddzielnych plikach

Kod form1.html:

  1. <form action="install.php?page=form1" method=post>
  2. Nazwa bazy: <input type="text" id="nbazy" /> <br>
  3. Adres bazy: <input type="text" id="adresbazy" /> <br>
  4. Login: <input type="text" id="loginbazy" /> <br>
  5. Haslo: <input type="password" id="haslobazy" /> <br>
  6. <input type="submit" value="Dalej" />
  7. </form>


Kod install.php

  1. <?php
  2.  
  3.  
  4.  
  5.  
  6. $brakpraw = false; // odpowiada za sprawdzenie, czy można
  7. kontynuować
  8.  
  9. if( !isset ($_GET['page']) )
  10. {
  11. if (!is_writable( "../config.php" ))
  12. {
  13. echo '<p class="ostrzezenie">Plik config.php nie ma praw do
  14. zapisu!</p><br>';
  15. $brakpraw = true;
  16. }
  17.  
  18. if( !is_writable("../pliki"))
  19. {
  20. echo '<p class="ostrzezenie">Folder pliki nie ma uprawnien
  21. do zapisu, nadaj uprawnienia 777</p><br>';
  22. $brakpraw = true;
  23. }
  24.  
  25. if( !is_writable("../obrazki"))
  26. {
  27. echo '<p class="ostrzezenie">Folder obrazki nie ma
  28. uprawnien do zapisu, nadaj uprawnienia 777!</p><br>';
  29. $brakpraw = true;
  30. }
  31.  
  32. if ($brakpraw)
  33. {
  34. echo '<p class"ostrzezenie">Cos jest nie tak! Ustaw
  35. uprawnienia i odswiez strone!</p><br>';
  36. }
  37. else
  38. {
  39. require_once 'include/form1.html';
  40. }
  41.  
  42.  
  43.  
  44. }
  45. else
  46. if($_GET['page'] == 'form1')
  47. {
  48. $nbazy = $_POST['nbazy'];
  49. $adresbazy = $_POST['adresbazy'];
  50. $loginbazy = $_POST['loginbazy'];
  51. $haslobazy = $_POST['haslobazy'];
  52.  
  53. global $db;
  54. $db = @mysqli_connect( $adresbazy, $loginbazy, $haslobazy,
  55. $nbazy );
  56.  
  57. if(mysqli_connect_errno())
  58. {
  59. echo '<p class="bladbazy">Nie mozna polaczyc sie z
  60. baza! Popraw dane!</p><br><br>';
  61. require_once 'include/form1.html';
  62.  
  63. }
  64. }
  65.  
  66. ?>



Problem polega na tym, że odpalam skrypt i wypełniam formularz, po
kliknięciu na submit formularza dostaję komunikat:

Notice: Undefined index: nbazy in /var/www/blog/install/install.php on line
55 Notice: Undefined index: adresbazy in /var/www/blog/install/install.php
on line 56 Notice: Undefined index: loginbazy in
/var/www/blog/install/install.php on line 57 Notice: Undefined index:
haslobazy in /var/www/blog/install/install.php on line 58

Wytłumaczycie, dlaczego nie widzi tych zmiennych? smile.gif Od razu
mówię, że usunięcie zmiennych krótkich i wpisanie do funkcji
mysqli_connect zmiennych $_POST jako parametrów nie przynosi rezultatów.
Pomóżcie, pozdrawiam smile.gif
PanGuzol
W formularzu dodaj atrybut name do twoich inputów.
Nazwy indeksów w tablicach get i post są nadawane na podstawie name nie id.
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.