[PHP]Głupi problem z Pintos GB...

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
mpapmp
Posty: 3
Rejestracja: sob mar 06, 2004 10:16 pm

[PHP]Głupi problem z Pintos GB...

Post autor: mpapmp »

Witam z góry pisze ze jestem początkujący... mam głupi problem wrzuciłem wszystko pięknie ładnie na serwer, księga gości działa tylko nie wiem jak zrobić by wpisy były pokazywane od najnowszego a nie najstarszego.. Wiem ze to głupie pytanie ale plz pomózcie mi jestem jeszcze lama z PHP i nie wiem dokońca jak się z tym poradzić...

Pozdrawiam!!!
Hygin
Moderator
Posty: 650
Rejestracja: wt gru 31, 2002 10:29 pm
Lokalizacja: Wrocław
Kontakt:

Re: [PHP]Głupi problem z Pintos GB...

Post autor: Hygin »

Daj kod wyświetlający wpisy.
mpapmp
Posty: 3
Rejestracja: sob mar 06, 2004 10:16 pm

Re: [PHP]Głupi problem z Pintos GB...

Post autor: mpapmp »

Oto cały kod skryptu do wys.wpisów:
[php]<?php
<?
//plik konfiguracyjny Ksiegi Gosci

$konfig = file("config.n");
for($indexc = 0; $indexc < count($konfig); $indexc++)

$checkbox_mail = $konfig[0];
$checkbox_www = $konfig[1];
$checkbox_gg = $konfig[2];
$smile = $konfig[3];
$cenzor = $konfig[4];
$ip_pokaz = $konfig[5];
$host_pokaz = $konfig[6];
$id_pokaz = $konfig[7];
$ipban_pokaz = $konfig[8];

//include("ksiega/config.php");
//blokada IP - jesli nie masz dostepu to nie zobaczysz dalszej tresci strony !!!?>
<?
if ($ipban_pokaz == 1)
{
$ip = getenv ("REMOTE_ADDR");
$plik = "ban.szk";
$file = file($plik);
for ($i=0;$i<count($file);$i++){
$a = split("\|", chop($file[$i]));
if ($ip == $a[0]){
echo "<h3><center><font color=#FF0000>Brak dostępu!</font><b>Twój IP: $ip został zablokowany !!!</b><br> Jeśli nie wiesz dlaczego, to skontaktuj się z <a href=mailto:[email protected]>adminem serwisu</a>!!!";
exit();
}
}
}
?>

<blockquote><center>

<?
//*******************************************************************
//*** Ksiega Gosci UPDATE v2.0 by WebMaestro Sir KrOOlas ***
//*** Wszelkie informacje znajduja sie w zalaczonym pliku ***
//*** readme_update2.htm ***
//*** Pierwowzorem byl skrypt Pintosa - [email protected] ***
//*** ale ja rozbudowalem go o wiele dodatkowych funkcji ***
//*** Skrypt ten mozesz pobrac ze strony ***
//*** +++++++++++++++++++++++++++++++++++ ***
//*** ++ http://www.scriptbank.of.pl ++ ***
//*** +++++++++++++++++++++++++++++++++++ ***
//*** Wszelkie prawa zastrzezone - All rights reserved. ***
//*** Przyjeta data: 24.12.2002 - wigilia ;) ***
//*** Wszelkie pytania e-mail: [email protected] ***
//*** NIE USUWAJ - TEGO I TAK PRZEGLADARKA NIE WIDZI !!! ***
//*******************************************************************

// otwieranie plików i wyciąganie z nich danych
// po to, aby mozna bylo zliczyc ilosc wpisow w ksiedze
$myfile = file("req.n");
for($index = 0; $index < count($myfile); $index++)
?>
<?php
//wyswietla jakie funkcje sa aktywne i w zaleznosci od ustawien w config.php odpowiednia informacja

if ($smile == 1)
{
$usmiechy_stan = "<b><font size=2 color = #00FF00>Aktywne</font></b>";
}
else
{
$usmiechy_stan = "<b><font size=2 color = #FF0000>Nieaktywne</font></b>";
}
if ($cenzor == 1)
{
$cenzura_stan = "<b><font size=2 color = #00FF00>Aktywny</font></b>";
}
else
{
$cenzura_stan = "<b><font size=2 color = #FF0000>Nieaktywny</font></b>";
}
if ($ipban_pokaz == 1)
{
$ipban_pokaz_stan = "<b><font size=2 color = #00FF00>Aktywny</font></b>";
}
else
{
$ipban_pokaz_stan = "<b><font size=2 color = #FF0000>Nieaktywny</font></b>";
}
print ("
<p>");
//koniec informacji
?>
<p>
<BR><BR>
<?
echo "<table width=250><tr><td><font size=2><a onFocus=blur() href=18-3.php>Dodaj wpis</a></td><td><font size=2><a href=adorator.php>Administrator</a></td></tr></table><BR></center><BR><hr size=1 color=#FFCC00 width=100%>";
?>
<?
// otwieranie plików i wyciąganie z nich danych

$konfig = file("config.n");
for($indexc = 0; $indexc < count($konfig); $indexc++)

$myfile = file("req.n");
for($index = 0; $index < count($myfile); $index++)
$myfile1 = file("req1.n");
for($index = 0; $index < count($myfile1); $index++)
$myfile2 = file("req2.n");
for($index = 0; $index < count($myfile2); $index++)
$myfile3 = file("req3.n");
for($index = 0; $index < count($myfile3); $index++)
$myfile4 = file("req4.n");
for($index = 0; $index < count($myfile4); $index++)
$myfile5 = file("req5.n");
for($index = 0; $index < count($myfile5); $index++)
$myfile6 = file("req6.n");
for($index = 0; $index < count($myfile6); $index++)
$myfile7 = file("req7.n");
for($index = 0; $index < count($myfile7); $index++)
{
//wartosc jaka ma checkbox po zaznaczeniu, ma taka wartosc po to aby przeszla pozytywnie przez weryfikacje e-mail

$adr = "[email protected]";

//wartosc jaka ma radio po zaznaczeniu na tak
$ok = "1";

// kod odpowiedzialny za sprawdzenie czy uzytkownik zaznaczyl checkbox - Brak
//jesli tak - to wartosc pola przyjmuje $adr i nie jest wyswietlane w ksiedze

$jest1 = strstr($myfile1[$index], $adr);
$jest2 = strstr($myfile2[$index], $adr);
$jest3 = strstr($myfile6[$index], $adr);

//kod odpowiedzialny za sprawdzenie jakie jest dane ustwienie w panelu admina 1-tak lub 0-nie

$ip_pokaz = strstr($konfig[5], $ok);
$host_pokaz = strstr($konfig[6], $ok);
$id_pokaz = strstr($konfig[7], $ok);

// kod odpowiedzialny za wyświetlanie wpisów na stronie

if ($id_pokaz == true){
//$index_ok musi byc powiekszone o 1 poniewaz $index startuje od 0
$index_ok = $index+1;
print ("<BR><B><FONT size=1 COLOR=#FFCC00>ID:</FONT>   </B><font size=1 color=#CCFF66>");
print ("<b>".$index_ok."</b></font>");
}
print ("<BR><B><FONT COLOR=#FFCC00>Autor:</FONT>   </B><font color=#CCFF66>");
print ("<b>".$myfile[$index]."</b>");
print ("<br>");
if ($jest1 == false)
{
echo "<b>"."<FONT COLOR=#FFCC00>E-mail:</FONT> &nbsp"."</b>".("<A href='mailto:".$myfile1[$index]."'>".$myfile1[$index]."</A>")."<br>";
}
if ($jest2 == false)
{
echo "<B>"."<FONT COLOR=#FFCC00>WWW:</FONT>  &nbsp"."</B>".("<A href='http://".$myfile2[$index]."'>".$myfile2[$index]."</A>")."<br>";
}
if ($jest3 == false)
{
echo "<B>"."<FONT COLOR=#FFCC00>GG:</FONT>  &nbsp"."</B>".("<img src=\"http://www.gadu-gadu.pl/users/status.asp?id=$myfile6[$index]&styl=1\">")."<A href='gg:".$myfile6[$index]."'>".$myfile6[$index]."</A>"."<br>";
}
print ("<B><FONT COLOR=#FFCC00>Komentarz:</FONT>   </B>");
print ($myfile3[$index]);
print ("<br>");
print ("<B><FONT COLOR=#FFCC00>Data:</FONT>   </B><font size=1>");
print ($myfile4[$index]);
print ("</font><br>");

if ($ip_pokaz == true){
print ("<B><FONT COLOR=#FFCC00>IP:</FONT>   </B><font size=1>");
print ($myfile5[$index]);
print ("</font>");
}
if ($host_pokaz == true){
print ("<B><FONT COLOR=#FFCC00> HOST:</FONT>   </B><font size=1>");
print ($myfile7[$index]);
print ("</font><br>");
}
print ("<hr size=1 color=#FFCC00 width=100%>");
}
?>
?>[/php]
Mało co zmieniałem a nie wiem co zrobić. Z góry thx
Grzegorz Winiarski
Nowy
Nowy
Posty: 147
Rejestracja: pt lut 27, 2004 10:36 pm
Lokalizacja: Kraków

Re: [PHP]Głupi problem z Pintos GB...

Post autor: Grzegorz Winiarski »

Nie sprawdzałem, ale to powinno pomóc.
[php]
<?php
$myfile7 = file("req7.n");
$myfile7 = array_reverse($myfile7);
?>
[/php]

Skoro mówisz, że jesteś początkujący to dam Ci jeszcze kilka dobrych rad.
- nie używaj funkcji print jeśli nie musisz, ponieważ jest ona wolniejsza od echo (nie będe wnikał w szczegóły musisz się z tym pogodzić :) )
- wewnątrz pętli for nie stosuj takiego zapisu:
[php]
for($i=0; $i<count($myArray); $i++)
[/php]
to również spowalnia skrypt, w zależności od rozmiaru tablicy $myArray. Lepiej jest napisać to tak:
[php]
for($i=0, $size=count($myArray); $i<$size; $i++)
[/php]
tak wiem, troche mało przejrzyst ale zapewniam Cię, że o wiele bardziej efektywne.

Na konie powiedz mi do czego to jest?
[php]
$myfile = file("req.n");
for($index = 0; $index < count($myfile); $index++)
$myfile1 = file("req1.n");
for($index = 0; $index < count($myfile1); $index++)
$myfile2 = file("req2.n");
for($index = 0; $index < count($myfile2); $index++)
$myfile3 = file("req3.n");
for($index = 0; $index < count($myfile3); $index++)
$myfile4 = file("req4.n");
for($index = 0; $index < count($myfile4); $index++)
$myfile5 = file("req5.n");
for($index = 0; $index < count($myfile5); $index++)
$myfile6 = file("req6.n");
for($index = 0; $index < count($myfile6); $index++)
[/php]
Do czego są Ci potrzebne te wszystkie pętle?[/list]
mpapmp
Posty: 3
Rejestracja: sob mar 06, 2004 10:16 pm

Re: [PHP]Głupi problem z Pintos GB...

Post autor: mpapmp »

[php]<?php
$myfile = file("req.n");
for($index = 0; $index < count($myfile); $index++)
$myfile1 = file("req1.n");
for($index = 0; $index < count($myfile1); $index++)
$myfile2 = file("req2.n");
for($index = 0; $index < count($myfile2); $index++)
$myfile3 = file("req3.n");
for($index = 0; $index < count($myfile3); $index++)
$myfile4 = file("req4.n");
for($index = 0; $index < count($myfile4); $index++)
$myfile5 = file("req5.n");
for($index = 0; $index < count($myfile5); $index++)
$myfile6 = file("req6.n");
for($index = 0; $index < count($myfile6); $index++)
?>[/php]

Tam sa zapisywane dane wpisów ! Pseuda itd.. potrzebne zeby wysiwetlic dane..

[php]<?php
$myfile7 = file("req7.n");
$myfile7 = array_reverse($myfile7);
?>[/php]

Nie działa :cry: Ciągle to samo..
Grzegorz Winiarski
Nowy
Nowy
Posty: 147
Rejestracja: pt lut 27, 2004 10:36 pm
Lokalizacja: Kraków

Re: [PHP]Głupi problem z Pintos GB...

Post autor: Grzegorz Winiarski »

Spróbuj do każdego z $myfile zastosowac ten zapis
[php]<?php
$myfile = array_reverse($myfile);
$myfile1 = array_reverse($myfile1);
$myfile2 = array_reverse($myfile2);
...

?>[/php]

Jeśli dalej będzie źle to pokaż jak zapisujesz dane do plików.
ODPOWIEDZ