Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z własnym skryptem
Forum PHP.pl > Forum > Gotowe rozwiązania
CyberBob
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 smile.gif Oto on: http://cyberbob.website.pl/plyty.zip
spenalzo
To zapodaj tutaj ten plik index.php, a zobaczymy co da się zrobić.
CyberBob
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' ) ? '&laquo;Id&raquo;' : 'Id',
'KOLUMNA2' => ( $sort == 'nazwa' ) ? '&laquo;Nazwa gry&raquo;' : 'Nazwa gry',
'KOLUMNA3' => ( $sort == 'opis' ) ? '&laquo;Opis&raquo;' : 'Opis',
'KOLUMNA4' => '&nbsp;',
'KOLUMNA5' => '&nbsp;' )
);

foreach( ${$cat} as $row )
{
$row['opis'] = ( empty( $row['opis'] ) ) ? '&nbsp;' : $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
a więc są tu jakieś bugi?
KaMeLeOn
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...
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-2024 Invision Power Services, Inc.