![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 17.06.2008 Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy? Ostrzeżenie: (0%) ![]() ![]() |
Witam
![]() Mam na stronie taką funkcje która główne służy do poprawienia bezpieczeństwa a działa ona w sposób następujący: żeby dodac admina trzeba najpierw wpisac jego nick w tej funkcji a jeżeli tak się niestanie to osoba awansowana zostanie automatycznie zbanowana, a ja jestem strasznie leniwy i nie chce mi się wchodzic co chwile na FTP i kogoś dopisywac... Więc mam do was prośbę czy napisalibyście mi takiego moda że wszystko będzie z poziomu strony.? ![]() Kod $staffs = array("kubal", "anbi", "lol", "mod"); na to: Kod $lines = file("include/staff.txt"); foreach ($lines as $line_num => $line) $staffs = $lines; i teraz dalej nie potrafie, trzeba napisać jakiś formularz ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Zrób sobie edytor tego .txt przez WWW i już nie będziesz musiał wchodzić na FTP.
if (submit) fopen(); fwrite(); (nową linię, albo przepisujesz całość) fclose(); else edit |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 17.06.2008 Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy? Ostrzeżenie: (0%) ![]() ![]() |
nie za bardzo wiem jak to napisać
![]() ![]() utworzyłem plik staff.txt i na razie do niego nic nie wpisuje... Ten post edytował kubal 17.06.2008, 20:32:20 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 17.06.2008 Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy? Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php if ($_POST['submit']) { $staff=fopen("include/staff.txt", "w+"); fputs($staff, $_POST['admin']); fclose($staff); echo "<p>Zapisano poprawnie ! </p>"; } $lines = file("include/staff.txt"); foreach ($lines as $line_num => $line) echo '<form action="" method="post"> Osoby:<br><textarea type="text" name="admin" rows="5" cols="40" />'.$line.'</textarea> <input type="submit" value="ZAPISZ DANE!" /> </form>'; ?> ale teraz mam białą stronę... ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Moze tak Ten post edytował marcio 17.06.2008, 20:53:11 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
cosik ta pętla
jak dla mnie jest zbędna |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 17.06.2008 Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy? Ostrzeżenie: (0%) ![]() ![]() |
bez pętli nie wyświetlę zawartości pliku
![]() teraz mam tak ;] Kod <?php $lines = file("./include/staff.txt"); foreach ($lines as $line_num => $line) echo('<form action="'.$_SERVER['PHP_SELF'].'" method="post"> Osoby:<br><textarea type="text" name="admin" rows="5" cols="40" />'.$line.'</textarea> <input type="submit" value="ZAPISZ DANE!" name="zapisz"/> </form>'); if (!empty($_POST['admin']) && isset($_POST['zapisz'])) { $staff=fopen("include/staff.txt", "w+"); fputs($staff, $_POST['admin']); fclose($staff); echo "<p>Zapisano poprawnie ! </p>"; } ?> można powiedzieć że działa jak dopiszę tylko siebie ;] ale jak dopiszę kolejną osobę to nie dość że mnie banuje na stronie to jeszcze wygląda to jakoś dziwnie ;/ Tak dopisuje: http://images26.fotosik.pl/232/12ec1a967b200653.jpg A po odświeżeniu wygląda to tak: http://images32.fotosik.pl/289/83ca4b19e038d25d.jpg |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
wygląda dziwnie.
Mówię że ta pętla jest nie potrzebna, khm ... a raczej źle umieszczona Ja bym dodał include("staff.txt") w środek formularza, tam gdzie ma wyświetlić się treść. a Ty zapętlasz sobie ten formularz. Jak wpiszesz 10 adminów, to będziesz miał 10 takich okienek. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 17.06.2008 Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy? Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php echo('<form action="'.$_SERVER['PHP_SELF'].'" method="post"> Osoby:<br><textarea type="text" name="admin" rows="5" cols="40" />' . include("include/staff.txt") . '</textarea> <input type="submit" value="ZAPISZ DANE!" name="zapisz"/> </form>'); if (!empty($_POST['admin']) && isset($_POST['zapisz'])) { $staff=fopen("include/staff.txt", "w+"); fputs($staff, $_POST['admin']); fclose($staff); echo "<p>Zapisano poprawnie ! </p>"; } ?> daje tak i jest błąd: Cytat Warning: include(include/staff.txt</textarea> <input type="submit" value="ZAPISZ DANE!" name="zapisz"/> </form>) [function.include]: failed to open stream: No such file or directory in /home/kubal/www/lol.php on line 6 Warning: include() [function.include]: Failed opening 'include/staff.txt</textarea> <input type="submit" value="ZAPISZ DANE!" name="zapisz"/> </form>' for inclusion (include_path='.:') in /home/kubal/www/lol.php on line 6 ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Daj to na poczatku i do textaera daj zmienna $dane przeciez ci pokazalem -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 17.06.2008 Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy? Ostrzeżenie: (0%) ![]() ![]() |
wywaliłem to ponieważ zwracało w formularzu zamiast nazwy użytkownika "Array"
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
albo daj:
Kod echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">
Osoby:<br><textarea type="text" name="admin" rows="5" cols="40" />'; include("include/staff.txt"); echo '</textarea> <input type="submit" value="ZAPISZ DANE!" name="zapisz"/> </form>'); |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 17.06.2008 Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy? Ostrzeżenie: (0%) ![]() ![]() |
teraz działa
![]() wszystko się zapisuje jak trzeba ale mnie nadal banuje na stronie jak kogoś dopisze... a jak jestem sam w pliku to wszystko gra.?! |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Może coś CI się nadpisuje ?
Np. ostatnia osoba na liście jest adminem. Sprawdz czy zbanuje Cię jeżeli będzie ostatni na liście. |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 17.06.2008 Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy? Ostrzeżenie: (0%) ![]() ![]() |
nie banuje
![]() |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Nie wiemy jak wygląda skrypt sprawdzający dostęp.
ale prawdopodobnie wystarczy dać for ($i=0;$i<=count($tablica_z_petli);$i++) $status = "Administrator"; oczywiście musisz to zmodyfikować. |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 17.06.2008 Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy? Ostrzeżenie: (0%) ![]() ![]() |
funkcja wygląda tak:
Kod function burglary () { global $CURUSER; $lmaxclass = 8; $lines = file("include/staff.txt"); foreach ($lines as $line_num => $line) $lol2 = $lines; // Lista osób ktore sa leganie w zalodze. if ($CURUSER["class"] >= $lmaxclass) if (!in_array($CURUSER["username"], $lol2)){ mysql_query("UPDATE users set enabled='no' WHERE id=$CURUSER[id]"); stderrnew("Przepraszamy","Korzystasz z nie dozwolonego konta, dlatego zostałeś zbanowany, papa :)"); } } to jak to powinno wyglądać żeby działało normalnie.? a najwyższa ranga to UC_ADMINISTRATOR ;] Ten post edytował kubal 17.06.2008, 22:56:15 |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Czyli tak jak mówiłem:
MAsz w bazie: kubal tomplus andi to echo $lines; wyświetli: kubal tomplus andi czyli powinno być ok jeżeli okalisz klamrami kod poniżej. linię $lol2 = $lines; // Lista osób ktore sa leganie w zalodze. moze skasować, bo po co Ci dwie takie same zmienne ? Zapętlony ten kod umożliwi Ci sprawdzenie każdego imienia z osobno. Kod function burglary () { global $CURUSER; $lmaxclass = 8; $lines = file("include/staff.txt"); foreach ($lines as $line_num => $line) if ($CURUSER["class"] >= $lmaxclass AND in_array($CURUSER["username"], $lines)) $admin = true; if ($admin == false){ mysql_query("UPDATE users set enabled='no' WHERE id=$CURUSER[id]"); stderrnew("Przepraszamy","Korzystasz z nie dozwolonego konta, dlatego zostałeś zbanowany, papa :)"); } } Myślę, że nie popełniłem żadnej literówki. Ten post edytował Tomplus 17.06.2008, 23:00:30 |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 17.06.2008 Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy? Ostrzeżenie: (0%) ![]() ![]() |
no niestety nadal banuje
![]() może mam słabą pamięć ale coś mi się ciągle tak wydaje że od tego aby zapisywało na początku pliku jest jakaś funkcja w php... |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.06.2025 - 09:06 |