Skocz do zawartości
AdamLonXa

php Problem w skrypcie PHP - Parse error: syntax error, unexpected end of file

Rekomendowane odpowiedzi

Witam,

 

Mam problem w skrypcie PHP a dokładniej Parse error: syntax error, unexpected end of file świerzakiem i nie wiem jak to rozwiązać więc do rzeczy. Pisze że problem jest w 141 linijce (ostatniej te HTML)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>
<HEAD>
<TITLE>PHPBank - Installation</TITLE>
<META NAME="GENERATOR" CONTENT="MAX's HTML Beauty++ ME">
<style>

<!-- 
body { background-color: #FFFFFF; color: #000000; font-size: 11px; font-family: "Tahoma"; }

table { background-color: #000000; }

.centertable { background-color: #FFFFFF; }

td { background-color: #FFFFFF; font-size: 11px; font-family: "Tahoma"; }

i { font-size: 12px; font-style : italic; font-family: "Tahoma"; }

a { font-weight:bold; text-decoration: none; color: #888888; }

a:hover { font-weight:bold; text-decoration: none; color: #BBBBBB; }

h1 { color: #444444; font-size: 15px; font-weight:bold; }

h2 { color: #888888; font-size: 13px; font-weight:bold; }

h3 { color: #FF0000; font-size: 11px; font-weight:bold; }

--> 
</style>
</HEAD>
<BODY>
<table height=100% width=100% class=centertable><tr><td class=centertable height=100% width=100% valign=middle align=center>
<table cellpadding=15><tr><td align=center colspan=2>
<img src="topimg.png">
<h1>PHPBank Installation - Installing</h1>
<?php
$nation=strip_tags($_POST['nation']);
$currencysymbol=strip_tags($_POST['currencysymbol']);
$apassword=$_POST['apassword'];
$intromessage=$_POST['intromessage'];

$login=strtolower(strip_tags($_POST['login']));
$password=md5($_POST['password']);
$name=strip_tags($_POST['name']);
$description=strip_tags($_POST['description']);
$balance=$_POST['balance'];
$email=strip_tags($_POST['email']);
//Checks
	  function checkChars($stringToCheck,$allowedChars)
      {
      $returnvalue=TRUE;
         for ($i=0;$i!=strlen($stringToCheck);$i++)
         {
         $curchar = substr($stringToCheck, $i, 1);
         if (!strstr($allowedChars,$curchar))
         {$returnvalue=FALSE;}
         }
      return $returnvalue;
      }

if(!checkChars($login,"abcdefghijklmnopqrstuvwxyz"))
{die ("<h3>ERROR: Your login ID can contain only letters.</h3>");}

if(!checkChars($balance,"1234567890."))
{die ("<h3>ERROR: Balance must be a number.</h3>");}

if (strlen($description)>100)
{die ('<h3>ERROR: The description is longer than 100 characters. Please limit its length to 100 at max.</h3>');}

if (strlen($name)>30)
{die ('<h3>ERROR: The account name is longer than 30 characters. Please limit its length to 30 at max.</h3>');}

if (strlen($login)>20)
{die ('<h3>ERROR: The login id is longer than 20 characters. Please limit its length to 20 at max.</h3>');}

//create structure

	//connect
	$mysql_host = 'localhost'; //tutaj jest localhost ale może być adres do bazy danych
$port = '3306'; // domyślny numer portu
$username = 'najn';
$password = 'noł';
$database = 'nein';

try{
    $pdo = new PDO('mysql:host=' . $mysql_host . ';dbname=' . $database . ';port=' . $port . ";charset=utf8", $username, $password );
    echo('<p>Houston mamy połączenie!</p>');
}catch(PDOException $e){
    echo('<p>Houston mamy problem! Nie możemy się połączyć!</p>');
    die(); // Nie połączyłeś się? To nie ma co robić nic więcej!

$query="CREATE TABLE phpb_accounts ( id int(11) NOT NULL auto_increment, login text NOT NULL, password text NOT NULL, name text NOT NULL, description text NOT NULL, balance text NOT NULL, active int(11) NOT NULL default '0', email text NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM;";
$result = mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not create the account table. Your MySQL info might not be correct.</h3>');}
echo "..Account table created.<br>";
$query="CREATE TABLE phpb_layout ( bordercolor text NOT NULL, bgcolor text NOT NULL, insidecolor text NOT NULL, h1color text NOT NULL, h1size text NOT NULL, h2color text NOT NULL, h2size text NOT NULL, h3color text NOT NULL, h3size text NOT NULL, acolor text NOT NULL, ahovercolor text NOT NULL, size text NOT NULL, textcolor text NOT NULL, font text NOT NULL ) TYPE=MyISAM;";
$result=mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not create the layout table. Something must be wrong with MySQL.</h3>');}
echo "..Layout table created.<br>";
$query="CREATE TABLE phpb_other ( accounts int(11) NOT NULL default '0', transactions int(11) NOT NULL default '0', latesttransaction text NOT NULL, intromessage text NOT NULL, nation text NOT NULL, currencysymbol text NOT NULL, topimg text NOT NULL, apassword text NOT NULL ) TYPE=MyISAM;";
$result=mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not create the information table. Something must be wrong with MySQL.</h3>');}
echo "..Information table created.<br>";
$query="CREATE TABLE phpb_transactions ( id int(11) NOT NULL auto_increment, requester int(11) NOT NULL default '0', acceptor int(11) NOT NULL default '0', direction int(11) NOT NULL default '0', amount double NOT NULL default '0', comment text NOT NULL, status int(11) NOT NULL default '0', timestamp text NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM;";
$result=mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not create the transaction table. Something must be wrong with MySQL.</h3>');}
echo "..Transaction table created.<br><br>";

//insert data
$query="INSERT INTO phpb_other VALUES (1, 0, '', '$intromessage', '$nation', '$currencysymbol', 'topimg.png', '$apassword');";
$result=mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not insert bank data! Something must be wrong with MySQL.</h3>');}
echo "..Bank data inserted.<br>";

$query="INSERT INTO phpb_layout VALUES ('000000', 'FFFFFF', 'FFFFFF', '444444', '15', '888888', '13', 'FF0000', '11', '888888', 'BBBBBB', '11', '000000', 'Tahoma');";
$result=mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not insert layout data! Something must be wrong with MySQL.</h3>');}
echo "..Layout data inserted.<br>";

$query="INSERT INTO phpb_accounts (`login`,`password`,`name`,`description`,`balance`,`active`,`email`) VALUES ('$login','$password','$name','$description','$balance','1','$email')";
$result=mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not insert government account data! Something must be wrong with MySQL.</h3>');}
echo "..Government account data inserted.<br><br>";
?>
<h2>Installation complete!</h2>
The installation was sucessfully completed. You may now go to the <a href="index.php">Index</a>.<br>
Before continuing, delete the files "install.php" and "doinstall.php"!<br>
If you don't delete them, anyone could erase the database!<br>
</td></tr></table>
</td></tr></table>
</BODY>
</HTML> 

Koleszka napisał że prawdopodobnie jest za mało klamer albo za dużo ale ja sie nie znam 😕

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi

Przezbroiłem się w Visual Studio Code i pokazuje mi że nie mam żadnych błędów, poprawiłem to z komentarzami ale nadal mam ten błąd...


Edytowane przez DOMCIO

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi

@AdamLonXa napisałeś chociaż 1 linijke tego kodu? Ja rozumiem że sie uczysz ale syntax error? Gdybyś sam to napisał to byś raczej nie miał takiego problemu. Jeśli naprawde chcesz sie czegoś nauczyć to zacznij od napisania dosyć prostej strony w html i css. Jeśli dasz rade zrobić bez poradnika to rozwijaj się dalej aż osiągniesz dość dobry poziom w html i dopiero wtedy zabieraj się za php.  nie chce mi sie wczytywać w kod ale syntax error to pewnie albo brakuje gdzieś tagu albo w php brakuje ; (nie jestem pewien bo od ponad roku nie pisałem nic ani w html ani w php)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi

@Mateuszop2 Ja się nie uczę html ani php tylko instaluje skrypt PHPBank, kod nie jest mojego autorstwa i ja nie znam się na tym 😕 dla was to może być śmieszny powód dlaczego tu pisze ale dla mnie to trudny problem. 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi

Nie wiem co cie ciekawi w mikronacjach czy jak to sie zwie ani o co w tym chodzi ale patrząc na to że phpbank jest z 2006 i aktualnie nikt nie posiada orginalnej jego wersji to najpewniej ma jakiegoś keyloggera (mówie o wszystkich plikach bo zapewne nie jest to jedyny plok) a nawet jeśli nie to bexpieczeństwo tego zapewne jest na takim poziomie że 1 klasista włamałby się do tego więc odradzam używanie tego

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi

Skrypt jest pobrany z bezpiecznego źròdła. Nie ma żadnych wirusòw. Pomożecie czy nie.

 

10 godzin temu, Mateuszop2 napisał:

Nie wiem co cie ciekawi w mikronacjach czy jak to sie zwie ani o co w tym chodzi ale patrząc na to że phpbank jest z 2006 i aktualnie nikt nie posiada orginalnej jego wersji to najpewniej ma jakiegoś keyloggera (mówie o wszystkich plikach bo zapewne nie jest to jedyny plok) a nawet jeśli nie to bexpieczeństwo tego zapewne jest na takim poziomie że 1 klasista włamałby się do tego więc odradzam używanie tego

Pobrałem z microwiki nie ma żadnych wirusow

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi

Cześć, nie mam pojęcia co w tym skrypcie było robione ale ktoś próbował złączyć mysql_connect z PDO... Gratulacje, to nie zadziała. A przy okazji nie zamkną bloku catch co było powodem błędu.

try{
    $pdo = new PDO('mysql:host=' . $mysql_host . ';dbname=' . $database . ';port=' . $port . ";charset=utf8", $username, $password );
    echo('<p>Houston mamy połączenie!</p>');
}catch(PDOException $e)
{
    echo('<p>Houston mamy problem! Nie możemy się połączyć!</p>');
    die(); // Nie połączyłeś się? To nie ma co robić nic więcej!

Jeszcze dodam, że oryginalny plik znajdujący się w serwisie Github nie używa PDO. Załączam cały naprawiony skrypt poniżej.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>
<HEAD>
<TITLE>PHPBank - Installation</TITLE>
<META NAME="GENERATOR" CONTENT="MAX's HTML Beauty++ ME">
<style>

<!-- 
body { background-color: #FFFFFF; color: #000000; font-size: 11px; font-family: "Tahoma"; }

table { background-color: #000000; }

.centertable { background-color: #FFFFFF; }

td { background-color: #FFFFFF; font-size: 11px; font-family: "Tahoma"; }

i { font-size: 12px; font-style : italic; font-family: "Tahoma"; }

a { font-weight:bold; text-decoration: none; color: #888888; }

a:hover { font-weight:bold; text-decoration: none; color: #BBBBBB; }

h1 { color: #444444; font-size: 15px; font-weight:bold; }

h2 { color: #888888; font-size: 13px; font-weight:bold; }

h3 { color: #FF0000; font-size: 11px; font-weight:bold; }

--> 
</style>
</HEAD>
<BODY>
<table height=100% width=100% class=centertable><tr><td class=centertable height=100% width=100% valign=middle align=center>
<table cellpadding=15><tr><td align=center colspan=2>
<img src="topimg.png">
<h1>PHPBank Installation - Installing</h1>
<?php
$nation=strip_tags($_POST['nation']);
$currencysymbol=strip_tags($_POST['currencysymbol']);
$apassword=$_POST['apassword'];
$intromessage=$_POST['intromessage'];

$login=strtolower(strip_tags($_POST['login']));
$password=md5($_POST['password']);
$name=strip_tags($_POST['name']);
$description=strip_tags($_POST['description']);
$balance=$_POST['balance'];
$email=strip_tags($_POST['email']);
//Checks
	  function checkChars($stringToCheck,$allowedChars)
      {
      $returnvalue=TRUE;
         for ($i=0;$i!=strlen($stringToCheck);$i++)
         {
         $curchar = substr($stringToCheck, $i, 1);
         if (!strstr($allowedChars,$curchar))
         {$returnvalue=FALSE;}
         }
      return $returnvalue;
      }

if(!checkChars($login,"abcdefghijklmnopqrstuvwxyz"))
{die ("<h3>ERROR: Your login ID can contain only letters.</h3>");}

if(!checkChars($balance,"1234567890."))
{die ("<h3>ERROR: Balance must be a number.</h3>");}

if (strlen($description)>100)
{die ('<h3>ERROR: The description is longer than 100 characters. Please limit its length to 100 at max.</h3>');}

if (strlen($name)>30)
{die ('<h3>ERROR: The account name is longer than 30 characters. Please limit its length to 30 at max.</h3>');}

if (strlen($login)>20)
{die ('<h3>ERROR: The login id is longer than 20 characters. Please limit its length to 20 at max.</h3>');}

//create structure

	//connect
	$mysql_host = 'localhost'; //tutaj jest localhost ale może być adres do bazy danych
$port = '3306'; // domyślny numer portu
$username = 'najn';
$password = 'noł';
$database = 'nein';

try{
    $pdo = new PDO('mysql:host=' . $mysql_host . ';dbname=' . $database . ';port=' . $port . ";charset=utf8", $username, $password );
    echo('<p>Houston mamy połączenie!</p>');
}catch(PDOException $e){
    echo('<p>Houston mamy problem! Nie możemy się połączyć!</p>');
    die(); // Nie połączyłeś się? To nie ma co robić nic więcej!
}

$query="CREATE TABLE phpb_accounts ( id int(11) NOT NULL auto_increment, login text NOT NULL, password text NOT NULL, name text NOT NULL, description text NOT NULL, balance text NOT NULL, active int(11) NOT NULL default '0', email text NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM;";
$result = mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not create the account table. Your MySQL info might not be correct.</h3>');}
echo "..Account table created.<br>";
$query="CREATE TABLE phpb_layout ( bordercolor text NOT NULL, bgcolor text NOT NULL, insidecolor text NOT NULL, h1color text NOT NULL, h1size text NOT NULL, h2color text NOT NULL, h2size text NOT NULL, h3color text NOT NULL, h3size text NOT NULL, acolor text NOT NULL, ahovercolor text NOT NULL, size text NOT NULL, textcolor text NOT NULL, font text NOT NULL ) TYPE=MyISAM;";
$result=mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not create the layout table. Something must be wrong with MySQL.</h3>');}
echo "..Layout table created.<br>";
$query="CREATE TABLE phpb_other ( accounts int(11) NOT NULL default '0', transactions int(11) NOT NULL default '0', latesttransaction text NOT NULL, intromessage text NOT NULL, nation text NOT NULL, currencysymbol text NOT NULL, topimg text NOT NULL, apassword text NOT NULL ) TYPE=MyISAM;";
$result=mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not create the information table. Something must be wrong with MySQL.</h3>');}
echo "..Information table created.<br>";
$query="CREATE TABLE phpb_transactions ( id int(11) NOT NULL auto_increment, requester int(11) NOT NULL default '0', acceptor int(11) NOT NULL default '0', direction int(11) NOT NULL default '0', amount double NOT NULL default '0', comment text NOT NULL, status int(11) NOT NULL default '0', timestamp text NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM;";
$result=mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not create the transaction table. Something must be wrong with MySQL.</h3>');}
echo "..Transaction table created.<br><br>";

//insert data
$query="INSERT INTO phpb_other VALUES (1, 0, '', '$intromessage', '$nation', '$currencysymbol', 'topimg.png', '$apassword');";
$result=mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not insert bank data! Something must be wrong with MySQL.</h3>');}
echo "..Bank data inserted.<br>";

$query="INSERT INTO phpb_layout VALUES ('000000', 'FFFFFF', 'FFFFFF', '444444', '15', '888888', '13', 'FF0000', '11', '888888', 'BBBBBB', '11', '000000', 'Tahoma');";
$result=mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not insert layout data! Something must be wrong with MySQL.</h3>');}
echo "..Layout data inserted.<br>";

$query="INSERT INTO phpb_accounts (`login`,`password`,`name`,`description`,`balance`,`active`,`email`) VALUES ('$login','$password','$name','$description','$balance','1','$email')";
$result=mysql_query($query,$db);
if (!$result)
{die ('<h3>ERROR: Could not insert government account data! Something must be wrong with MySQL.</h3>');}
echo "..Government account data inserted.<br><br>";
?>
<h2>Installation complete!</h2>
The installation was sucessfully completed. You may now go to the <a href="index.php">Index</a>.<br>
Before continuing, delete the files "install.php" and "doinstall.php"!<br>
If you don't delete them, anyone could erase the database!<br>
</td></tr></table>
</td></tr></table>
</BODY>
</HTML> 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.


×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Regulamin. Polityka prywatności