• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

XRS

Parse Error T_STRING - Ajuda

7 mensagens neste tópico

Boas, estou com um problema.

Estou a criar um script em PHP, que estou a testar localmente.

Localmente tudo funciona tendo apenas erros de:

Notice: Undefined index: HTTP_X_FORWARDED_FOR in C:\Program Files\EasyPHP 2.0b1\www\header.php on line 111

Assim o script não funciona na perfeição.

Alguém sabe como resolver este problema?

Mas o meu problema principal é mesmo este:

Parse error: syntax error, unexpected T_STRING in /home/******/public_html/jogo/login.php on line 239

<?php
session_start();
include "config.php";
global $_CONFIG;
define("MONO_ON", 1);
require "class/class_db_{$_CONFIG['driver']}.php";
$db=new database;
$db->configure($_CONFIG['hostname'],
$_CONFIG['username'],
$_CONFIG['password'],
$_CONFIG['database'],
$_CONFIG['persistent']);
$db->connect();
$c=$db->connection_id;
$set=array();
$settq=$db->query("SELECT * FROM settings");
while($r=$db->fetch_row($settq))
{
$set[$r['conf_name']]=$r['conf_value'];
}
print <<<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$set['game_name']}</title>
<link rel="SHORTCUT ICON" href="favicon.ico" />
<script language="JavaScript">
<!--

function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
  return null;
}
function SetCookie (name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

function DeleteCookie (name,path,domain) {
  if (GetCookie(name)) {
    document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}
// -->
</script>

<script language="JavaScript">
var usr;
var pw;
var sv;
function getme()
{
usr = document.login.username;
pw = document.login.password;
sv = document.login.save;

if (GetCookie('player') != null)
{
	usr.value = GetCookie('username')
	pw.value = GetCookie('password')
	if (GetCookie('save') == 'true')
	{
		sv[0].checked = true;
	}
}

}
function saveme()
{
if (usr.value.length != 0 && pw.value.length != 0)
{
	if (sv[0].checked)
	{
		expdate = new Date();
		expdate.setTime(expdate.getTime()+(365 * 24 * 60 * 60 * 1000));
		SetCookie('username', usr.value, expdate);
		SetCookie('password', pw.value, expdate);
		SetCookie('save', 'true', expdate);
	}
	if (sv[1].checked)
	{
		DeleteCookie('username');
		DeleteCookie('password');
		DeleteCookie('save');
	}
}
	else
{
	alert('You must enter a username/password.');
	return false;
}
}
</script>
<style type="text/css">
<!--
body {
background-color: #DEDEDE;
margin-top: 0px;
margin-bottom: 0px;
font-family:calibri, helvetica, arial, geneva, sans-serif;font-size:12px;color: black;
   scrollbar-base-color: #005B70; 
   scrollbar-arrow-color: #F3960B;
   scrollbar-DarkShadow-Color: #000000;
}
a:visited,a:active,a:hover,a:link { color: black;text-decoration: none; }
table,tr,td { font-family:helvetica, arial, geneva, sans-serif;font-size: 12px; }
img { border:none; }
textarea { font-family:helvetica, arial, geneva, sans-serif;font-size:12px;color: black; }
.table2 {
}
.lgrad {
background-image:url(lgrad.jpg);
background-repeat:repeat-y;
width:19px;
}
.linegrad {
background-image:url(linegrad.PNG);
background-repeat:repeat-y;
background-align: center;
width:2px;
}
.rgrad {
background-image:url(rgrad.jpg);
background-repeat:repeat-y;
width:19px;
}
.dgrad {
background-image:url(dgrad.jpg);
background-repeat:repeat-x;
height:38px;
}
.dgradl {
background-image:url(dgradl.jpg);
background-repeat:no-repeat;
height:38px;
width:38px;
}
.dgradr {
background-image:url(dgradr.jpg);
background-repeat:no-repeat;
height:38px;
width:38px;
}
.center {
width:932px;
background-color:#FFFFFF;
vertical-align:top;
text-align:center;
}
.table {
background-color:#000000;
}
.table3 {
background-color:#000000;
}
.table td {
background-color:#DEDEDE;
height:22px;
}
.table3 td {
background-color:#CCCCCC;
}
td .alt {
background-color:#EEEEEE;
height:22px;
}
td .h {
background-image:url(tablehgrad.png);
background-repeat:repeat-x;
font-weight: bold;
background-color: #D6D6D6;
}
.table th {
background-image:url(tablehgrad.png);
background-repeat:repeat-x;
font-weight: bold;
background-color: #D6D6D6;
}
-->
</style></head>
<body onload="getme();">
<center>
<table width="970" border="0" cellpadding="0" cellspacing="0" class="table2">
<tr>
<td class="lgrad"></td>
<td class="center"><img src="title.jpg" alt="Ravan's MMORPG Script v 1.2" /><br />
<!-- Begin Main Content -->
EOF;
$IP = ($_SERVER['HTTP_X_FORWARDED_FOR'])
    ?  $_SERVER['HTTP_X_FORWARDED_FOR']
    :  $_SERVER['REMOTE_ADDR'];
if(file_exists('ipbans/'.$IP))
{
die("<b><font color=red size=+1>Your IP has been banned, there is no way around this.</font></b></body></html>");
}
$year=date('Y');
print "<h3>> {$set['game_name']} Log-In</h3>
<table width=80%>
<tr>
<td width=50%>
<fieldset>
<legend>About {$set['game_name']}</legend>
{$set['game_description']}
</fieldset>
</td>
<td>
<fieldset>
<legend>Login</legend>";
print "<form action=authenticate.php method=post name=login onsubmit=\"return saveme();\">Username: <input type=text name=username><br>
Password: <input type=password name=password><br>
Remember me?<br />
<input type=\"radio\" value=\"ON\" name=\"save\">Yes <input type=\"radio\" name=\"save\" value=\"OFF\" checked>No
<input type=submit value=Submit></form></fieldset></td></tr></table><br>
<h3><a href='register.php'>REGISTER NOW!</a></h3><br />
print <<<OUT
</td>
<td class="rgrad"></td>
</tr>
<tr>
<td colspan="3">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td class="dgradl"> </td>

<td class="dgrad"> </td>
<td class="dgradr"> </td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
OUT;
?>


Será que alguém me pode ajudar?

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dava jeito dizeres qual era a linha 110, 111, 112, 238, 239 e 240, e pôr o GeSHi

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sinceramente... print dentro de print e aspas por fazer escape é o que nao falta aí... o erro é esse mesmo...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então será que me poderias dar o código "bem codificado"?

É que estou à uma data de tempo a frente disto e não meto isto a funcionar. Já não vejo o PHP à frente :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hein?

Como e que tu queres que esteja bem, se tens isso tudo mal estruturado no codigo?

print "<<<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns="http://www.w3.org/1999/xhtml>
<head>
<title>{$set['game_name']}</title>
<link rel=SHORTCUT ICON href=favicon.ico />
<script language=JavaScript>
<!--"; 

Sempre que poes codigo no php tens de tirar as ' " ' ...

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já meti assim mas continua igual.

Nada funciona.

O mais esquisito é que localmente o script funciona, mas num servidor não dá.

Isso é que está a interferir com o meu sistema nervoso!

Estou mesmo a entrar em parafuso!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema parece-me é no fim:

Falta fechar o "print".

print "<form action=authenticate.php method=post name=login onsubmit=\"return saveme();\">Username: <input type=text name=username><br>
Password: <input type=password name=password><br>
Remember me?<br />
<input type=\"radio\" value=\"ON\" name=\"save\">Yes <input type=\"radio\" name=\"save\" value=\"OFF\" checked>No
<input type=submit value=Submit></form></fieldset></td></tr></table><br>
<h3><a href='register.php'>REGISTER NOW!</a></h3><br />
print <<<OUT
</td>
<td class="rgrad"></td>
</tr>
<tr>
<td colspan="3">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td class="dgradl"> </td>

<td class="dgrad"> </td>
<td class="dgradr"> </td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
OUT;

para

print "<form action=authenticate.php method=post name=login onsubmit=\"return saveme();\">Username: <input type=text name=username><br>
Password: <input type=password name=password><br>
Remember me?<br />
<input type=\"radio\" value=\"ON\" name=\"save\">Yes <input type=\"radio\" name=\"save\" value=\"OFF\" checked>No
<input type=submit value=Submit></form></fieldset></td></tr></table><br>
<h3><a href='register.php'>REGISTER NOW!</a></h3><br />";

// Foi aqui que alterei!

print <<<OUT
</td>
<td class="rgrad"></td>
</tr>
<tr>
<td colspan="3">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td class="dgradl"> </td>

<td class="dgrad"> </td>
<td class="dgradr"> </td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
OUT;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora