CyberBob
28.07.2003, 20:48:24
Bawiąc się php stworzyłem skrypcik do przechowywania spisu płyt CD. No i właśnie...Mam plik index.php, gdy go odpale zawiesza mi się mój smigłowiec i nie wiem dlaczego...Próbowałem już przeinstalować Apacha,MySQL i php ale nadal nic, dodam jeszcze że inne moje skrypty na 127.0.0.1 chodzą dobrze...Wykluczyłem już błąd w pliku includes/template.php i raczej includes/mysql.php. Wydaje mi się że coś sieknąłem w index.php ale nie mogę znaleźć tego odcinka kodu...Byłbym wdzięczny za wszelką pomoc...
BTW. Sorki za miejscami "nieefektywny", na razie nie brałem się za optymilizacje...
BTW.2 Jeśli już ktoś ściągnie skrypcik to niech sobie odpali readme.txt
BTW.3 Zapomniałbym linka do skrypta
Oto on:
http://cyberbob.website.pl/plyty.zip
spenalzo
28.07.2003, 22:23:30
To zapodaj tutaj ten plik index.php, a zobaczymy co da się zrobić.
CyberBob
30.07.2003, 06:52:09
sorki, że tak długo to trwało...oto kod:
[php:1:19d930e9cc]
<?php
# index.php #
# --------- #
# 2003 by CyberBoB #
# e-mail : cyberbob@inetia.pl #
define( 'SCRIPT', True );
$root_path = './';
include( $root_path . 'common.php' );
unset( $_SESSION['delete_name'], $_SESSION['delete_id'], $_SESSION['edit_id'] );
if( isset( $_GET['cat'] ) OR isset( $_SESSION['cat'] ) )
{
$cat = ( isset( $_GET['cat'] ) ) ? $_GET['cat'] : $_SESSION['cat'];
}
else
{
$cat = 'wszystkie';
}
$_SESSION['cat'] = $cat;
if( isset( $_GET['sort'] ) OR isset( $_SESSION['sort'] ) )
{
$sort = ( isset( $_GET['sort'] ) ) ? $_GET['sort'] : $_SESSION['sort'];
}
else
{
$sort = 'id';
}
if( isset( $_SESSION['sort'] ) )
{
$_SESSION['sort'] = $sort;
}
if( $cat == 'gry' OR empty( $_SESSION['count_gry'] ) )
{
$sql = "SELECT * FROM plyty WHERE kategoria = 'gry' ORDER BY $sort";
if( !( $result = $db -> query( $sql ) ) )
{
die( 'Bł?d przy pobieraniu informacji o płytach!' );
}
$gry = $db -> fetch_row_set( $result );
$_SESSION['count_gry'] = count( $gry );
}
if( $cat == 'filmy' OR empty( $_SESSION['count_filmy'] ) )
{
$sql = "SELECT * FROM plyty WHERE kategoria = 'filmy' ORDER BY $sort";
if( !( $result = $db -> query( $sql ) ) )
{
die( 'Bł?d przy pobieraniu informacji o płytach!' );
}
$filmy = $db -> fetch_row_set( $result );
$_SESSION['count_filmy'] = count( $filmy );
}
if( $cat == 'programy' OR empty( $_SESSION['count_programy'] ) )
{
$sql = "SELECT * FROM plyty WHERE kategoria = 'programy' ORDER BY $sort";
if( !( $result = $db -> query( $sql ) ) )
{
die( 'Bł?d przy pobieraniu informacji o płytach!' );
}
$programy = $db -> fetch_row_set( $result );
$_SESSION['count_programy'] = count( $programy );
}
if( $cat == 'wszystkie' )
{
$sql = "SELECT * FROM plyty ORDER BY $sort";
if( !( $result = $db -> query( $sql ) ) )
{
die( 'Bł?d przy pobieraniu informacji o płytach!' );
}
$wszystkie = $db -> fetch_row_set( $result );
$_SESSION['count_wszystkie'] = count( $wszystkie );
}
$kategorie = array(
array( 'nazwa' => 'gry', 'adres' => '?cat=gry', 'dymek' => 'Po kliknięciu w ten odno?nik w spisie pokazane zostaj? gry.', 'klasa' => ( $cat == 'gry' ) ? 'active' : '' ),
array( 'nazwa' => 'filmy', 'adres' => '?cat=filmy', 'dymek' => 'Po kliknięciu w ten odno?nik w spisie pokazane zostaj? filmy', 'klasa' => ( $cat == 'filmy' ) ? 'active' : '' ),
array( 'nazwa' => 'programy', 'adres' => '?cat=programy', 'dymek' => 'Po kliknięciu w ten odno?nik w spisie pokazane zostaj? programy', 'klasa' => ( $cat == 'programy' ) ? 'active' : '' ),
array( 'nazwa' => 'wszystkie', 'adres' => '?cat=wszystkie', 'dymek' => 'Po kliknięciu w ten odno?nik w spisie pokazane zostaj? wszystkie płytki.', 'klasa' => ( $cat == 'wszystkie' ) ? 'active' : '' ),
);
$title = 'CyberDISC :: Strona główna';
$naglowek = 'Spis Płyt CD :: Strona główna<br />gry[' . $_SESSION['count_gry'] . '], filmy[' . $_SESSION['count_filmy'] . '], programy[' . $_SESSION['count_programy'] . '], razem[' . $_SESSION['count_wszystkie'] . ']';
include( $root_path . 'includes/page_header.php' );
$tpl -> set_filenames( array(
'body' => 'index.tpl' )
);
foreach( $kategorie as $wartosc )
{
$tpl -> assign_subsection( 'kategorie', array(
'NAZWA' => $wartosc['nazwa'],
'ADRES' => $wartosc['adres'],
'DYMEK' => $wartosc['dymek'],
'KLASA' => $wartosc['klasa'] )
);
}
$tpl -> assign_blocks( array(
'KOLUMNA1' => ( $sort == 'id' ) ? '«Id»' : 'Id',
'KOLUMNA2' => ( $sort == 'nazwa' ) ? '«Nazwa gry»' : 'Nazwa gry',
'KOLUMNA3' => ( $sort == 'opis' ) ? '«Opis»' : 'Opis',
'KOLUMNA4' => ' ',
'KOLUMNA5' => ' ' )
);
foreach( ${$cat} as $row )
{
$row['opis'] = ( empty( $row['opis'] ) ) ? ' ' : $row['opis'];
$x = $x ? False : True;
$tpl -> assign_subsection( 'wiersze', array(
'KLASA' => $x ? 'row1': 'row2',
'1' => $row['id'],
'2' => $row['nazwa'],
'3' => $row['opis'],
'4' => '<a href="edit.php?id=' . $row['id'] . '" title="Kliknij jeżeli chcesz edytować dane tej płytki...">edycja</a>',
'5' => '<a href="delete.php?id=' . $row['id'] . '" title="Kliknij jeżeli chcesz usun?c t? płytke ze spisu...">usuń</a>' )
);
}
$tpl -> parse( 'body' );
include( $root_path . 'includes/page_footer.php' );
?>
[/php:1:19d930e9cc]
tak to wygląda...
CyberBob
31.07.2003, 19:19:39
a więc są tu jakieś bugi?
KaMeLeOn
31.07.2003, 21:56:51
Ciężko coś tu zauważyć, zwłaszcza gdy się serwer wiesza...
Przeprowadź kilka testów kluczowych zmiennych i kontroluj ich wartości, powinieneś w ten sposób (chociaż orientacyjnie) zobaczyć który kawałek kodu jest za to odpowiedzialny. Tak to ciężko coś powiedzieć zwłaszcza, że dołączasz inne pliki.
Ja przyjrzałbym się na początek temu:
[php:1:0547ee8d4f]<?php
foreach( ${$cat} as $row )
?>[/php:1:0547ee8d4f]
Może się php się gubi...