Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][JavaScript]hasło admina do chata
Forum PHP.pl > Forum > Przedszkole
avel
Witam...
Jeśli chodzi o PHP, to jestem całkiem nowy, uczę się go dopiero z 2 tygodnie...
Ale trochę poczytałem, poduczyłem się i na próbę umiejętności zrobiłem prosty chat...
No i wszystko ładnie wyszło, ale w pewnym momencie zrobiłem do tego chatu komendę, która czyściła mi okno rozmowy...
No i pomyślałem, że fajnie by było, gdyby tylko ktoś, kto wpisze hasło admina do chata mógł wpisać ta komendę, żeby każdy przypadkowy gość, nie mógł używać komend... (w przyszłości mam zamiar zrobić ich więcej)
No i zrobiłem, ale coś mi nie działa i siedzę nad tą sprawą już parę dni i nic nie mogę wymyślić, a możliwe, że zrobiłem jakiś banalny błąd... Może wy pomożecie?
Chat opiera się na 6 plikach:
chat.txt - tu zapisuje się to co ktoś napisze, żeby potem wyświetlić to w okienku.


dol.php

  1. <HTML>
  2.   <HEAD>
  3.   <META http-equiv="Content-type"
  4.   content="text/html; charset=iso-8859-2">
  5.   </HEAD>
  6.  
  7.   <BODY BGCOLOR=WHITE TEXT=BLACK>
  8.   <FORM METHOD=GET ACTION=dol.php NAME=formularz>
  9.   <INPUT TYPE=HIDDEN NAME=ACTION VALUE=add>
  10.   <INPUT TYPE=TEXT SIZE=80 MAXLENGTH=80 NAME=TEKST>
  11.   <?
  12.   echo("<INPUT TYPE=HIDDEN NAME=IMIE VALUE=$_GET[IMIE]>");
  13.   echo("<INPUT TYPE=HIDDEN NAME=HASLO VALUE=$_GET[HASLO]>");
  14.   ?>
  15.  
  16.   <?
  17.  
  18.  
  19.   if($_GET[ACTION]=="add")
  20.   {
  21.   $file=fopen("chat.txt", "r");
  22.   flock($file, 1);
  23.  
  24.   for($lineNr=1;true;$lineNr++)
  25.   {
  26.   $linia=fgets($file, 81);
  27.  
  28.   if(!$linia)
  29.   break;
  30.  
  31.   $linie[$lineNr]=$linia;
  32.   }
  33.  
  34.   flock($file, 3);
  35.   fclose($file);
  36.  
  37.   $nLines=$lineNr;
  38.  
  39.   $file=fopen("chat.txt", "w");
  40.   flock($file, 2);
  41.  
  42.  
  43.   if($nLines<16)
  44.   $lineNr=1;
  45.   else
  46.   $lineNr=2;
  47.  
  48.  
  49.   for(;$lineNr<$nLines;$lineNr++)
  50.   fwrite($file, $linie[$lineNr]);
  51.  
  52.   fwrite($file, "<FONT COLOR=$_GET[KOLOR]>$_GET[IMIE]></FONT><FONT COLOR=$_GET[KOLOR2]>$_GET[TEKST]</FONT>");
  53.   fwrite($file, "\n");
  54.  
  55.   flock($file, 3);
  56.   fclose($file);
  57.   }
  58.  
  59.  
  60.  
  61.   If($_GET[TEKST]=="*clear" && $HASLO=="jakieś tam hasło")
  62.   {
  63.   unlink("chat.txt");
  64.   $file=fopen("chat.txt", "w");
  65.   fclose($file);
  66.   }
  67.  
  68.  
  69.   $kolory[0]="black";
  70.   $opisy[0]="Czarny nick";
  71.   $kolory[1]="blue";
  72.   $opisy[1]="Niebieski nick";
  73.   $kolory[2]="red";
  74.   $opisy[2]="Czerwony nick";
  75.   $kolory[3]="green";
  76.   $opisy[3]="Zielony nick";
  77.  
  78.   if($KOLOR=="")
  79.   $KOLOR="black";
  80.  
  81.   echo("<SELECT NAME=KOLOR>");
  82.   for($i=0;$i<4;$i++)
  83.   {
  84.   echo("<OPTION VALUE=$kolory[$i]");
  85.   if($kolory[$i]==$_GET[KOLOR])
  86.   echo(" SELECTED");
  87.   echo(">$opisy[$i]</OPTION>");
  88.   }
  89.   echo("</SELECT>");
  90.  
  91.   $kolory2[0]="black";
  92.   $opisy2[0]="Czarny tekst";
  93.   $kolory2[1]="blue";
  94.   $opisy2[1]="Niebieski tekst";
  95.   $kolory2[2]="red";
  96.   $opisy2[2]="Czerwony tekst";
  97.   $kolory2[3]="green";
  98.   $opisy2[3]="Zielony tekst";
  99.  
  100.   if($KOLOR2=="")
  101.   $KOLOR2="black";
  102.  
  103.   echo("<SELECT NAME=KOLOR2>");
  104.   for($ii=0;$ii<4;$ii++)
  105.   {
  106.   echo("<OPTION VALUE=$kolory2[$ii]");
  107.   if($kolory2[$ii]==$_GET[KOLOR2])
  108.   echo(" SELECTED");
  109.   echo(">$opisy2[$ii]</OPTION>");
  110.   }
  111.   echo("</SELECT>");
  112.  
  113.  
  114.   ?>
  115.  
  116.   </FORM>
  117.  
  118.  
  119.   <script LANGUAGE="JavaScript">
  120.   <!--
  121.  
  122.   document.formularz.TEKST.focus();
  123.  
  124.   // -->
  125.   </SCRIPT>
  126.  
  127.   </BODY>
  128.   </HTML>


gora.php

  1. <HTML>
  2.  
  3.   <HEAD>
  4.   <META http-equiv="Content-type"
  5.   content="text/html; charset=iso-8859-2">
  6.   <META HTTP-EQUIV="REFRESH" CONTENT="1">
  7.   </HEAD>
  8.  
  9.   <BODY BGCOLOR=WHITE TEXT=BLACK>
  10.  
  11.   <TABLE BORDER=1 CELLPADDING=5 CELLSPACING=0 WIDTH=500 HEIGHT=400>
  12.   <TR><TD VALIGN=TOP>
  13.  
  14.   <FONT CLASS=text>
  15.   <?
  16.   $file=fopen("chat.txt", "r");
  17.   flock($file, 1);
  18.  
  19.   while($linia=fgets($file, 81))
  20.   {
  21.   echo($linia);
  22.   echo("<BR>");
  23.   }
  24.  
  25.   flock($file, 3);
  26.   fclose($file);
  27.   ?>
  28.   </FONT>
  29.  
  30.   </TR></TD></TABLE>
  31.  
  32.   </BODY>
  33.   </HTML>


haslo.php

  1. <?php
  2. <HTML>
  3.   <HEAD>
  4.   <META http-equiv="Content-type"
  5.   content="text/html; charset=iso-8859-2">
  6.   </HEAD>
  7.  
  8.   <BODY BGCOLOR=WHITE TEXT=BLACK>
  9.   <FORM METHOD=GET ACTION=dol.php>
  10.   Wpisz has&#322;o admina: <INPUT TYPE=TEXT SIZE=80 MAXLENGTH=80 NAME=HASLO>
  11.   </FORM>
  12.   </BODY>
  13.   </HTML>
  14. ?>


imie.php

  1. <?php
  2. <HTML>
  3.   <HEAD>
  4.   <META http-equiv="Content-type"
  5.   content="text/html; charset=iso-8859-2">
  6.   </HEAD>
  7.  
  8.   <BODY BGCOLOR=WHITE TEXT=BLACK>
  9.   <FORM METHOD=GET ACTION=dol.php>
  10.   Wpisz swoje imi&#281;: <INPUT TYPE=TEXT SIZE=80 MAXLENGTH=80 NAME=IMIE>
  11.   </FORM>
  12.   </BODY>
  13.   </HTML>
  14. ?>


index.php

  1. <?php
  2. <HTML>
  3.   <HEAD>
  4.   <TITLE>Chat</TITLE>
  5.   </HEAD>
  6.   <FRAMESET ROWS="*, 60" FRAMEBORDER=0 FRAMESPACING=0 BORDER=0>
  7.   <FRAME SRC=gora.php NAME="gora">
  8.   <FRAME SRC=imie.php NAME="dol" SCROLLING=NO>
  9.   <FRAME SRC=haslo.php NAME="dol" SCROLLING=NO>
  10.   </FRAMESET>
  11.   </HTML>
  12. ?>



I co? Nikt nie pomoże?
decha-design
  1. <?php
  2. If($_GET[TEKST]=="*clear" && $HASLO=="jakieś tam hasło")
  3. ?>


wnioskuję z tego, że chcesz czyścić to komendą
Cytat
*clear HASLO
tak? Nie tędy droga ... jak już to
  1. <?php
  2. If($_GET['TEKST']=="*clear HASLO")
  3. ?>
lub sprawdzać czy występuje Hasło w stringu ... strpos" title="Zobacz w manualu PHP" target="_manual etc.
avel
Nie...
Wcześniej zrobiłem (a przynajmniej próbowałem zrobić) okienko do wpisywania hasła...
No i miało być, że jeśli wpisze *clear i hasło które wpisze w okienko to moje hasło admina to mi skasuje plik do którego zapisywane są rozmowy i stworzy go od nowa...


No i okienko się pojawiało, ale nie chciało zatwierdzić wpisania hasła...
decha-design
to zamiast $HASLO daj $_GET['HASLO'] ... nie?

lub POST ...
avel
Nadal nie działa...
W ogóle nie ma okienka do wpisywania hasła...

;/ Chyba będę musiał się podszkolić... Może na forum znajdę jakieś poradniki?
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.