Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problemy z include()
Forum PHP.pl > Forum > Przedszkole
Gallareton
Problem wyglada nastepujaco:
instrukcja include() dolacze zmienne z wybranego pliku, lecz pozwala jedynie odczytywac ich wartosc. Jaka instrukcja badz cokolwiek pozwala rowzniez operowac wartosciami tych zmiennych?
dawhol
  1. <?php
  2. require_once('Nazwapliku.txt');
  3. ?>


Przykład powyzej wstawka "_once" powoduje ze plik zostanie wczytany tylko jeden raz wiec jakbys przez przypaadek wstawił jescze inlude albo to samo do tego pliku to sie nic nie zepsuje winksmiley.jpg
siemakuba
Cytat(Gallareton @ 12.04.2007, 16:40:15 ) *
instrukcja include() dolacze zmienne z wybranego pliku, lecz pozwala jedynie odczytywac ich wartosc.


Nie masz racji. Wszystkie zmienne, które masz zawarte w dołączanym przez include pliku zostaną zaimportowane do użytku w takim zasięgu jak został dołączony plik. Jeżeli więc np. zrobisz include wewnątrz funkcji zmienne zawarte w pliku będziesz miał dostępne tylko wewnątrz funkcji.

Co zrobisz z tymi zmiennymi to inna sprawa - z pewnością może je sobie modyfikować czy usuwać.


@dawhol: dostałeś już raz ostrzeżenie za posty zupełnie nie związane z tematem. Zastanów się kolejnym razem.

pozdr.
Gallareton
Dobrze, wiec skoro tak, to moglby mi ktos powiedzeic gdzie ja w tym pliku mam blad? Bo przycisk nie robi nic kiedy sie go klika, a wszystkie zmienne w tym kodzie pochodza wlasnie z include().
  1. <input type="button" value="+1" name="si" />

  1. <?php
  2. if ($_POST['si'] == true) {
  3. if ($monety >= $ksila){
  4. $monety = $monety - $ksila;
  5. $sila = $sila +1;
  6. }
  7. else
  8. echo ('Nie masz wystarczajacej ilosci pieniedzy');
  9. }
  10. ?>
robootb
  1. <?php
  2. echo '<form action="" method="post"> 
  3. <input type="button" value="+1" name="si" />
  4. if ($_POST['si'] == true) {
  5. if ($monety >= $ksila){
  6. $monety = $monety - $ksila;
  7. $sila = $sila +1;
  8. }
  9. else
  10. echo ('Nie masz wystarczajacej ilosci pieniedzy');
  11. }
  12. ?>

sproboj tak moze sie uda tongue.gif
dawhol
Nie jestem do konca pewny ale powinenes miec chyba na poczatku <form> z odpowiednimi "parametrami" bo sam button watpie zeby cos zdziałał ;/ jezeli nie odwoluje sie do zadnej fukncji po wcisnieciu ;P
Gallareton
Dobra, a moglbys mi poprawic ten kod ktory napisalem, zeby robil to tak jak powiedziales?
dawhol
A więc:
  1. <form name="formularz" method="POST" action="index.php">
  2. <input type="button" value="+1" name="si" />
  3. </form>

gdzie index.php to plik z tym kodem php co podales wczesniej (moze byc ten sam plik co formularz.
Nie testowalem tego tak wogole to ja bym zrobił to tak:
  1. <form name="formularz" method="POST" action="index.php">
  2. <input type="hidden" name="si" value="+1" />
  3. <input type="submit" value="+1" />
  4. </form>

Tak jak Ci napisałem wyzej to juz powinno na 100 % działac.
robootb
Ale jesli sie nie myle gallaretonowi chodzilo o to zeby te +1 zostalo dodane do zmienej a w tym wypadku... Moze nie zbytnio rozumie ...

a za pytam tak bo postaralem sie pomoc gallaretonowi, bledy mial takie glupie no ale coz.. Wkoncu on tez poczatkujacy taki jak ja tongue.gif ... Pytanie brzmi jak zmienna zapisac do include bo dzieje sie to wszystko co on chcial tylko nie zapisuje tej zmiennej do pliku(zmiena $sila wprowadzona do include o nowej wartosci)
Gallareton
Dokladnie... skrypt zachowuje sie tak, jakby include pozwalalo jedynie odczytywac wartosci, czyli all dziala, ale wartosc zmiennej sie nie zmienia... (odczytuje wartosci, bo jesli $monety < $ksila, to wyswietla echo)
dawhol
nieda się zapisać czegokolwiek do include poniwaz include to funkcja sluzaca do wczytania zawartosci pliku a nie do hmm zapisywania zeby zapisac cos w pliku musisz uzyc funkcji

  1. <?php
  2. fread(fopen("hotele_conf/wyposazenie.txt", "r"), filesize("hotele_conf/wyposazenie.txt"));
  3. ?>

Powyzej przyklad z mojego skryptu winksmiley.jpg

sory nei fread tylko fwrite winksmiley.jpg ale to poszukaj sobie dokladnie w manualu tongue.gif
Gallareton
A nie da sie uzyc jakiejs funkcji, zeby poprostu zwyczajnie operowac zmiennymi z pliku? (chodzi o taki include, ale z mozliwoscia zapisania tych zmiennych w includowanym pliku)
dawhol
z tego co ja wiem to raczej nie :/ a tak wogóle napisz co znajduje sie w tym includowanym pliku tylko tak wiece niz teraz niewiem wklej to co tam masz albo napisz do czego chesz pozniej wykorzystac te zapisane dane to postaram sięcoś wymyslic.
robootb
gallareton to chce wykorzystac do statystyk...
<?php
$sila = 99;
$zrecznosc = 99;
$zwinnosc = 99;
$inteligencja = 99;
$wytrzymalosc = 99;
$energia = 99;?>

Moze pomozesz?
Gallareton
Chodzi o to, ze robie gre i includowany plik to plik gracza ze statami, a to co probuje zrobic to przycisk ktory jesli masz kase to zabiera ci ja i dodaje ci 1 do stata... odczytac wszystkie staty moge, ale nie zwieksza ich kiedy sie kliknie przycisk, a ni nie zmniejsza kasy...
dawhol
no to musisz to zrobic funkcja fwrite innej metody niema albo baza danych a le ogolnie w pliku to polecam cos takiego |23|56|656| gdzie kazdy fragment po | to oddzielny element tablicy
Gallareton
neizbyt zrozumialem ;]..... no to robo chyba sie jednak za bazy wezmiemy :/
robootb
wezniesz kazda statystyke zrobisz w innym pliku jutro Ci to zrobie bo dzisiaj nie ma sensu
dawhol
mój plik z danymi wygląda tak:
Cytat
zwierzęta|przyjazny dla niepełnosprawnych|czytelnia|klimatyzacja|zamki na kartę magnetyczną|dostęp do internetu|dyskoteka|bar|fitnes|siłownia|basen|sauna|solarium|własny ogród|pralnia|parking|płatne kanały TV|sala konferencyjna|restauracja


a skrypt tak:
  1. <?php
  2. $dane_conf = fread(fopen("hotele_conf/kategorie.txt", "r"), filesize("hotele_conf/kategorie.txt"));
  3.  $t_conf = explode("|", $dane_conf);
  4. ?>


i potym np. $t_conf[0] = zwierzęta
$t_conf[1] = przyjazny dla niepełnosprawnych
itd ... ale trzeba by to tak odczytywac i zapisywac podobnie.

Ale na serio polecam bazy danych smile.gif o wiele łatwiej zrobić wszystko winksmiley.jpg ja się prędzej nauczyłem baz danych niz operadcji na plikach tongue.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.