Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zmienna - systematyczne definiowanie > zapis > odczyt
Forum PHP.pl > Forum > Przedszkole
beybe
Mam mały problem, ponieważ znam tylko podstawowe podstawy php...

Otóż na stronie pewnego OSK systematycznie zmienia się data rozpoczęcia kursu..
wygląda to np. tak: Początek kursu: 15 czerwiec 2010
Chciałbym zrobić małe udogodnienie, żeby przy zmianie daty nie trzeba było za każdym razem wchodzić na serwer i modyfikować plik, tylko dać tak: Początek kursu: $data

Chcę zrobić formularz np. w pliku /data.php w którym będę wpisywał tą datę, następnie ona będzie gdzieś zapisywana i wywoływana w pliku index.html
Problemem jest to, jak zrobić, żeby po nowym wpisaniu daty w formularzu kasowała się ta istniejąca już, a zostawała tylko aktualna...

Nie wiem czy zrozumiale napisałem, ale mam nadzieję, że rozumiecie o co chodzi smile.gif
zordon
o ile dobrze zrozumiałem chcesz gdzieś zachować jakąś zmienną? najprosciej zapisz sobie wartość gdzies do pliku funkcją file_put_contents, a odczytuj file_get_contents i przypisuj do value formularza html ...
beybe
Aha, ale co będzie kiedy zmienię datę? Wówczas w pliku będą zapisane dwie wartości - stara data i ta nowa świeżo wprowadzona...
zend
Serwer nie interpretuje html także choćbyś nie wiem jaki kod php tam wsadził to nie zadziała, plik musi mieć rozszerzenie php. To że będzie kilka wartości to nie problem, ważne żebyś zapisywał je w osobnych liniach. Wtedy pobierasz ostatnią linijkę z "bazy" i wstawiasz. Możesz też w skrypcie zmiany daty edytować index.html i tam podmieniać date, nie będziesz musiał robić "bazy"
beybe
Ale tego na razie sam nie zrobię, bo jak widać z taką niby łatwą modyfikacją mam problem... No i raczej tego nie zrobię :/
zend
Pokaż to co masz, pomożemy, wkońcu od tego jest to forum guitar.gif
beybe
Problemy, które miałem troszkę wyżej udało mi się rozwiązać i coś wyszło...
A więc... biggrin.gif Z góry mówię, żeby się nie śmiać, bo to pierwszy kod php, jaki udało mi się pokleić smile.gif
Wygląda to tak:

zmien.html
  1. <form method="post" action="zmien.php">
  2. <label for="data">Wprowadz nowa date:</label>
  3. <input type="text" id="data" name="data" style="width:300px;" />
  4. <input type="submit" value="Wyslij" name="Wyslij" />
  5. </form>


zmien.php
  1. <?php
  2. $data = $_POST['data'];
  3. $submit = true;
  4.  
  5. if(empty($data))
  6. {
  7. echo "Musisz wprowadzic date. <a href='plik.html'>Wroc</a>";
  8. $submit = false;
  9. }
  10.  
  11. if($submit)
  12. {
  13. echo "Polecenie wykonane.<br />Data została zmieniona na: <b>$data</b>";
  14. }
  15.  
  16. $file = "data.php";
  17. $fp=fopen("$file", "r+");
  18. flock($fp, 2);
  19. fwrite($fp, $data);
  20. flock($fp, 3);
  21. fclose($fp);
  22. ?>


data.php - tutaj zapisuje się to, co wprowadziliśmy w zmien.html

I teraz mam jeszcze taki kod, który pobiera datę z pliku data.php
  1. <?php
  2. $plik = fopen("data.php", "r");
  3. if ($plik === false) {
  4. echo "Error";
  5. } else {
  6. while (!feof($plik)) {
  7. $bufor = fgets($plik);
  8. echo "$bufor <br />";
  9. }
  10. fclose($plik);
  11. }
  12. ?>

I jak go ulokować w pliku index.html żeby zadziałał? Da się w ogóle? Zależy mi na tym, żeby index miał rozszerzenie .html
eamzeet
Da się.

Dajesz w index.html tak:

Początek kursu: <span id="datakursu"></span>

Załączasz plik jquery w head:

  1. <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>


I dodajesz kod:

  1. <script type="text/javascript">
  2. //<![CDATA[
  3. $(document).ready(function () {
  4. $('#datakursu').load(adresPlikuPhpDoOdczytuWartosci.php);
  5. });
  6. //]]>
  7. </script>

beybe
Zrobiłem tak, jak napisałeś, ale nie działa... Nie wyświetla nic...

W <head> dałem:
  1. <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
  2. <script type="text/javascript">
  3. //<![CDATA[
  4. $(document).ready(function () {
  5. $('#datakursu').load(data.php);
  6. });
  7. //]]>


No i później Początek kursu: <span id="datakursu"></span>
phpion
Brakuje Ci " w nazwie pliku:
  1. $('#datakursu').load("data.php");
beybe
Dzięki Wam smile.gif O to mi chodziło...

Chcę to wszystko zabezpieczyć jeszcze logowaniem... Zrobiłem jakiś tam system logowania, wszystko sprawdza, ale gdzieś mam błąd bo jeśli formularze były puste to podaje komunikat o pustym i niepoprawnym haśle od razu blinksmiley.gif
Błąd jest gdzieś w tych {} ale nie potrafię się połapać...
  1. <?php
  2.  
  3. define('login', 'admin');
  4. define('haslo', 'admin');
  5.  
  6. if ( ! empty( $_POST['login'] ) && ! empty( $_POST['password'] ) ) {
  7.  
  8. }
  9. else
  10. {
  11. echo "Musisz wprowadzic login i haslo. <a href='login.html'>Wroc</a>";
  12. }
  13.  
  14. {
  15. if ( $_POST['login'] == login && $_POST['password'] == haslo )
  16. {
  17. $_SESSION['zalogowany'] = '1';
  18. //session_register('zalogowany');
  19. print("Zostales poprawnie zalogowany<br>");
  20.  
  21. echo "
  22. <form method='post' action='zmien.php'>
  23. <label for='data'>Wprowadz nowa date:</label>
  24. <input type='text' id='data' name='data' style='width:300px;' />
  25. <input type='submit' value='Wyslij' name='Wyslij' />
  26. </form>";
  27. print("<a href='wyloguj.php'>Wyloguj się</a>");
  28.  
  29. }
  30. else
  31. {
  32. echo "Podales zly login badz haslo!<br /><a href='login.html'>Wprowadz ponownie</a>";
  33. }
  34. }
  35.  
  36.  
  37. ?>

Pomoże ktoś? smile.gif
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.