Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[php]Parse error: syntax error, unexpected T_STRING
#11
(07-07-2011, 12:54)KowR napisał(a): Na przyszłość po prostu wszystkie takie posty będą lądować w koszu. Nie ma kodu źródłowego? Nie ma pomocy!
Mądra decyzja.
Odpowiedz
#12
Proszę oto cały kod:
Kod PHP:
<?php
//włączamy bufor
ob_start();

//pobieramy zawartość pliku ustawień
require_once('var/ustawienia.php');

//startujemy lub przedłużamy sesję
session_start();

//dołączamy plik, który sprawdzi czy napewno mamy dostęp do tej strony
require_once('test_zalogowanego.php');


//pobieramy nagłówek strony
require_once('gora_strony.php');

//wyświetlimy nagłówek sklepu
echo "<p><b>Sklep</b><hr/></p>";

?> 
<link rel='icon' href='www/ico.ico' type='image/x-icon' />
<link rel='shortcut icon' href='www/ico.ico' type='image/x-icon' />

<img src="www/sklep.JPG" alt="Sklep" border="0" width="375" hight="165"></img>

<?php
//wyświetlamy działy sklepu
echo "
<div style='width:100%; text-align:center;'>
    <a href='sklep.php?typ=bron'>broń</a>  |
    <a href='sklep.php?typ=tarcza'>tarcze</a> |
    <a href='sklep.php?typ=zbroja'>zbroje</a> |
    <a href='sklep.php?typ=helm'>hełmy</a> |
    <a href='sklep.php?typ=amulet'>amulety</a>

</div>
<hr/>

"
;


//lista typów przedmiotów, bez polskich liter
$typy = array('bron','tarcza','zbroja','helm','amulet');


//jeżeli nie wybrano typu to ustawiamy domyślny typ przedmiotów do kupienia na broń
if(empty($_GET['typ'])) $_GET['typ'] = 'bron';

//sprawdzamy czy gracz wybrał dozwolony typ przedmiotów, jeżeli nie, to pokaż listę broni
if(!in_array($_GET['typ'],$typy)) $_GET['typ'] = 'bron';
//więcej o in_array możesz poczytać na http://php.net/manual/pl/function.in-array.php

//sprawdzamy czy przypadkiem nie wybrał kupna jakiegoś przedmiotu
if(!empty($_GET['kup'])){
    
//w zmiennej kup przechowuje się tylko numer kupowanego przedmiotu, zatem wykonajmy rzutowanie typu na liczbę całkowitą, zabezpieczając tym samym skrypt przed niechcianymi danymi
    
$_GET['kup'] = (int)$_GET['kup'];

    
//pobierzmy dane kupowanego przedmiotu
    
$item mysql_fetch_array(mysql_query("select * from przedmioty where przedmiot = ".$_GET['kup']." and typ='".$_GET['typ']."'"));

    if(empty(
$item)){
        
//jeżeli taki przedmiot nie istnieje, np bo gracz kombinował w adresie strony wpisując samemu jakieś nieistniejące dane
        
echo "nie ma takiego przedmiotu w sklepie<hr/>";
    } elseif(
$item['cena_kup'] > $uzytkownik['zloto']) {
        
//przedmiot jest, ale gracz nie ma tyle złota
        
echo "nie masz tyle złota <hr/>";
    } else {
        
//wszystko ok, kup przedmiot
        
mysql_query("insert into przedmioty_gracze (gracz_id, przedmiot_id) value (".$uzytkownik['gracz'].",".$_GET['kup'].")");
        
        
//zabierz odpowiednią ilość złota graczowi
        
mysql_query("update gracze set zloto = zloto - ".$item['cena_kup']." where gracz = ".$uzytkownik['gracz']);

        
$uzytkownik['zloto'] -= $item['cena_kup'];
        echo 
"kupiono przedmiot: <i>".$item['nazwa']."</i> <hr/>";
    }
} elseif(!empty(
$_GET['sprzedaj'])){
    
// a może wciśnięto sprzedaż przedmiotu


    
$_GET['sprzedaj'] = (int)$_GET['sprzedaj'];

    
//pobierzmy dane przedmiotu
    
$item mysql_fetch_array(mysql_query("select * from przedmioty_gracze inner join przedmioty on przedmiot_id = przedmiot where id = ".$_GET['sprzedaj']." and typ='".$_GET['typ']."' and gracz_id = ".$uzytkownik['gracz']));

    if(empty(
$item)){
        
//jeżeli taki przedmiot nie istnieje, np bo gracz kombinował w adresie strony wpisując samemu jakieś nieistniejące dane
        
echo "nie masz takiego przedmiotu<hr/>";
    } elseif(
$item['zalozony'] == 1){
        
//jeżeli przedmiot jest założony to nie można go sprzedawać
        
echo "nie możesz sprzedać założonego przedmiotu<hr/>";
    }else {
        
//wszystko ok, sprzedaj przedmiot
        
mysql_query("delete from przedmioty_gracze where gracz_id = ".$uzytkownik['gracz']." and id= ".$_GET['sprzedaj']);
        
        
//zabierz odpowiednią ilość złota graczowi
        
mysql_query("update gracze set zloto = zloto + ".$item['cena_sprzedaj']." where gracz = ".$uzytkownik['gracz']);

        
$uzytkownik['zloto'] += $item['cena_sprzedaj'];
        echo 
"sprzedano przedmiot: <i>".$item['nazwa']."</i> <hr/>";
    }
}

// wyświetl info o stanie portfela gracza
echo "
Posiadasz "
.$uzytkownik['zloto']." złota
<hr/>
"
;


//pobieramy przedmioty ze sklepu, jeżeli chcesz by były pobierane wg ceny rosnąco zamień DESC na ASC
$sql mysql_query("select * from przedmioty where typ='".$_GET['typ']."' order by cena_kup desc");

//sprawdzamy ilość wyszukanych przedmiotów
if(mysql_num_rows($sql) == 0)
    echo 
"nie ma przedmiotów tego typu w sklepie";
else {

    
//wyświetlamy nagłówek tabelki z listą przedmiotów
    
echo "
    <table>
    <table border='1px'>
    <tr align='center'>
        <th>obrazek</th>
        <th>nazwa</th>
        <th>cena</th>
        <th>atak</th>
        <th>obrona</th>
        <th>życie</th>
        <th>obrażenia<br/>min</th>
        <th>obrażenia<br/>max</th>
        <th></th>
    </tr>
    "
;

    while(
$przedmiot mysql_fetch_array($sql)){
        
$opcje "";

        
//jeżeli gracz ma odpowiednią ilość złota to pokazujemy link do kupna
        
if($uzytkownik['zloto'] >= $przedmiot['cena_kup']){
            
$opcje "<a href='sklep.php?typ=".$_GET['typ']."&kup=".$przedmiot['przedmiot']."'>kup za ".$przedmiot['cena_kup']." złota</a>";
        }

        
//dla każdego przedmiotu wyświetlamy jego dane
        
echo "
        <tr align='center'>
            <td align='center'><img src="
.$przedmiot['obrazek']."></td>
            <td align='left'>"
.$przedmiot['nazwa']."</td>
            <td>"
.$przedmiot['cena_kup']."</td>
            <td>"
.$przedmiot['atak']."</td>
            <td>"
.$przedmiot['obrona']."</td>
            <td>"
.$przedmiot['zycie_max']."</td>
            <td>"
.$przedmiot['obrazenia_min']."</td>
            <td>"
.$przedmiot['obrazenia_max']."</td>
            <td align='right'>"
.$opcje."</td>
        </tr>
        "
;
    }
    echo 
"
    </table>
    "
;
}



//pobieramy przedmioty z ekwipunku gracza, ale tylko te, które nie są założone (zalozony = 0)
$sql mysql_query("select * from przedmioty_gracze inner join przedmioty on przedmiot_id = przedmiot where gracz_id = ".$uzytkownik['gracz']);

//sprawdzamy ilość wyszukanych przedmiotów
if(mysql_num_rows($sql) != 0) {
    
//jeżeli gracz ma jakieś niezałożone przedmioty w ekwipunku
    //wyświetlamy nagłówek tabelki z listą przedmiotów
    
echo "
    <br/><br/><b>Plecak</b><hr/>
    <table>
    <tr align='center'>
        <table border='1px'>
        <th>obrazek</th>
        <th>nazwa</th>
        <th>cena</th>
        <th>atak</th>
        <th>obrona</th>
        <th>życie</th>
        <th>obrażenia<br/>min</th>
        <th>obrażenia<br/>max</th>
        <th></th>
    </tr>
    "
;

    while(
$przedmiot mysql_fetch_array($sql)){

        
//dla każdego przedmiotu wyświetlamy jego dane
        
echo "
        <tr align='center'>
            <td align='center'><img src="
.$przedmiot['obrazek']."></td>
            <td align='left'>"
.$przedmiot['nazwa']."</td>
            <td>"
.$przedmiot['cena_sprzedaj']."</td>
            <td>"
.$przedmiot['atak']."</td>
            <td>"
.$przedmiot['obrona']."</td>
            <td>"
.$przedmiot['zycie_max']."</td>
            <td>"
.$przedmiot['obrazenia_min']."</td>
            <td>"
.$przedmiot['obrazenia_max']."</td>
            <td align='right'><a href='sklep.php?typ="
.$przedmiot['typ']."&sprzedaj=".$przedmiot['id']."'>sprzedaj za ".$przedmiot['cena_sprzedaj']." złota</a></td>
        </tr>
        "
;
    }
    echo 
"
    </table>
    "
;
}


//pobieramy zawartość menu
require_once('menu.php');

//pobieramy zawartość prawego bloku
require_once('prawy_blok.php');

//pobieramy stopkę
require_once('dol_strony.php');

//wyłączamy bufor
ob_end_flush();
?>
Odpowiedz
#13
Ale masz syf w tym kodzie. Musisz postudiować trochę podstaw PHP. Nie wiem dlaczego tak robisz, ale raz wyświetlasz np. obrazki bez PHP, a po chwili wrzucasz <?php i echo...
Odpowiedz
#14
Problem rozwiązany, prawidłowy kod to:
Kod PHP:
<li> <class='active'  href='sklep.php?typ=bron'><img src='www/bron.png' alt='' /></a
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Problem parse error:syntax error, unexpected T_STRING in /var/www/sites/yoyo.pl/t/e/t Lucyfer98 2 2,478 07-12-2010, 14:39
Ostatni post: Lucyfer98
  [PHP] Błąd syntax unexpected T_ELSE x.O 5 4,869 26-07-2010, 19:00
Ostatni post: Dhofca

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl