Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]podmiana zmiennych
Forum PHP.pl > Forum > Przedszkole
Krugal
Witam. Pisze własna strone intenretową i mam pewien problem. Czy jest mozliwa podmiana zmiennych? Wyjasnie to na przykładzie:

jest plik zmienna.php w którym jest następujacy kod:

  1. <?php
  2. $zmienna1 = 1;
  3. ?>


w pliku index.php jest:

  1. <?php $wynik = $zmienna1+3;
  2. echo $wynik;
  3. ?>


i chodzi mi o ty by zmienna $wynik została nadpisana nad zmienną $zmienna1 w pliku zmienna.php. Czy jest to wogole mozliwe? Czy trzeba robic operacje na plikach? szukałem w googlach i nic nie znalazłem.
Pyton_000
Robisz include 'zmienna.php'
i potem w index.php możesz operować na tej zmiennej. Tylko w Twoim przykładzie nazwy są różne
Krugal
ok poprawilem ten blad
jesli chodzi o include to probowałem, ale dzieki temu moge jesdynie operować na tej zmiennej ale zmienic nie moge (albo nie potrafie worriedsmiley.gif )
Turson
Pokaż kod
Pyton_000
I powiedz jeszcze jaki jest cel takiej zmiany.
Krugal
pisze taka mini gierke i chcialbym zwiekszac atrybuty po wizycie u trenera i poprostu chcialbym tw zmienne podmieniac

wiecej kodu nie mam, bo narazie probowałem to testowac, probowałem porpstu przypisaniem to zrobic
  1. <?php
  2. $zmienna1=$wynik
  3. ?>


ale niestety nie podmienia tamtej wartosci
stefano_F
Podejżewam, nikt nie wie o co Ci właściwie chodzi, bo nie wiesz jak się wypowiedzieć.
Może chodzi Ci o tzw. "zmienne zmienne", czyli dla przykładu masz taki kod:

  1.  
  2. $zmienna1 = 2;
  3. $zmienna2 = 4;
  4. $zmienna3 = 6;
  5.  
  6. $wynik1 = 0;
  7. $wynik2 = 0;
  8. $wynik3 = 0;
  9.  
  10. $zmienna = "zmienna2";
  11. $wynik = "wynik1";
  12.  
  13. $$wynik = $$zmienna + 3;
  14. echo $wynik1;
  15.  


W zależności jaką masz wartość zmiennej $wynik i $zmienna to taką zmienną weźmie do obróbki.
Powyższy przykład jest adekwatny z zapisem:
  1. $wynik1 = $zmienna2 + 3

Krugal
kurcze jak wam to jasniej wytlumaczyc

jak macie zmienna np:
  1. $zmienna1 = 1;

to ja chce by zostala podmieniona ta jedynka na liczbe ktora jest przypisana do zmiennej $wynik
w taki sposob ze gdybym napisal jeszcze w innym pliku
  1. include 'zmienna.php';
  2. echo $zmienna;

to wyswietli sie 4 (czyli wynik dzialania przypisany do $wynik) a nie 1 (przypisane do $zmienna1 w pliku zmienna.php

no jasniej juz nie potrafie biggrin.gif

Turson
$zmienna1 = $wynik;
questionmark.gif

aaaa
$wynik = 5;
to chcesz
mieć ze $zmienna
$zmienna5
tak?
Krugal
nie ta jedynka biggrin.gif chodzi mi o jedynke ktorą przypisuje czyli zamiast $zmienna1 = 1; było $zmienna1 = 4;
grexlort
Wiem że nic nie wiem z tego co napisałeś, jedyne co zrozumiałem to cel skryptu - czyli za każdym odwiedzeniem strony jakaś wartość powiedzmy $czworceps zwiększa się o jeden.
Jako że php jest bezstanowe, czyli nie możesz stworzyć czegoś takiego w klasyczny sposób jakby to był flash albo c++.

Czyli ile razy byś nie odświeżył strony

  1. $czworceps = 1;
  2. $czworceps = $czworceps + 1;

to zawsze otrzymasz 2

Jeżeli chcesz mieć możliwość zapisania stanu jakieś zmiennej, musisz skorzystać z zapisu do pliku, bazy danych, albo tablic $_SESSION, $_COOKIE, $_POST i $_GET

Jeżeli ta gra ma być na więcej osób to proponuje bazę danych, ale jak jesteś zielony to zacznij może od tablicy $_GET albo $_SESSION.

Zrobie jakiś prosty przykład, jak będziesz chciał obiektowo to pisz.
  1. <?php
  2. session_start(); // do obsługi sessji $_SESSION
  3. $czworceps = 1; // wartość początkowa dla czworceps
  4. if (!isset($_SESSION['czworceps'])) // czy czworceps jest już ustawiony, tzn czy to jest pierwsze przejscie
  5. $_SESSION['czworceps'] = $czworceps; // tworzenie w tablicy sesji elementu czworceps
  6. else // a jeżeli już istnieje to zwieksza o 1
  7. $_SESSION['czworceps'] = $_SESSION['czworceps'] + 1; // $_SESSION['czworceps']++;
  8. ?>
Krugal
Cytat
Czyli ile razy byś nie odświeżył strony

  1. pobierz, plaintext
  2.  
  3. $czworceps = 1;
  4. $czworceps = $czworceps + 1;


to zawsze otrzymasz 2


czyli w php tego nie zrobie, dzieki za odpowiedzi
Turson
Zrobisz, ale jak wspomniano musisz skorzystać np. z bazy danych
Pyton_000
tworzysz plik liczba.dat
  1. $zmienna1 = file_get_contents('liczba.dat');
  2. ....
  3. // na koncu:
  4. file_put_contents($zmienna, 'liczba.dat');
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.