Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie czyta zmiennej
Forum PHP.pl > Forum > Przedszkole
Lukasz111000
Witam,
Miałem za zadanie zrobić formularz, lecz jak chcę zrobić skrypt zmieniający nazwę na podaną przez użytkownika to nie mogę pobrać zmiennej, jakby już nie istniała. W komenatrzu napisałem gdzie czyta, a gdzie nie czyta.

  1. <?php
  2. if (isset($_POST['test3']))
  3. {
  4. //Zmienna potrzebna jest tutaj z tego formularza na dole;
  5. $nazwa = $_POST['nazwa'];
  6. $file_name = $nazwa;
  7. echo "Nazwa $file_name ";
  8. $druga = $_POST['nazwa2'];
  9. $new_file_name = $druga;
  10. $status = rename($file_name, $new_file_name);
  11. echo "Nazwa pliku została zmieniona na $new_file_name. Koniec";
  12. }
  13.  
  14. if (isset($_POST['przycisk2']))
  15. {
  16. echo "<h1>Koniec działania programu!</h1>";
  17. }
  18.  
  19. if (isset($_POST['przycisk']))
  20. {
  21. echo "<form action='#' method='post'>";
  22. echo "<p>Podaj nowa nazwe <input type='text' name='nazwa2'></p>";
  23. $nazwa = $_POST['nazwa'];
  24. $file_name = $nazwa;
  25. $druga = $_POST['nazwa2'];
  26. $new_file_name = $druga;
  27.  
  28. echo "<input type='submit' name='test3' value='Zmien nazwe' />";
  29. echo "</form>";
  30.  
  31. }
  32. $nazwa = $_POST['nazwa'];
  33. $file_name = $nazwa;
  34. touch($file_name); //tworzy plik
  35.  
  36. if (isset($_POST['bob']))
  37. {
  38. //Tutaj ta zmienna jeszcze dziala tam wyzej juz nie.
  39. $nazwa = $_POST['nazwa'];
  40. $file_name = $nazwa;
  41. echo "<form action='test2.php' method='post'>";
  42. echo "Plik o nazwie $file_name został utowrzony<br>";
  43. echo "Czy chcesz zmienic nazwe pliku $file_name Tak/Nie?<br>";
  44. echo "<input type='submit' name='przycisk' value='Tak' />";
  45. echo "<input type='submit' name='przycisk2' value='Nie' />";
  46. echo "</form>";
  47.  
  48.  
  49. }
  50.  
  51. ?>
Damonsson
Bo jak przeładujesz raz formularz to stary $_POST się czyści. Zapisuj to sobie w $_SESSION na przykład.
Lukasz111000
Ja już śpię i nie ogarniam gdzie to mam dać... Możesz pokazać?
Bo zrobiłem coś takiego i nie działa, na 100% źle zrobiłem, ale nie mam już pomysłów...
P.S Dopiero ogarniam tego PHP, więc jestem zielony...
  1. <?php
  2. if (isset($_POST['test3']))
  3. {
  4. $nazwa = $_SESSION['test'];
  5. $file_name = $nazwa;
  6. echo "Nazwa $file_name ";
  7. $druga = $_POST['nazwa2'];
  8. $new_file_name = $druga;
  9. $status = rename($file_name, $new_file_name);
  10. echo "Nazwa pliku została zmieniona na $new_file_name. Koniec";
  11. }
  12.  
  13. if (isset($_POST['przycisk2']))
  14. {
  15. echo "<h1>Koniec działania programu!</h1>";
  16. }
  17.  
  18. if (isset($_POST['przycisk']))
  19. {
  20. echo "<form action='#' method='post'>";
  21. echo "<p>Podaj nowa nazwe <input type='text' name='nazwa2'></p>";
  22. $nazwa = $_POST['nazwa'];
  23. $file_name = $nazwa;
  24. $druga = $_POST['nazwa2'];
  25. $new_file_name = $druga;
  26.  
  27. echo "<input type='submit' name='test3' value='Zmien nazwe' />";
  28. echo "</form>";
  29.  
  30. }
  31. $nazwa = $_POST['nazwa'];
  32. $file_name = $nazwa;
  33. touch($file_name); //tworzy plik
  34.  
  35. if (isset($_POST['bob']))
  36. {
  37. $nazwa = $_POST['nazwa'];
  38. $file_name = $nazwa;
  39. $_SESSION['test'] = $file_name;
  40. echo "<form action='test2.php' method='post'>";
  41. echo "Plik o nazwie $file_name został utowrzony<br>";
  42. echo "Czy chcesz zmienic nazwe pliku $file_name Tak/Nie?<br>";
  43. echo "<input type='submit' name='przycisk' value='Tak' />";
  44. echo "<input type='submit' name='przycisk2' value='Nie' />";
  45. echo "</form>";
  46.  
  47.  
  48. }
  49.  
  50.  
  51. ?>
Turson
Brakuje session_start() na początku.
Kshyhoo
A ja pozwolę sobie przenieść do Przedszkola a autowa proszę o dodanie stosownych tagów do tytułu wątku.
Lukasz111000
Nadal nie działa. Zrboiłem tak zmiennej nadal nie pobiera i coś takiego. Bez boom mam kodowanie i nic.

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\4a\4A\zadanie2.php:7) in C:\xampp\htdocs\4a\4A\zadanie2.php on line 9

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\4a\4A\zadanie2.php:7) in C:\xampp\htdocs\4a\4A\zadanie2.php on line 9
  1. <html>
  2. <head>
  3. <title>Tworzenie plików</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. </head>
  6. <body>
  7. <?php
  8. if (isset($_POST['test3']))
  9. {
  10. $nazwa = $_SESSION['test'];
  11. echo "Nazwa $nazwa ";
  12. $druga = $_POST['nazwa2'];
  13. $new_file_name = $druga;
  14. $status = rename($file_name, $new_file_name);
  15. echo "Nazwa pliku została zmieniona na $new_file_name. Koniec";
  16. }
  17.  
  18. if (isset($_POST['przycisk2']))
  19. {
  20. echo "<h1>Koniec działania programu!</h1>";
  21. }
  22.  
  23. if (isset($_POST['przycisk']))
  24. {
  25. echo "<form action='#' method='post'>";
  26. echo "<p>Podaj nowa nazwe <input type='text' name='nazwa2'></p>";
  27. $nazwa = $_POST['nazwa'];
  28. $file_name = $nazwa;
  29. $druga = $_POST['nazwa2'];
  30. $new_file_name = $druga;
  31.  
  32. echo "<input type='submit' name='test3' value='Zmien nazwe' />";
  33. echo "</form>";
  34.  
  35. }
  36. $nazwa = $_POST['nazwa'];
  37. $file_name = $nazwa;
  38. touch($file_name); //tworzy plik
  39.  
  40. if (isset($_POST['bob']))
  41. {
  42. $nazwa = $_POST['nazwa'];
  43. $file_name = $nazwa;
  44. $_SESSION['test'] = $file_name;
  45. echo "<form action='zadanie2.php' method='post'>";
  46. echo "Plik o nazwie $file_name został utowrzony<br>";
  47. echo "Czy chcesz zmienic nazwe pliku $file_name Tak/Nie?<br>";
  48. echo "<input type='submit' name='przycisk' value='Tak' />";
  49. echo "<input type='submit' name='przycisk2' value='Nie' />";
  50. echo "</form>";
  51.  
  52.  
  53. }
  54. ?>
  55.  
  56. </body>
  57. </html>
johny_s
nie możesz nic wyświetlać przed session_start, przerzuć to do 1 lini
Lukasz111000
Nic nie daje problem nadal jest, że zmiennej wgl jakby nie było, nawet jak wyświetlam linie w
  1. $nazwa = $_SESSION['test'];
  2. $file_name = $nazwa;
  3. echo "Nazwa $file_name ";

To tej zmiennej jakby nie było...
Turson
Zapisz plik w formacie UTF-8 bez BOM
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.