Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP].txt z poziomu strony
kubal
post 17.06.2008, 19:11:31
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 smile.gif
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.? smile.gif W funkcji już zmieniłem to:
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 sad.gif Bardzo proszę o pomoc
Go to the top of the page
+Quote Post
Tomplus
post 17.06.2008, 19:40:25
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
Go to the top of the page
+Quote Post
kubal
post 17.06.2008, 20:31:27
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ć sad.gif sam do tego doszłem że są potrzebne te funkcje ;] a dalej co.? sad.gif

utworzyłem plik staff.txt i na razie do niego nic nie wpisuje...

Ten post edytował kubal 17.06.2008, 20:32:20
Go to the top of the page
+Quote Post
Tomplus
post 17.06.2008, 20:39:07
Post #4





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


  1. <?php
  2. if ($_POST['submit'])
  3. {
  4. $staff=fopen("staff.txt", "w+");
  5. fputs($staff, $_POST['admin']);
  6. fclose($staff);
  7. echo "<p>Zapisano poprawnie !" </p>
  8. }
  9.  
  10.  
  11.  echo "Jakiś FORMULARZ z TEXTAREA";
  12. ?>



Formularz w HTMLu chyba potrafisz napisać ?
Go to the top of the page
+Quote Post
kubal
post 17.06.2008, 20:47:37
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ę... sad.gif
Go to the top of the page
+Quote Post
marcio
post 17.06.2008, 20:52:44
Post #6





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $lines = file("./include/staff.txt");
  3.  foreach ($lines as $line_num => $line) $dane[] = $line;
  4.  
  5. echo('<form action="'.$_SERVER['PHP_SELF'].'" method="post">
  6.  Osoby:<br><textarea type="text" name="admin" rows="5" cols="40" />'.$dane.'</textarea>
  7.  <input type="submit" value="ZAPISZ DANE!" name="zapisz"/>
  8.  </form>');
  9.  
  10. if (!empty($_POST['admin']) && isset($_POST['zapisz']))
  11. {
  12. $staff=fopen("include/staff.txt", "w+");
  13. fputs($staff, $_POST['admin']);
  14. fclose($staff);
  15. echo "<p>Zapisano poprawnie ! </p>";
  16. }
  17. ?>

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
Go to the top of the page
+Quote Post
Tomplus
post 17.06.2008, 20:55:30
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
Go to the top of the page
+Quote Post
kubal
post 17.06.2008, 21:14:28
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 tongue.gif
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
Go to the top of the page
+Quote Post
Tomplus
post 17.06.2008, 21:50:01
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.
Go to the top of the page
+Quote Post
kubal
post 17.06.2008, 22:01:11
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


sad.gif
Go to the top of the page
+Quote Post
marcio
post 17.06.2008, 22:05:43
Post #11





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $lines = file("./include/staff.txt");
  3.  foreach ($lines as $line_num => $line) $dane[] = $line;
  4. ?>

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
Go to the top of the page
+Quote Post
kubal
post 17.06.2008, 22:07:34
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"
Go to the top of the page
+Quote Post
Tomplus
post 17.06.2008, 22:09:28
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>');
Go to the top of the page
+Quote Post
kubal
post 17.06.2008, 22:14:21
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 smile.gif tylko jeszcze jedno "ale"
wszystko się zapisuje jak trzeba ale mnie nadal banuje na stronie jak kogoś dopisze... a jak jestem sam w pliku to wszystko gra.?!
Go to the top of the page
+Quote Post
Tomplus
post 17.06.2008, 22:22:07
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.
Go to the top of the page
+Quote Post
kubal
post 17.06.2008, 22:24:34
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 smile.gif tylko teraz jak to zrobić aby dopisywało na początku a nie na końcu.?
Go to the top of the page
+Quote Post
Tomplus
post 17.06.2008, 22:29:22
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ć.
Go to the top of the page
+Quote Post
kubal
post 17.06.2008, 22:34:15
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
Go to the top of the page
+Quote Post
Tomplus
post 17.06.2008, 22:59:13
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
Go to the top of the page
+Quote Post
kubal
post 17.06.2008, 23:09:52
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 sad.gif

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...
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.06.2025 - 09:06