Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Formularze i pliki tekstowe - dla zaawansowanych?
Forum PHP.pl > Forum > Przedszkole
arturkrzyk
Misie moje kochane mam ogromny problem w temacie formularzy i zapisywania do plików :[

Słuchajcie, chodzi o to, że jest wiele przykładów skryptów, które oferują zapisywanie danych z pola tekstowego formularza do pliku tekstowego. Podobnie dużo oferuje odczytywanie danych z pliku tekstowego. Jest na tym oparta nawet część prostych CMS'ów, jak chociażby ZSRR, ale ja nie o tym... Mój problem, polega na czymś zupełnie innym...

Potrzebuję skryptu, który będzie wyglądał mniej więcej tak (i nie ma różnicy, czy dane będą zapisywane w bazie danych, czy w pliku tekstowym, ale poniższy przykład odniosę do plików tekstowych):

FORMULARZ:
$pole1;
$pole2;
$pole3;
$pole4;
$pole5;
$pole6;
...etc.

ZAPISUJE POLA DO PLIKU, GDZIE SĄ WSZYSTKIE POWYŻSZE DANE (ALBO TYLKO NIEKTÓRE, ALE...):
$pole1; (to jednocześnie imię użytkownika w panelu logowania)
$pole2; (to jednocześnie drugie pole w panelu logowania)
$pole3; (to jednocześnie hasło w panelu logowania i nazwa pliku tekstowego do wczytania, dla strony docelowej)
$pole4l; ...etc. (dane wyświetlane na stronie po wczytaniu do niej pliku tekstowego.)

Pewnie wygląda na bardzo skomplikowane (przynajmniej dla mnie takie jest), ale może któryś z Was byłby w stanie mi pomóc w tym temacie?
Spawnm
ale co konkretnie chcesz wiedzieć?
jakieś pytanie?
arturkrzyk
No rzeczywiście, nie zadałem pytania winksmiley.jpg
Ale mimo to, chyba nie trudno się domyślić, jakie by ono było. Pytanie brzmi: czy można coś takiego zrobić?; czy trzeba do tego bazy danych, czy da się to zrobić w oparciu o pliki tekstowe?; która forma jest lepsza?; i jak to zrobić, żeby to ładnie grało?
Foxx
Oczywiście, że się da zrobić.
Jeżeli możesz sobie wybierać to wybierz bazę danych raczej niż pliki. Będziesz miał przyjemniejszą pracę.
Spawnm
łatwiej na bazie,
robisz zwykłą tabele z odpowiednią ilością pól i potem tylko mysql_query z insert, znasz chociaż podstawy php?
arturkrzyk
Cytat
znasz chociaż podstawy php?

no właśnie nie bardzo :/
jest ktoś, kto poda pomocną dłoń? tzn. wytłumaczy, jak zrobić odniesienie do MySQL dla konkretnego pola formularza i jak dodać funkcję wprowadzającą wartość z formularza do tabeli... jakiś mały przykładzik, co?
ale najtrudniej jest mi sobie wyobrazić, jak to zrobić z tym odniesieniem, że ktoś się loguje i dzięki temu zostają wczytane do strony po zalogowaniu odpowiednie dane z tabeli w bazie danych...
Spawnm
jest przylepiony temat z linkami do kursów, poczytaj...
thomson89
To tak:
  • Przy zalogowaniu robisz zapytanie
    1. SELECT * FROM uzytkownicy WHERE uzytkownik=admin AND haslo=sha1(haslo)
  • Po tym zapisujesz w ciachu, albo sesji - id uzytkownika pobrane z bazy
  • W moim przykładzie będzie to:
    1. <?php
    2. //tutaj zapytania, łączenia itp.
    3. $tabela = mysql_fetch_assoc($wynik);
    4. $id = $tabela[id];
    5. $_SESSION['id_uzyt'] = $id;
    6. ?>
  • W powyższym prostym kodziku powinieneś oczywiście dac na początku session start.
  • Skoro masz juz id w sesji, na każdej podstronie dajesz odpowiednie zmienne, np: $imie
  • W twoim przypadku, najłatwiej: zrób funkcję która wyciąga dane pole z bazy, gdzie uzytkownika id pobiera z sessji
  • Do funkcji dajesz tylko dwie zmienne: wyciagnij($naszeiduzytkownika, $comamwyciagnac);
  • Wynik to oczywiście zwrócaona dana (w tym wypadku $imie)
  • Reasumujac dajesz: echo wyciagnij($_SESSION[id], 'imie');
  • I to cała filozofia.
  • Omówię jeszce funkcję: łączymy się z bazą, za pomocą SELECT imie FROM uzytkownicy WHERE id=$_SESSION[id], wynik przypisujemy do zmiennej, dajemy return ze zmienną.

Oczywiście nie omówiłem wszystkiego a moje przykłady mają błędy. Braki ' i " oraz innych takich. Pisząc to zakładam ze znasz podstawy języka...

Pozdrawiam!
Spawnm
Cytat(thomson89 @ 31.03.2009, 20:22:31 ) *
Pisząc to zakładam ze znasz podstawy języka...


Zobacz 2 posty wyżej tongue.gif
kazag
w pliku tez mozesz.
zapisujesz wszystko jak leci i oddzielasz jakiś ciągiem, np. <s>, czyli masz info<s>info2<s>info3 itd
potem explode() i masz pocięte na kawałki i wystarczy pamietać, które info czym było..

bez php to jednak zacznij od jakiegos kursu albo ksiazki.
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.