GamesMaxed
Legacy Member
Hallo,
ik ben bezig met een kleine web app te maken maar ik zit met volgend probleem: telkens als ik mijn index.php open krijg ik "Parse error: syntax error, unexpected '<' in D:\xampp\htdocs\Prices\table.php on line 17 "
Weet iemand hoe ik dat kan fixen?
index.php
item.php
table.php
config.php
Later zou ik ook nog met een lokala database gaan werken op minder dataverkee te hebben, en dat de gebruiker dan op een knopje moet drukken als hij wilt dat alles updated maar dat is iets voor later.
Die js die er bij index.php erbij staat komt door het forum zelf, kan ik niets aan doen. In het echt staat die er niet bij.
ik ben bezig met een kleine web app te maken maar ik zit met volgend probleem: telkens als ik mijn index.php open krijg ik "Parse error: syntax error, unexpected '<' in D:\xampp\htdocs\Prices\table.php on line 17 "
Weet iemand hoe ik dat kan fixen?
index.php
PHP:
<?php
// Tijd berekenen hoelang het duurt op pagina te generen.
$time['start'] = microtime();
$time['start'] = explode(' ', $time['start']);
// Klassen importeren & aanmaken als het nodig is
require_once('config.php');
require_once('item.php');
require_once('table.php'); // @TODO: Table klasse maken die het makkelijker maakt op tabellen te maken. ?array voor alle items?
/* ********************
* !! OBJECTS MAKEN !! *
***********************/
// TOOLS
// axe's
$item['tool']['axe'][0] = new Item('Bronze axe');
$item['tool']['axe'][1] = new Item('Iron axe');
$item['tool']['axe'][2] = new Item('Steel axe');
$item['tool']['axe'][3] = new Item('Black axe');
$item['tool']['axe'][4] = new Item('Mithril axe');
$item['tool']['axe'][5] = new Item('Adamant axe');
$item['tool']['axe'][6] = new Item('Rune axe');
$item['tool']['axe'][7] = new Item('Dragon axe');
// pickaxe
$item['tool']['pickaxe'][0] = new Item('Bronze pickaxe');
$item['tool']['pickaxe'][1] = new Item('Iron pickaxe');
$item['tool']['pickaxe'][2] = new Item('Steel pickaxe');
$item['tool']['pickaxe'][3] = new Item('Black pickaxe');
$item['tool']['pickaxe'][4] = new Item('Mithril pickaxe');
$item['tool']['pickaxe'][5] = new Item('Adamant pickaxe');
$item['tool']['pickaxe'][6] = new Item('Rune pickaxe');
// WAPENS
// Sword
$item['weapon']['sword'][0] = new Item('Bronze sword');
$item['weapon']['sword'][1] = new Item('Iron sword');
$item['weapon']['sword'][2] = new Item('Steel sword');
$item['weapon']['sword'][3] = new Item('Black sword');
$item['weapon']['sword'][4] = new Item('Mithril sword');
$item['weapon']['sword'][5] = new Item('Adamant sword');
$item['weapon']['sword'][6] = new Item('Rune sword');
// Longsword
$item['weapon']['longsword'][0] = new Item('Bronze longsword');
$item['weapon']['longsword'][1] = new Item('Iron longsword');
$item['weapon']['longsword'][2] = new Item('Steel longsword');
$item['weapon']['longsword'][3] = new Item('Black longsword');
$item['weapon']['longsword'][4] = new Item('Mithril longsword');
$item['weapon']['longsword'][5] = new Item('Adamant longsword');
$item['weapon']['longsword'][6] = new Item('Rune longsword');
$item['weapon']['longsword'][7] = new Item('Dragon longsword');
// Scimitars
$item['weapon']['scimitar'][0] = new Item('Bronze Scimitar');
$item['weapon']['scimitar'][1] = new Item('Iron Scimitar');
$item['weapon']['scimitar'][2] = new Item('Steel Scimitar');
$item['weapon']['scimitar'][3] = new Item('Black Scimitar');
$item['weapon']['scimitar'][4] = new Item('Mithril Scimitar');
$item['weapon']['scimitar'][5] = new Item('Adamant Scimitar');
$item['weapon']['scimitar'][6] = new Item('Rune Scimitar');
$item['weapon']['scimitar'][7] = new Item('Dragon Scimitar');
// Daggers
$item['weapon']['dagger'][0] = new Item('Bronze dagger');
$item['weapon']['dagger'][1] = new Item('Iron dagger');
$item['weapon']['dagger'][2] = new Item('Steel dagger');
$item['weapon']['dagger'][3] = new Item('Black dagger');
$item['weapon']['dagger'][4] = new Item('Mithril dagger');
$item['weapon']['dagger'][5] = new Item('Adamant dagger');
$item['weapon']['dagger'][6] = new Item('Rune dagger');
$item['weapon']['dagger'][7] = new Item('Dragon dagger');
?>
<!doctype html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script>
<script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script>
<title>Price guide</title>
<style>
img{
width: auto;
height: auto;
}
</style>
</head>
<body>
<p>
In deze prijs guide worden alle prijzen van Oldschool Runescape op een overzichtelijk manier weergegeven.<br/>
De prijzen zijn realtime en worden geüpdate telkens als u uw pagina herlaad! <br />
</p>
<?php
$table = new Table();
echo '<h2>Tools</h2> <hr />';
$table->draw($item['tool']['axe'], 'Axe');
$table->draw($item['tool']['pickaxe'], 'Pickaxe');
echo '<h2>Wapens</h2>';
$table->draw($item['weapon']['sword'], 'Sword');
$table->draw($item['weapon']['longsword'], 'Longsword');
$table->draw($item['weapon']['scimitar'], 'Scimitar');
?>
<p>
Deze site is mogelijk gemaakt door <a href="http://www.zybez.net">Zybez</a> en draait op zijn prijzen.
<!-- TIJD -->
<?php
$time['end'] = microtime(); //"einde" meten. Alles hierna zit dus NIET meer bij de bereking van hoelang het duurt
$time['end'] = explode(' ', $time['end']);
$time['load'] = $time['end'][0] - $time['start'][0];
$time['load'] = round($time['load'], 4);
$time['load'] = str_replace('.' , ',' , $time['load']); // Van punten naar kommas gaan, omdat we in de BeNeLux kommas gebruiken inplaats van punten gelijk in de USA.
echo 'Pagina gegenereed in ' . $time['load'] . ' seconden';
?>
</p>
<script type="text/javascript">if(!NREUMQ.f){NREUMQ.f=function(){NREUMQ.push(["load",new Date().getTime()]);var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://d1ros97qkrwjf5.cloudfront.net/42/eum/rum.js";document.body.appendChild(e);if(NREUMQ.a)NREUMQ.a();};NREUMQ.a=window.onload;window.onload=NREUMQ.f;};NREUMQ.push(["nrf2","beacon-1.newrelic.com","d294042fdc","727136","NAFbYBBVCBZVAEFaWA1LbEYLG0w=",0,124,new Date().getTime()]);</script>
<script type="text/javascript">if(!NREUMQ.f){NREUMQ.f=function(){NREUMQ.push(["load",new Date().getTime()]);var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://d1ros97qkrwjf5.cloudfront.net/42/eum/rum.js";document.body.appendChild(e);if(NREUMQ.a)NREUMQ.a();};NREUMQ.a=window.onload;window.onload=NREUMQ.f;};NREUMQ.push(["nrf2","beacon-1.newrelic.com","d294042fdc","727136","NAFbYBBVCBZVAEFaWA1LbEYLG0w=",0,128,new Date().getTime()]);</script>
</body>
</html>
<?php
if(Config::$debug){
echo '<pre>';
print_r($item);
echo '</pre>';
}
?>
item.php
PHP:
<?php
class Item{
/*
De config class moet niet geïmporteerd worden aangezien deze als is geimporteerd in index.php
*/
// Variablen
public $zybezLinkAPI;
public $vars =[
'name',
'zybezLink',
'lowPrice',
'medPrice',
'highPrice',
'picture',
'alch'];
function __construct($name){
$this->name = $name;
$name = str_replace(' ', '+', $name); //De spaties in de naam veranderen naar '+' zodat de link werkt
$this->zybezLinkAPI = Config::$zybezURLAPI . $name; //Link maken naar Zybez Price guide
//JSON halen van Zybez via cUrl
$ch = curl_init();
//Opties cURL
curl_setopt($ch, CURLOPT_URL, $this->zybezLinkAPI); // De url naar Zybez
curl_setopt($ch, CURLOPT_HEADER, false); // <head> niet mee opvragen
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Niet echo'n als het wordt uitgevoerd
$JSON = curl_exec($ch); //Uitvoeren van cURL en opslagen in JSONlink
curl_close($ch); //Sluiten van cURL
// JSON decoden en in array gooien
$array = JSON_decode($JSON, true);
// Array uitprinten als debug = true
/*
if(Config::$debug){
echo '<pre>';
print_r($array);
echo '</pre>';
}
*/
// Selecteren welke index we nodig hebben
$index = 0;
if(count($array) !== 1){ //We moeten enkel een index berekenen als er meer dan 1 item in de JSON string staat (Bv. rune axe)
for($i = 0; $i <= count($array); $i++){
if($array[$i]['name'] == $this->name){
$index = $i;
break;
}
}
}
// Variablen opslagen
$this->vars['name'] = $array[$index]['name']; // De naam wordt nog eens opgeslagen zodat de hoofdletters correct zijn
$this->vars['lowPrice'] = $array[$index]['recent_low'];
$this->vars['medPrice'] = round($array[$index]['average']); //Om een of andere redenen komen hier altijd 3 cijfers na de komma, wat ik niet wil.
$this->vars['highPrice'] = $array[$index]['recent_high'];
$this->vars['picture'] = $array[$index]['image'];
$this->vars['alch'] = $array[$index]['high_alch'];
$this->vars['zybezLink'] = Config::$zybezURL . $array[$index]['id'];
return vars;
}
}
?>
table.php
PHP:
<?php
class Table{
public function draw($array, $tableHeader){
//Hoofd van de tabel opmaken
echo '<h3>' . $tableHeader . '</h3>';
echo '<table>';
echo '<tr>';
echo '<th>Plaatje</th>';
echo '<th>Naam</th>';
echo '<th>Minimum prijs</th>';
echo '<th>Markt pijs</th>';
echo '<th>Maximum prijs</th>';
echo '<th>High alch</th>';
echo '</tr>';
//alles afgaan, een for werkt hier beter als een foreach
for($i = 0; $i =< count($array); $i++) {
// Plaatje
echo '<img src="'. $array[$i]['picture'] .'" alt ="'. $array[$i]['name'] .'"/> ';
// Naam
echo '<tr>'. $array[$i]['name'] .'</tr>';
// Lage prijs
echo '<tr>'. $array[$i]['lowPrice'] .'</tr>';
// Marktpijs
echo '<tr>'. $array[$i]['medPrice'] .'</tr>';
// Hoge prijs
echo '<tr>'. $array[$i]['highPrice'] .'</tr>';
// High alch
echo '<tr>'. $array[$i]['alch'] .'</tr>';
}
echo '</table>';
}
}
?>
config.php
PHP:
<?php
class Config{
public static $zybezURLAPI = 'http://forums.zybez.net/pages/2007-price-guide-api?term=';
public static $zybezURL = 'http://forums.zybez.net/pages/2007-price-guide?id=';
public static $debug = true;
}
?>
Later zou ik ook nog met een lokala database gaan werken op minder dataverkee te hebben, en dat de gebruiker dan op een knopje moet drukken als hij wilt dat alles updated maar dat is iets voor later.
Die js die er bij index.php erbij staat komt door het forum zelf, kan ik niets aan doen. In het echt staat die er niet bij.
.
.
)
