Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] zmienne i fwrite
kshyh
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 16.12.2005

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


Witam Was,
borykam się już dluższą chwilę nad zapisaniem zmiennych do pliku. Chodzi o to, ze w formularzu definiuję liczbę osób które chcemy zaprosić. Następnie pętlą "for" generuję tyle "input type=text" imie i nazwisko, ile wpisaliśmy we wcześniejszym formularzu. Wszystko gra, zmienne mają po kolei imie1=...&nazwisko1=...&imie2=...&nazwisko2=...& itd itd.
W skrypcie zapisu zrobiłem rownież pętle ale coś mi nie działa. Kombinowalem na wszelkie sposoby i nie moge.

Poniżej skrypt zapisu.
  1. <?php
  2. $file=fopen("baza.txt", "w");
  3. for( $m = 1; $m < $_SESSION['ilosc']+1; $m++)
  4. {
  5. $imie[$m] = $_GET['imie'][$m];
  6. fwrite($file, $imie[$m] );
  7. fwrite($file, ";" );
  8. $nazwisko[$m] = $_GET['nazwisko'][$m];
  9. fwrite($file, $nazwisko[$m] );
  10. fwrite($file, ";" );
  11. fwrite($file, "#" );
  12.  };
  13. ?>


Co robię źle?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
strife
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


A co chcesz osiągnać?

Nie lepiej przesyłać takie dane metodą $_POST. A dodawać kolejne wpisy poprzez użycie tablicy, formularz wyglądał by w ten sposób ( oczywiście jak tam chcesz, generowany dynamicznie ).

  1. <form method="post" action="index.php">
  2. <input type="text" name="imie[]" value="Romek" />
  3. <input type="text" name="imie[]" value="Stefan" />
  4. <input type="text" name="imie[]" value="Zbyszek" />
  5. <input type="text" name="nazwisko[]" value="Kowalski" />
  6. <input type="text" name="nazwisko[]" value="Nowak" />
  7. <input type="text" name="nazwisko[]" value="Uszatek" />
  8. <input type="submit" value="Dodaj" />
  9. </form>


Od strony php, dodajesz te zmienne poprzez użycie pętli:

  1. <?php
  2. if ( isset( $_POST['imie'] ) ) {
  3. $string = NULL;
  4. foreach( $_POST['imie'] as $key => $value ) {
  5. $string .= $value . ';' . $_POST['nazwisko'][$key] . '#';
  6. }
  7. file_put_contents('baza.txt', $string );
  8. }
  9. ?>


Pisane z palca. Kilka uwag:
  • Sprawdzaj czy dane zostały wysłane
  • Lepiej zapisywać tylko raz na końcu skryptu ( patrz przykład )
  • Jeśli chcemy wysłać jakieś większe dane używamy metody $_POST

Pozdrawiam.
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: 13.10.2025 - 22:32