Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] problem - zmiana z pliku poprzez formularz
Przemo_
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 1
Dołączył: 12.06.2007

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


Witam.
Ostatnio zaczalem sobie pisac CMS'a dla wlasnego uzytku.
Kilka rzeczy nie podobalo mi sie wiec postanowilem je zmienic :
-chce zmienic,by wszystkie ustawienia byly w jednym pliku.
umiem dodac do pliku jakis.php $blabla itp.
ale teraz tutaj zaczyna sie moj problem.
A mianowicie chcialbym zapisane juz dane w pliku jakis.php zmieniac poprzez formularze na stronie.
TZN. gdy mam np:
  1. <?
  2. $admin = "czlowiek";
  3. $admin_pass = "haselko";
  4. ?>

To bym chcial zmieniac je z poziomu strony poprzez formularze.
Formularz zrobilem sam ale nie umiem tego zmienic.
Domyslam sie, ze to trzeba poprzez:
1)otwarcie pliku
2)zapis
3)zamkniecie pliku
Na tym moja wiedza sie konczy.
Nie umiem tego zrobic. Patrzylem na tego typu skrypty ale to nie pomoglo.
Bardzo prosilbym o wskazowki, gdyz dopiero sie zaczynam uczyc PHP.

Pozdrawiam Przemo_

Ten post edytował Przemo_ 12.06.2007, 17:20:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Glarden
post
Post #2





Grupa: Zarejestrowani
Postów: 153
Pomógł: 2
Dołączył: 28.05.2007
Skąd: Stamtąd

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


Mam takie dwa skrypciory. Pierwszy, działa tylko wtedy, kiedy wiesz, w której linijce jest zapisane to, co chcesz zmienić:
  1. <form action='zmien.php' method='post'>
  2. Zmien haslo na: <input type='text' name='haslo'/>
  3. <input type='submit' value='Zmien'/>
  4. </form>
  5. <hr>
  6. <?php
  7. if (isset ($_POST['haslo'])) {
  8. $haslo = $_POST['haslo'];
  9. $tab = file('dane.txt');
  10. $tab[2] = "$admin_pass = ".$haslo.";rn"; //dwójkę zastąp linijką, w której jest zapisana zmienna do zmiany. (liczenie zacznij od 0)
  11. $plik = fopen('dane.txt', 'w');
  12. $n = 0;
  13. while ($n<count($tab)) {
  14. $zapis = fwrite($plik, $tab[$n]);
  15. $n++;
  16. }
  17. echo ("Haslo zmienione!");
  18. }
  19. ?>


Teraz drugi sposób, ale w pliku z danymi musisz mieć znaczniki "<?php" i "?>".
  1. <form action='zamien2.php' method='post'>
  2. Zmien haslo na: <input type='text' name='haslo'/>
  3. <input type='submit' value='Zmien' />
  4. </form>
  5. <hr>
  6. <?php
  7. if (isset ($_POST['haslo'])) {
  8. $haslo = $_POST['haslo'];
  9. include ("dane.txt");
  10. $plik = fopen('dane.txt', 'w');
  11. $zapis = fwrite($plik, "<?phprn$admin = ".$admin.";rn$admin_pass = ".$haslo.";rn?>");
  12. fclose($plik);
  13. echo ("Zmiany zapisane.");
  14. }
  15. ?>


Ten drugi jest chyba trochę lepszy, bo nie musisz z nim liczyć linijek.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 04:43