Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyświetlanie tekstu, a przekierowanie
gamer
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.04.2010

Ostrzeżenie: (0%)
-----


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ć (IMG:style_emoticons/default/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

Ten post edytował gamer 4.04.2010, 17:18:25
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
dziamber
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 18
Dołączył: 15.04.2009
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


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. }
Go to the top of the page
+Quote Post
gamer
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.04.2010

Ostrzeżenie: (0%)
-----


Na if'ach też nie działa ;/
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Przed wysłaniem nagłówków nie możesz wysłać html czy tekstu.
Go to the top of the page
+Quote Post
mortus
post
Post #5





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
blawat
post
Post #6





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 17.03.2006

Ostrzeżenie: (0%)
-----


moze napisz jaki efekt koncowy chcesz uzuyslac po spelnieniu jakich warunkow? bo ten kod wyglada na strasznie zakrecony (IMG:style_emoticons/default/smile.gif) rozwiazaniem jest uzycie sesji (przy obecnym skrypcie)
Go to the top of the page
+Quote Post
gamer
post
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.04.2010

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/smile.gif) .
Dzięki wszystkim za zainteresowanie. Temat można zamknąć.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 12:31