2012-12-13 103 views
0

我一直在试图为一个组创建一个网站,但我遇到了一些错误,我似乎无法修复自己。我的问题是,如果你们中的一些人能够发现我做错了什么,我一直在寻找,似乎无法找到任何开放或任何相似的东西。解析错误:语法错误,意外的文件结尾

在此先感谢

<?php 
session_start(); 

//Loading template power 
include_once("../attritiongaming/tpl/class.TemplatePower.inc"); 

//Linking templatepower to html 
$tpl = new TemplatePower("test.html"); 

//Connecting to database 
$db = new PDO('mysql:host=localhost;dbname=attritiongaming','root', 'solidusaphm8932'); 
    $db ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

$tpl->assign("name", "Jessey"); 

//Echo tables 
echo 
"<table border='1'> 
<tr> 
<th>ID</th> 
<th>firstname</th> 
<th>lastname</th> 
<th>username</th> 
<th>emailadress</th> 
<th>edit</th> 
<th>remove</th> 
</tr>"; 

//defining page 
$page = isset($_GET['action']) ? $_GET['action'] : ''; 

//Start switch for page 
switch ($page) 
    { 
    case 'edit'; 

     $tpl->newBlock("edit"); 

    try 
{ 
    $db = new PDO('mysql:host=localhost;dbname=attritiongaming','root', 'solidusaphm8932'); 
    $db ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    $sql ="UPDATE members SET firstname='firstname' WHERE firstname='jessey'"; 

    //Secure with PDO 
    $stmt = $db->prepare($sql); 

    $stmt->bindParam(':firstname', $firstname, PDO::PARAM_STR); 
    $stmt->bindParam(':lastname', $lastname, PDO::PARAM_STR); 
    $stmt->bindParam(':username', $username, PDO::PARAM_STR); 
    $stmt->bindParam(':emailadress', $emailadress, PDO::PARAM_STR); 
    $stmt->bindParam(':password', $password, PDO::PARAM_STR); 

    //execute sql query 
    $stmt->execute(); 
} 

//Catch errors and show them. 
catch(PDOException $e) 
{ 
    echo '<pre>'; 
    echo 'line '.$e->getLine().'<br>'; 
    echo 'file'.$e->getFile().'<br>'; 
    echo 'Error'.$e->getMessage(); 
    echo '</pre>'; 
} 

    default: 

    $tpl->newBlock("default"); 

    if (isset($_POST['search'])) 
    { 
    $tpl->assign("searchterm", $_POST['search']); 
    } 

if (isset($_POST['searching'])) 
{ 
    $sql ="SELECT * FROM members WHERE username LIKE :search"; 

    $stmt = $db->prepare($sql); 

    $search = $_POST['search']. '%'; 

    $stmt->bindParam(':search', $search, PDO::PARAM_STR); 

    $stmt->execute(); 
} 
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
    { 
    $tpl->newBlock(""); 
    } 

    $sql= "SELECT * FROM members"; 
$stmt=$db->prepare($sql); 

$stmt->execute(); 

    //Loop show all members 
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
    { 
    echo "<tr>"; 
    echo "<td>" . $row['ID'] . "</td>"; 
    echo "<td>" . $row['firstname'] . "</td>"; 
    echo "<td>" . $row['lastname'] . "</td>"; 
    echo "<td>" . $row['username'] . "</td>"; 
    echo "<td>" . $row['emailadress'] . "</td>"; 
    echo "<td> <a href='?action=edit&id=".$row['ID']."'>Edit</a></td>"; 
    echo "<td> <a href='?action=remove&id=".$row['ID']."'>Remove</a></td>"; 
    echo "</tr>"; 
    } 

?> 
+1

可能缺少一个} - 使用一个编辑器或者IDE来匹配大括号,或者(至少)不错的缩进 –

+2

你错过了'switch'语句的结尾符号,把'}'放在末尾 – vlcekmi3

+0

<?php missing in代码 –

回答

3

你没有关闭开关并没有“破发”在默认情况下结束

+0

你的意思是默认情况下的权利?在默认情况下不需要中断。 – jValdron

+1

在案例中使用break总是一个好主意。 – Lenin

0

开关的情况下右括号未闭合

相关问题