Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zmiana wartości zmiennej za pomocą formularza...
maaciek
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.05.2008

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


Witam, jak zrobić coś takiego:

mamy podstronę z treścią:(tresc.php)
  1. <?php
  2. $nazwa = "Wartość1";
  3. $nazwa2 = "Wartość2";
  4. ?>


Jak zrobić skrypt który działał by tak:
Wchodzę na podstronę powiedzmy edit.php, pojawiają mi się 2 okienka formularza,
wprowadzam w nie jakąś wartość (powiedzmy że $nazwa = "Zmieniona Wartość", $nazwa2 = "Zmieniona Wartość 2")
I daje submit, skutkuje to tym że w pliku tresc.php wartość $nazwa z Wartość1 jest zamieniana na Zmieniona Wartość1, i tak samo w $nazwa2.

Pozdrawiam

Ten post edytował maaciek 17.05.2008, 09:34:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
szawel
post
Post #2





Grupa: Zarejestrowani
Postów: 59
Pomógł: 1
Dołączył: 7.06.2007
Skąd: torun

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


poczytaj o funkcji eval()
http://php.net.pl/manual/pl/function.eval.php
przekazujesz to co wpiszesz do formularza do tej funkcji i ona wykonuje poprostu to jako kod php wiec wartosz sie zmieni
uzycie jej jest dosc niebezpieczne poniewaz mozna tak wykonac dowolny kod php


edit:
sorry chyba nie do konca o to chodzilo bo eval nie zmieni wpisu w pliku

Ten post edytował szawel 17.05.2008, 09:44:56
Go to the top of the page
+Quote Post
maaciek
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.05.2008

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


probowalem wczesniej z eval...ale nic z tego...

bo chodzi poprostu o to żeby tylko zmienić wartość zmiennej...

może coś takiego?
plik edit.php
  1. <?php
  2.  
  3. $nazwa = "Wartość1";
  4. $nazwa2 = "Wartość2";
  5.  
  6. if(isset($_POST['submit'])){
  7.  file_put_contents('edit.php', '<?php
  8.  $nazwa = "'.$_POST['nazwa'].'";
  9.  $nazwa2 = "'.$_POST['nazwa2'].'";
  10. ?>');
  11. }
  12. else {
  13. ?>
  14. <form action='' method='POST'>
  15. <INPUT TYPE='text' NAME='nazwa' VALUE='<?php echo $nazwa; ?>'><br>
  16. <INPUT TYPE='text' NAME='nazwa2' VALUE='<?php echo $nazwa2; ?>'><br>
  17. <input type='submit' name='submit' value='zapisz' />
  18. <?php
  19. }
  20. ?>


Jednak po kliknieciu zapisz pojawia się:
"Fatal error: Call to undefined function: file_put_contents() in /home/KONTA/WWW/.../edit.php on line 7"

Ten post edytował maaciek 17.05.2008, 10:40:07
Go to the top of the page
+Quote Post
Shili
post
Post #4





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Jakiej wersji php używasz?
put_file_contest() wymaga przynajmniej 5, jeśli masz mniejszą - skorzystaj z funkcji oferujących podobną funkcjonalność.
Go to the top of the page
+Quote Post
maaciek
post
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.05.2008

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


właśnie problem w tym że 5...

A jednak nie...już działa smile.gif
Go to the top of the page
+Quote Post
pablo114
post
Post #6





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.07.2007

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


moze tak poprostu...

formularz
  1. <?php
  2. <FORM action=1.php method=post>
  3. <P>
  4. <LABEL for=firstname>n: </LABEL>
  5. <INPUT type=text id=n name=n><BR>
  6. <LABEL for=lastname>n2: </LABEL>
  7. <INPUT type=text id=n2 name=n2><BR>
  8.  
  9. <INPUT type=submit value=Send> 
  10. </P>
  11.  </FORM>
  12. ?>


plik 1.php
  1. <?
  2.  
  3. $nazw = $_POST["n"];
  4. $nazw2 = $_POST["n2"];
  5.  
  6. $nazwa_pliku = '2.php';
  7. $tekst = '<?php $nazwa = '.$nazw.'; $nazwa2 = '.$nazw2.'; ?>';
  8.  
  9.  if (!$wskaznik_pliku = fopen($nazwa_pliku, 'w')) {
  10. echo "Nie mogę otworzyć pliku ($nazwa_pliku)";
  11.  
  12.  exit;
  13.  }
  14.  if (fwrite($wskaznik_pliku, $tekst) === FALSE) {
  15. echo "Nie mogę zapisać do pliku ($nazwa_pliku)";
  16.  
  17.  exit;
  18.  }
  19. echo "zapisano do pliku ($nazwa_pliku)";
  20.  
  21. fclose($wskaznik_pliku); 
  22.  
  23. ?>


i utwórz jeszcze plik 2.php w nim będa te zmienne ktore chcesz modyfikowac
Go to the top of the page
+Quote Post
janek1230
post
Post #7





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 2.05.2007
Skąd: Wrocław

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


A z drugiej strony gdzieś widziałem taki skrypt który nie nadpisuje całego pliku tylko poprostu zmienia wartość zmiennej..;


--------------------
Pomogłem? - kliknij na pomógł :)
Nie pomofłem? - kliknij na pomógł :)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 19:22