Foros del Web » Programando para Internet » PHP »

PHP OO Parse error: syntax error, unexpected '}' in

Estas en el tema de Parse error: syntax error, unexpected '}' in en el foro de PHP en Foros del Web. Hola comunidad foros del web presento el siguiente problema para ver si me pueden ayudar con este bendito error el error es Parse error: syntax ...
  #1 (permalink)  
Antiguo 28/05/2013, 22:34
 
Fecha de Ingreso: mayo-2012
Mensajes: 18
Antigüedad: 11 años, 11 meses
Puntos: 0
Parse error: syntax error, unexpected '}' in

Hola comunidad foros del web presento el siguiente problema para ver si me pueden ayudar con este bendito error

el error es Parse error: syntax error, unexpected '}' in C:\AppServ\www\includes\secondjob.php on line 129

el script completo de mi php secondjob.php .
Subrayado en negrita la linea 129 del script

<?php
switch ($logeado) {
case 0:
?> <!-- not logged in -->
<font size="+1">ERROR</font><br />
You are not logged in, please log in and try again!
<?
break;
case 1:

if ($_POST['action'] == 'submitted')
{
mssql_select_db("Tantra",$link);
$weaA = mssql_query("SELECT * FROM TantraBackup00 WHERE UserID='".$_SESSION['username']."'");
$rowA = mssql_fetch_row($weaA);
$userid=$_SESSION['username'];
$cnum = $_POST['Character'];
if ($cnum == 1) { $Character = $rowA['Name1']; }
if ($cnum == 2) { $Character = $rowA['Name2']; }
if ($cnum == 3) { $Character = $rowA['Name3']; }
$Initial=substr($userid,0,1);
$nombre_archivo = $AccDir."\\".$Initial."\\".$userid.".TAD";
$f = @fopen($nombre_archivo,"r+") or die("$nombre_archivo");
// Search for Character's tribe
if ($cnum == 1){
$rowtt = 5;
$rowgg = "char1job";
@fseek($f, 116, SEEK_SET);
$trb1 = @fread($f,1) or die("Error");
if($trb1 == ''){$tribe1 = 'Naga'; $job1="Satya"; $job2="Banar";}
elseif($trb1 == ''){$tribe1 = 'Kinnara'; $job1="Satya"; $job2="Banar";}
elseif($trb1 == ''){$tribe1 = 'Asura'; $job1="Druka"; $job2="Karya";}
elseif($trb1 == ''){$tribe1 = 'Rakshasa'; $job1="Druka"; $job2="Karya";}
elseif($trb1 == ''){$tribe1 = 'Yaksa'; $job1="Nakayuda"; $job2="Vidya";}
elseif($trb1 == ' '){$tribe1 = 'Gandarva'; $job1="Nakayuda"; $job2="Vidya";}
elseif($trb1 == '@'){$tribe1 = 'Deva'; $job1="Avikara"; $job2="Samabat";}
else {$tribe1 = 'Garuda'; $job1="Avikara"; $job2="Samabat";}
}
if ($cnum == 2){
$rowtt = 6;
$rowgg = "char2job";
@fseek($f, 1804, SEEK_SET);
$trb1 = @fread($f,1) or die("Error");
if($trb1 == ''){$tribe1 = 'Naga'; $job1="Satya"; $job2="Banar";}
elseif($trb1 == ''){$tribe1 = 'Kinnara'; $job1="Satya"; $job2="Banar";}
elseif($trb1 == ''){$tribe1 = 'Asura'; $job1="Druka"; $job2="Karya";}
elseif($trb1 == ''){$tribe1 = 'Rakshasa'; $job1="Druka"; $job2="Karya";}
elseif($trb1 == ''){$tribe1 = 'Yaksa'; $job1="Nakayuda"; $job2="Vidya";}
elseif($trb1 == ' '){$tribe1 = 'Gandarva'; $job1="Nakayuda"; $job2="Vidya";}
elseif($trb1 == '@'){$tribe1 = 'Deva'; $job1="Avikara"; $job2="Samabat";}
else {$tribe1 = 'Garuda'; $job1="Avikara"; $job2="Samabat";}
}
if ($cnum == 3){
$rowgg = "char3job";
$rowtt = 7;
@fseek($f, 3492, SEEK_SET);
$trb1 = @fread($f,1) or die("Error");
if($trb1 == ''){$tribe1 = 'Naga'; $job1="Satya"; $job2="Banar";}
elseif($trb1 == ''){$tribe1 = 'Kinnara'; $job1="Satya"; $job2="Banar";}
elseif($trb1 == ''){$tribe1 = 'Asura'; $job1="Druka"; $job2="Karya";}
elseif($trb1 == ''){$tribe1 = 'Rakshasa'; $job1="Druka"; $job2="Karya";}
elseif($trb1 == ''){$tribe1 = 'Yaksa'; $job1="Nakayuda"; $job2="Vidya";}
elseif($trb1 == ' '){$tribe1 = 'Gandarva'; $job1="Nakayuda"; $job2="Vidya";}
elseif($trb1 == '@'){$tribe1 = 'Deva'; $job1="Avikara"; $job2="Samabat";}
else {$tribe1 = 'Garuda'; $job1="Avikara"; $job2="Samabat";}
}

$error = "";
function AllOK()
{
$error .= "There was a problem selecting your character! Please report this to the administrator and try again later!<br>
CODE: <b>".dechex($userid)."/".dechex($Character)."/".dechex($Initial)."/".dechex($nombre_archivo)."/".dechex($cnum)."</b></b><br><br> <a href=javascript:history.go(-1)>Go Back</a><br>";
return 0;
}

return 1;
}


if (!AllOK())
{
$result = $error;
}
else
{
if ($cnum == 1) { $Character = $rowA['Name1']; }
if ($cnum == 2) { $Character = $rowA['Name2']; }
if ($cnum == 3) { $Character = $rowA['Name3']; }
$userid=$_SESSION['username'];
mssql_select_db("Tantra",$link);
$weaA = mssql_query("SELECT * FROM TantraBackup00 WHERE UserID='$userid'");
$rowA = mssql_fetch_row($weaA);
$result = "You have successfully selected the character: <b>".$Character."</b>";
}
echo "$result <br>";
echo "".$Character." belongs to the ".$tribe1." tribe, please chose between one the following jobs!<br><br>"; ?>
<form METHOD="Post">
<SELECT name="job">
<OPTION VALUE="<? echo $job1 ?>"><? echo $job1 ?></option>
<OPTION VALUE="<? echo $job2 ?>"><? echo $job2 ?></option>
</SELECT>
<input value="&nbsp;" type="submit" name="submit" style="height: 20px; width: 100px; background-image:url(file:///C|/Documents and Settings/Administrador/Escritorio/Respaldo KS/www/includes/images/change.png); border:0;" class="submit">
<input type="hidden" name="cnum" value="<? echo $cnum ?>">
<input type="hidden" name="Character" value="<? echo $Character ?>">
<input type="hidden" name="tribe" value="<? echo $tribe1 ?>">
<input type="hidden" name="final" value="ok">
</form><br /><br /><hr /><br /><br />
<?php

}
if ($job == 'Satya') {echo @ftell($f); @fseek($f, $seek1, SEEK_SET); @fwrite($f,$lvl,1) or die("Error"); @fseek($f, $seek2, SEEK_SET); @fwrite($f,'',1) or die("Error");
$itemgift = (int)(8750);}
if ($job == 'Banar') {echo @ftell($f); @fseek($f, $seek1, SEEK_SET); @fwrite($f,$lvl,1) or die("Error"); @fseek($f, $seek2, SEEK_SET); @fwrite($f,'',1) or die("Error"); @fseek($f, $seek3, SEEK_SET); @fwrite($f,'',1) or die("Error");
$itemgift = (int)(8750);}
if ($job == 'Druka') {echo @ftell($f); @fseek($f, $seek1, SEEK_SET); @fwrite($f,$lvl,1) or die("Error"); @fseek($f, $seek2, SEEK_SET); @fwrite($f,'',1) or die("Error"); @fseek($f, $seek3, SEEK_SET); @fwrite($f,'',1) or die("Error");
$itemgift = (int)(8751);}
if ($job == 'Karya') {echo @ftell($f); @fseek($f, $seek1, SEEK_SET); @fwrite($f,$lvl,1) or die("Error"); @fseek($f, $seek2, SEEK_SET); @fwrite($f,'',1) or die("Error"); @fseek($f, $seek3, SEEK_SET); @fwrite($f,'',1) or die("Error");
$itemgift = (int)(8751);}
if ($job == 'Nakayuda') {echo @ftell($f); @fseek($f, $seek1, SEEK_SET); @fwrite($f,$lvl,1) or die("Error"); @fseek($f, $seek2, SEEK_SET); @fwrite($f,'',1) or die("Error"); @fseek($f, $seek3, SEEK_SET); @fwrite($f,'',1) or die("Error");
$itemgift = (int)(8752);}
if ($job == 'Vidya') {echo @ftell($f); @fseek($f, $seek1, SEEK_SET); @fwrite($f,$lvl,1) or die("Error"); @fseek($f, $seek2, SEEK_SET); @fwrite($f,'',1) or die("Error"); @fseek($f, $seek3, SEEK_SET); @fwrite($f,'',1) or die("Error");
$itemgift = (int)(8752);}
if ($job == 'Avikara') {echo @ftell($f); @fseek($f, $seek1, SEEK_SET); @fwrite($f,$lvl,1) or die("Error"); @fseek($f, $seek2, SEEK_SET); @fwrite($f,'',1) or die("Error"); @fseek($f, $seek3, SEEK_SET); @fwrite($f,'',1) or die("Error");
$itemgift = (int)(8753);}
if ($job == 'Samabat') {echo @ftell($f); @fseek($f, $seek1, SEEK_SET); @fwrite($f,$lvl,1) or die("Error"); @fseek($f, $seek2, SEEK_SET); @fwrite($f,'',1) or die("Error"); @fseek($f, $seek3, SEEK_SET); @fwrite($f,'',1) or die("Error");
$itemgift = (int)(8753);}
echo "Your job has been updated to: ".$job."";
mssql_select_db("Tantra",$link);
mssql_query('INSERT INTO TantraItem (World, Account, ItemIndex, ItemCount) VALUES ("0", "'.$userid.'", "'.$itemgift.'", "1")'); }
else {echo "It seems like you have already updated your character's job once!";}
}
else
{
mssql_select_db("Tantra",$link);
$weaA = mssql_query("SELECT * FROM TantraBackup00 WHERE UserID='" . $_SESSION['username'] . "'");
$rowA = mssql_fetch_row($weaA); ?>
<p>You can now use the website to change your character's job just with a couple of clicks!<br />
<b>Notice that you will only be able to pick your second job once for every character.</b><br /><i>If you somehow got the wrong job, delete your character and ask for help in the forums!.<br />


</p>
<form METHOD="Post">
<SELECT name="Character">
<?php if($rowA[11] != ' '){ echo "<OPTION VALUE='1'>$rowA[11]</option>";} ?>
<?php if($rowA[12] != ' '){ echo "<OPTION VALUE='2'>$rowA[12]</option>";} ?>
<?php if($rowA[13] != ' '){ echo "<OPTION VALUE='3'>$rowA[13]</option>";} ?></SELECT>
<input value="&nbsp;" type="submit" name="submit" style="height: 20px; width: 100px; background-image:url(file:///C|/Documents and Settings/Administrador/Escritorio/WOT/www/includes/images/change.png); border:0;" class="submit">
<input type="hidden" name="action" value="submitted">
</form>
<?php
}
break;
case 2:
?>
<font size="+2">ERROR</font><br /><br />
You are not logged in, please log in and try again!
<?php
break;
}
?>
  #2 (permalink)  
Antiguo 28/05/2013, 23:58
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Parse error: syntax error, unexpected '}' in

El problema es que tienes else sin if y el switch del principio está mal escrito. El código es ilegible, utiliza cualquier IDE para solucionar los errores de sintaxis, luego puedes intentar mejorar el código. Salu2
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 29/05/2013, 12:43
 
Fecha de Ingreso: mayo-2012
Mensajes: 18
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Parse error: syntax error, unexpected '}' in

Porfavor me podrias correr como deberia ir es que soy inexperto en php :/ por eso pido ayuda.
  #4 (permalink)  
Antiguo 29/05/2013, 12:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Parse error: syntax error, unexpected '}' in

Cita:
Iniciado por killersoco Ver Mensaje
Porfavor me podrias correr como deberia ir es que soy inexperto en php :/ por eso pido ayuda.
¿De verdad quieres que alguien se tome el tiempo de tomar tu código y corregirlo sólo porque dices que eres inexperto?

Eso no es "pedir ayuda" eso es pedir que te hagan tu trabajo.

Eso requiere tiempo, esfuerzo y talento, no es fácil.

No entiendo porque intentas hacer un ejercicio complejo cuando ni siquiera comprendes lo básico, sencillamente inaudito.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 29/05/2013, 15:49
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 10 años, 10 meses
Puntos: 25
Respuesta: Parse error: syntax error, unexpected '}' in

Estoy deacuerdo con pateketrueke, una cosa es preguntar una duda, otra cosa es que quieras que trabajemos de gratis.

El codigo encima esta ilegible. Si al menos lo hubieras puesto entre etiquetas...

[ PHP ] ESCRIBES TU CODIGO PHP [/ PHP ]

Sin los espacios, te saldría el codigo algo así:
Código PHP:

<?php
//tu codigo
echo "hello world";
?>
Al menos sería más legible.

En cuanto al error que te da: suele darse cuando sobra una llave "}". O cuando falta una llave de apertura "{" y por ello php cree que hay una llave de cierre de más. Y a lo mejor el error no está en la linea exacta que te dice. PHP, si no recuerdo mal, no tiene en cuenta si antes de ese error habias metido muchos saltos de linea en tu editor de texto. No cuenta los saltos de linea, sino las lineas de instrucciones que lee de tu script.

A todo esto, ¿sabes programar?
  #6 (permalink)  
Antiguo 29/05/2013, 16:03
 
Fecha de Ingreso: mayo-2012
Mensajes: 18
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Parse error: syntax error, unexpected '}' in

No amigo ya solvente el problema pero al momento de dar el mensaje que todo esta bien no me da ningun mensaje y no cumple su funcion el script creo que es porque hay algo que no concuerda, este script es de un juego llamado Tantra Online y se trata de hacer las quest osea las misiones del juego autimaticamente desde la web, pero al paso final cuando deberia dar el mensaje no da ningun mensaje y no cumple su funcion.."!

si puedes te dejo la pagina de mi game

http://novatantra.sytes.net

y en el login te logueas con esta cuenta

ID: Tandev01
Pass: 23319825878 y elijes la opcion de second job y te fijas

Gracias por comentar hermano.

te dejo el script secondjob.php

http://www.sendspace.com/file/jxi9py

aver en que puede estar fallando

el mensaje que deberia darme al final de todo deberia ser este

"Your job has been updated to: ".$job."";

y no me dice nada simplemente cuando le doy al boton change sale un cuadro en negro sin mensaje ni nada.
  #7 (permalink)  
Antiguo 29/05/2013, 23:46
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: Parse error: syntax error, unexpected '}' in

ok te lo resuelvo por 500 euros XD
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #8 (permalink)  
Antiguo 30/05/2013, 11:46
 
Fecha de Ingreso: mayo-2012
Mensajes: 18
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Parse error: syntax error, unexpected '}' in

aqui no hablan mas que de dinero :S

Cierren este tema, deberian bannear a la gente que desvia el tema y no dan solucion que penda esta comunidad resolvi el problema afuera y no aqui como debio ser >,< .."!
  #9 (permalink)  
Antiguo 30/05/2013, 12:00
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 10 años, 10 meses
Puntos: 25
Respuesta: Parse error: syntax error, unexpected '}' in

Cita:
Iniciado por killersoco Ver Mensaje
aqui no hablan mas que de dinero :S

Cierren este tema, deberian bannear a la gente que desvia el tema y no dan solucion que penda esta comunidad resolvi el problema afuera y no aqui como debio ser >,< .."!
¿Por qué lo ves mal?
Arcanis simplemente te ha ofrecido sus servicios como programador.

«El trabajador es digno de su salario»

Al fin al cabo la mayoria de este foro somos profesionales en el tema.
  #10 (permalink)  
Antiguo 30/05/2013, 12:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Parse error: syntax error, unexpected '}' in

Cita:
Iniciado por killersoco Ver Mensaje
aqui no hablan mas que de dinero :S

Cierren este tema, deberian bannear a la gente que desvia el tema y no dan solucion que penda esta comunidad resolvi el problema afuera y no aqui como debio ser >,< .."!
También deberían bannear a las personas que no se empeñan en aprender a resolver sus propios problemas, como los que dejan enlaces y creen que vamos a descargar todo su código para arreglarlo no más de buena voluntad.

También a los que no leen las normas (como tu) y encima quieren que todo se haga a su manera, si te molesta como funciona esta comunidad lo mejor que puedes hacer es darte de baja.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: parse, select, sql, syntax, unexpected
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 02:12.