Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyświetlanie tekstu, a przekierowanie
Forum PHP.pl > Forum > Przedszkole
gamer
Witam,

Męczę się od kilkunastu z kodem. Mam kłopot z wyświetleniem informacji po wysłaniu formularzu a przed przekierowaniem.
Kod wygląda tak
  1. if (!empty($_POST['host']) && !empty($_POST['user']) && !empty($_POST['password']) && !empty($_POST['db'])){ // Sprawdz czy nie został przesłany pusty formularz
  2.  
  3. $mysqlData[0] = $_POST['host'];
  4. $mysqlData[1] = $_POST['user'];
  5. $mysqlData[2] = $_POST['password'];
  6. $mysqlData[3] = $_POST['db'];
  7.  
  8. print_r ('Dane są poprawne.');
  9. sleep(10);
  10. header('Location: http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/' . 'install.php?stage=2');
  11.  
  12. } else {

I tutaj pojawia się problem ponieważ ten tekst nie chce się wyświetlić (jest pomijany gdy zastosuje przekierowanie).
Cytat
print_r ('Dane są poprawne.');

Jak temu zaradzić?

@edit udało mi się to zmienić smile.gif. Teraz mam inny problem odnośnie zmiennych
  1. <?php
  2.  
  3. $ADMIN_PART = '../Admin/';
  4. $DATA_PART = '../Data/';
  5. $IMAGES_PART = '../Data/Images/';
  6. $INC_PART = '../Inc/';
  7. $CONFIG_PART = '../Inc/Config/';
  8.  
  9. $stageInstallation = $_GET['stage'];
  10.  
  11. switch ($stageInstallation) {
  12. case 1:
  13. if (!empty($_POST['host']) && !empty($_POST['user']) && !empty($_POST['password']) && !empty($_POST['db'])){ // Sprawdz czy nie został przesłany pusty formularz
  14. $mysqlData[0] = $_POST['host'];
  15. $mysqlData[1] = $_POST['user'];
  16. $mysqlData[2] = $_POST['password'];
  17. $mysqlData[3] = $_POST['db'];
  18.  
  19. var_dump($mysqlData[0]);
  20.  
  21. print_r ('Dane są poprawne.');
  22.  
  23. header('Refresh: 5; URL=http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/' . 'install.php?stage=2');
  24.  
  25. } else {
  26.  
  27. echo 'Wystąpił błąd';
  28. header('Refresh: 5; URL=http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/' . 'index.html');
  29. }
  30. break;
  31.  
  32. case 2:
  33. var_dump($mysqlData);
  34. $value = '
  35. <?php
  36. $mysqlHost = \''. $mysqlData[0] . '\'
  37. $mysqlUser = \''. $mysqlData[1] . '\'
  38. $mysqlPassword = \''. $mysqlData[2] . '\'
  39. $mysqlDB = \''. $mysqlData[3] . '\'
  40.  
  41. mysql_connect($mysqlHost, $mysqlUser, $mysqlPassword);
  42.  
  43. mysql_select_db($mysqlDB);
  44. ';
  45.  
  46. $handle = fopen($CONFIG_PART.'settings.php', 'w');
  47. fwrite($handle, $value);
  48. fclose($handle);
  49. break;
  50. }
  51. ?>


W
Cytat
case 1:
nadaję tablicy $mysqlData wartości, ale w
Cytat
case 2:
tablica tych wartości już nie ma. Dla rozjaśnienia powiem że switch wykonuje się po kolei czyli case 1 i potem od razu case 2
dziamber
Case działa w taki sposób, że wybierana jest tylko jedna możliwość. Więc jak przesyłasz zmienną z wartością 1 to case wyłapuje ją i przyporządkowuje tylko raz. Jak chcesz aby oby dwa kody Ci zadziałały to wsadz to w ifa.
  1. if($stageInstallation == 1) {
  2. // wykonujesz kod z case 1
  3. if($stageInstallation == 2) {
  4. // wykonujesz kod z case 2
  5. }
  6. }
gamer
Na if'ach też nie działa ;/
Fifi209
Przed wysłaniem nagłówków nie możesz wysłać html czy tekstu.
mortus
Przekazywanie zmiennych w taki sposób na pewno nie będzie działać, ponieważ przejście na kolejną podstronę powoduje wyczyszczenie tablicy $mysqlData. Interesujące Cię informacje musisz przekazywać albo poprzez sesję, albo poprzez formularz z polami ukrytymi. Wydaj mi się, że sesje będą sensownym rozwiązaniem.
blawat
moze napisz jaki efekt koncowy chcesz uzuyslac po spelnieniu jakich warunkow? bo ten kod wyglada na strasznie zakrecony smile.gif rozwiazaniem jest uzycie sesji (przy obecnym skrypcie)
gamer
Cytat(mortus @ 5.04.2010, 08:01:05 ) *
Przekazywanie zmiennych w taki sposób na pewno nie będzie działać, ponieważ przejście na kolejną podstronę powoduje wyczyszczenie tablicy $mysqlData. Interesujące Cię informacje musisz przekazywać albo poprzez sesję, albo poprzez formularz z polami ukrytymi. Wydaj mi się, że sesje będą sensownym rozwiązaniem.


Wiem już to wczoraj zauważyłem smile.gif.
Dzięki wszystkim za zainteresowanie. 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.