Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] zapis i odczyt zmiennych do pliku php
Forum PHP.pl > Forum > PHP
Setesh
Wpadłem na pomysł aby zapisywać wartości z formularza do pliku php i tu mój problem się zaczyna bo...

Czy da się tak to zrobić :

mamy plik konfiguracyjny php ze zmiennymi np "config.php"

  1. <?php
  2. $Szer_str = 760;
  3. $Main_title= "Moja strona - "; // tutaj dodana zostanie reszta tytulu w zaleznosci od podstrony
  4. $Artow_na_stronie = 10;
  5. ?>


I teraz ten plik includujemy na glownej stronie w pliku "index.php"

natomiast na stronie "setvalue.php" mamy taki kodzik co nam bedzie zapisywac i odczytywać wartości do pliku "config.php" pod wartości : (przesylane metoda post)

  1. <form name="config" onsubmit="" method="post" action="?opcja=save">
  2.  
  3. <table cellpadding="0" cellspacing="0" width="100%" class="border" style="text-align: left;">
  4.  
  5. <tr>
  6.  <td width="40%">Tytul glowny strony : </td>
  7.  <td width="60%"><input type="text" name="Main_title" style="width: 100%;" value=<?php echo $Main_title;?> />// czy mozna jakos ta wartosc podstawic questionmark.gif? bo nie moge cos wpisać do pola :(
  8. </td>
  9. </tr>
  10. <tr>
  11.  <td width="40%">Szerokość strony : </td>
  12.  <td width="60%"><input type="text" name="Szer_str" style="width: 100%; value=<?php echo $Szer_str; ?>" />// czy mozna jakos ta wartosc podstawic questionmark.gif? bo nie moge cos wpisać do pola :(
  13. </td>
  14. </tr>
  15. <tr>
  16.  <td width="40%">Artykułów na strone : </td>
  17.  <td width="60%"><input type="text" name="Artow_na_str" style="width: 100%;" value=<?php echo $Artow_na_stronie;?> />// czy mozna jakos ta wartosc podstawic questionmark.gif? bo nie moge cos wpisać do pola :(
  18. </td>
  19. </tr>
  20. <tr>
  21.  <td width="40%"> </td>
  22.  <td width="60%"><input class="button" type="submit" value="Dodaj" /> <input class="button" type="reset" value="Od nowa" />
  23. <tr>
  24. </table>
  25. </form>

Tutaj zapis po odczytaniu opcji=save :
  1. <?php
  2.  
  3. include("config.php");
  4.  
  5. // Z TYM WLASNIE MAM PROBLEM :(
  6. $save = "<?phpn$Szer_str=".$Szer_str.";n";
  7. $save = $save + "$Main_title="".$Main_title."";n";
  8. $save = $save + "$Artow_na_stronie=".$Artow_na_str.";n?>".
  9.  
  10. $file = "config.php";
  11.  
  12. $fp = @fopen($file, "a");
  13.  
  14. // komunikat w razie niepowodzenia
  15. if(!$fp) {
  16. kom("UWAGA!!!","Nie można otworzyć pliku $file w trybie do zapisu!<br />Musisz nadać mu prawa <a href="http://moj_serwis.pl/error666.php">chmod 666</a>");
  17. }
  18. rewind($fp);
  19. flock($fp, 2);
  20. fwrite($fp, $save);
  21. flock($fp, 3);
  22. fclose($fp);
  23. ?>


No więc moje pytanie jest nastepujace :

Jak zrobić to dobrze tak aby mozna bylo zapisać do pliku taki tekst : // specjalnie bez formatowania

<?php
$Szer_str = 760;
$Main_title= "Moja strona - "; // tutaj dodana zostanie reszta tytulu w zaleznosci od podstrony
$Artow_na_stronie = 10;
?>

questionmark.gifquestionmark.gif

Będę wdzięczny za pomoc bo nie wiem jak zapisać znak dolara ($) zo pliku - nie dziala mi to a nie wiem jak to zrobić aby dobrze działało sad.gif
nospor
Cytat
bo nie wiem jak zapisać znak dolara ($)

Maly poprawka twojego kodu:
Kod
$save =              "<?php\n\$Szer_str=".$Szer_str.";\n";

Reszta podobnie smile.gif Widac niewielką roznice?
Setesh
No fajnie że zapisuje i odczytuje ale.... czemu zapisuje mi coś takiego do pliku :

  1. <?php
  2. 020;
  3. ?>config.php


questionmark.gifquestionmark.gif

Ok poprawiłem i działa :-)

Teraz można robić sobie konfigurator :-P

eeeeeeeeeeeeeeeee....... ok.... a jak zrobić aby nadpisywał plik a nie dopisywał do niego questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif :-(
misiek172
wpisz w google.pl PHP pliki i bedziesz mial takie literki którymi się ustawia czy ma nadpisywać, dodawać itd
nospor
Cytat
wpisz w google.pl PHP pliki
a czemo google? Jak koles uzywa fopen to niech zajrzy do manuala i poczyta o tej funkcji smile.gif Tam wszystko jak wol napisane
misiek172
no w sumie racja ;P
Setesh
taaaaaa..... nie ma to jak srednio zaawansowani i dalej....


Zanalazłem 6 atrybutów - uzylem "w+" i... nie zapisuje mi do pliku - z "w" i "r+" tak samo.... coś źle robie ?
przelece 2 ostatnie argumenty... i pewnie nic nie wyjdzie z tego ale... dzieki za podpowiedz ktora znam i uzywam sad.gif

swoja droga skoro pisze tu to znaczy ze nie wykombinowałem u siebie i chciałbym małą pomoc w tak trywialnej dla was sprawie bo ja dopiero zaczynam z php sad.gif
nospor
ale oco ci chodzi? Czego sie rzucasz? Zadales pytanie a ja cie odeslalem do manuala, Twoje pytanie nijak nie wskazywalo ze do niego zagladales.

zeby pisac, trzeba uzyc "w". Skoro dziala ci z "a", to powinno i z "w" smile.gif
Pokaz kod po przerobkach, wywal malpe (@) przed fopen.

jak uzywasz "w" to rewind jest niepotrzebny. Wywal tez narazie te flock
Setesh
Sorki za to ze nie napisalem smile.gif

Po prostu juz wczesniej znalazlem info o fopen i fwrite ale nie dzialaja mi parametry tak jak trzeba sad.gif

kod :
  1. // Z TYM WLASNIE MAM PROBLEM :(
  2. $save =  "<?phpn$Szer_str=".$Szer_str.";n";
  3. $save = $save."$Main_title="".$Main_title."";n";
  4. $save = $save."$Artow_na_stronie=".$Artow_na_str.";n?>";
  5.  //$save = addslashes($save);
  6.  
  7. //echo "<BR><BR>$save<BR><BR>";
  8.  
  9.  
  10. $file = "config.php";
  11.  
  12. $fp = @fopen($file, "w");
  13.  
  14. // komunikat w razie niepowodzenia
  15. if(!$fp) {
  16. kom("UWAGA!!!","Nie można otworzyć pliku $file w trybie do zapisu!<br />Musisz nadać mu prawa <a href="http://moj_serwis.pl/error666.php>chmod 666</a>");
  17. exit;
  18. }
  19. //rewind($fp);
  20. //flock($fp, 2);
  21. fwrite($fp, $save);
  22. //flock($fp, 3);
  23. fclose($fp);


Chce po prostu nadpisać plik ale za pierwszym razem mi ladnie dodaje a potem sie nic nie dzieje sad.gif

//====================================================================

Ok już sobie poradziłem 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.