Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: JammDesigner en 26 Septiembre 2008, 12:42 pm



Título: syntax error, unexpected T_STRING
Publicado por: JammDesigner en 26 Septiembre 2008, 12:42 pm
Al ejecutar el código PHP en servidor me da el siguiente error>

Parse error: syntax error, unexpected T_STRING in /mnt/web3/12/29/51668329/htdocs/LOTERIA/loteria_nacional/paleln.php on line 68
Esta es la linea 68: ¿Que esta mal?

INSERT INTO pale_loteria_nacional (primero, segundo, cantidad, agencia) VALUES ('$primero', '$segundo', '$cantidad', '$agencia')


Título: Re: syntax error, unexpected T_STRING
Publicado por: NaSaRiD15 en 26 Septiembre 2008, 18:40 pm
Prueba algo asi:

$sql = "INSERT INTO pale_loteria_nacional (primero, segundo, cantidad, agencia) VALUES ('$primero', '$segundo', '$cantidad', '$agencia')";
$res = mysql_query($sql, $conex);

Saludos.

P.D: Que te marque error en la linea 68 no quiere decir que este especificamente ahi, puede estar antes tambien.


Título: Re: syntax error, unexpected T_STRING
Publicado por: Diabliyo en 27 Septiembre 2008, 03:29 am
Al ejecutar el código PHP en servidor me da el siguiente error>

Parse error: syntax error, unexpected T_STRING in /mnt/web3/12/29/51668329/htdocs/LOTERIA/loteria_nacional/paleln.php on line 68
Esta es la linea 68: ¿Que esta mal?

INSERT INTO pale_loteria_nacional (primero, segundo, cantidad, agencia) VALUES ('$primero', '$segundo', '$cantidad', '$agencia')

El error no es la linea, el error a der ser el tipo de variables y el tipo de valor que deseas escribir !!...

Pon mas informacion, alcabo ni que por poner un poco mas de codigo te fueran a hackear :S !! (que noob si piensas eso)....

Y lo que te recomendo NaSaRiD15 es una tonteria, recuerden que la forma de realizar la consulta es lo de menos, siempre y cuando la sintaxis este bien, el codigo debe funcionar !!...

bye bye


Título: Re: syntax error, unexpected T_STRING
Publicado por: NaSaRiD15 en 27 Septiembre 2008, 04:47 am
Muy estupido tu comentario dyablillo, si estas con ganas de agredir, busca otro lado donde hacerlo, fuera de lugar tu post completamente, no aportaste nada, y conteastaste de mal modo.

Mas alla de si me haya equivocado o no con el consejo, o si el puso o no lo suficiente, no es forma de responder, no se para que pierdo tiempo.


Título: Re: syntax error, unexpected T_STRING
Publicado por: дٳŦ٭ en 27 Septiembre 2008, 05:10 am
Al ejecutar el código PHP en servidor me da el siguiente error>

Parse error: syntax error, unexpected T_STRING in /mnt/web3/12/29/51668329/htdocs/LOTERIA/loteria_nacional/paleln.php on line 68
Esta es la linea 68: ¿Que esta mal?

INSERT INTO pale_loteria_nacional (primero, segundo, cantidad, agencia) VALUES ('$primero', '$segundo', '$cantidad', '$agencia')

El error no es la linea, el error a der ser el tipo de variables y el tipo de valor que deseas escribir !!...

Pon mas informacion, alcabo ni que por poner un poco mas de codigo te fueran a hackear :S !! (que noob si piensas eso)....

Y lo que te recomendo NaSaRiD15 es una tonteria, recuerden que la forma de realizar la consulta es lo de menos, siempre y cuando la sintaxis este bien, el codigo debe funcionar !!...

bye bye

Otro comentario asi y pido tu baneo.


Título: Re: syntax error, unexpected T_STRING
Publicado por: WHK en 28 Septiembre 2008, 21:06 pm
Citar
syntax error, unexpected T_STRING
Ese error te está diciendo que hay una linea sin terminar, por ejemplo puede que le falte el ";" al final o que no hayas cerrado un parentesis o algo por el estilo.

Por lo que escribiste veo dos fallas, uno que le falta el ";" al final y lo otro que para hacer una consulta hacia la base de datos debes utilizar funciones y no escribirlo directamente sobre el código php, por ejemplo como te dijeron mas arriba:

Código
  1. $sql = "
  2. INSERT INTO pale_loteria_nacional (primero, segundo, cantidad, agencia)
  3. VALUES ('$primero', '$segundo', '$cantidad', '$agencia');
  4. ";
  5.  

Con eso estarías definiendo la consulta que vas a hacer, ahora debes realizar la consulta con
mysql_pconnect()
mysql_select_db()
mysql_query(,)
mysql_fetch_row()
mysql_free_result()
mysql_close()

Te recomiendo que leas un poco para que puedas tener la idea un poco mas clara:
http://cl2.php.net/mysql

Sin mas que decir te recomioendo que no expongas las variables directamente sobre la consulta mysql o tendrás graves problemas de seguridad, lee también sobre injección sql:
http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL

Para evitar estas cosas lee sobre la función mysql_real_escape_string() y set_magic_quotes_runtime()

Código
  1. <?php
  2. /*  .. ..  */
  3.  
  4.  
  5. $servidor_bd = 'Localhost';
  6. $basededatos = 'nombre de la base de datos';
  7. $usuario_bd  = 'usuario de la base de datos';
  8. $pass_bd = 'contraseña del usuario de la base de datos';
  9.  
  10. if(!$conectar_sql = mysql_pconnect($servidor_bd, $usuario_bd, $pass_bd)){
  11. echo "No se puede conectar a la base de datos";
  12. exit(1);
  13. }else{
  14. if(!mysql_select_db($basededatos,$conectar_sql)){
  15.  echo "No existe la base de datos seleccionada";
  16.  exit(1);
  17. }
  18. }
  19.  
  20. $sql = "
  21. INSERT INTO pale_loteria_nacional (primero, segundo, cantidad, agencia)
  22. VALUES ('".
  23. mysql_real_escape_string($primero)."', '".
  24. mysql_real_escape_string($segundo)."', '".
  25. (int)$cantidad."', '".
  26. ";
  27.  
  28. if(mysql_query($sql,$conectar_sql)){
  29. echo "Datos insertados dentro de la base de datos.";
  30. }else{
  31. echo "No se pudo establecer los valores dentro de la base de datos.";
  32. }
  33.  
  34. /*  .. ..  */
  35. ?>
  36.  

http://cl2.php.net/manual/es/function.mysql-real-escape-string.php
http://cl2.php.net/manual/es/function.set-magic-quotes-runtime.php

Si después de todo esto todavía tienes preguntas puedes volver a hacerlas acá mismo.


Título: Re: syntax error, unexpected T_STRING
Publicado por: JammDesigner en 29 Septiembre 2008, 12:26 pm
Muchas gracias...para que me ayuden mejor aquí esta el código completo, pero he cambiado el script por otro pero tampoco me funciona pero no me da error, pero no me añade la información a la base de datos:

<html>
<head>
<title>Pal&eacute; | Loteria Nacional</title>
</head>

<body  bgcolor="#FFFFFF" onLoad='window.print();'>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td><?

$primero= $_POST["primero"];
$segundo= $_POST["segundo"];
$cantidad= $_POST["cantidad"];
$ganancia123= $cantidad*1000;
$ganancia23= $cantidad*100;
$agencia= $_POST["agencia"];

if ($primero == $segundo)
{
echo "No puedes jugar un PALÉ con los 2 números iguales. Comprueba los datos, por favor.";
exit;
}

echo date ("H:i ");
echo "del dia ";
echo date ("j ");
echo "de ";
echo date ("F ");
echo "del año ";
echo date ("Y ");
echo "<br>";
echo "<p>Su <b>PALÉ</b> es el siguiente:</p>";
echo $primero." <b>-</b> ";
echo $segundo." <b></b>";
echo "<br>";
echo $cantidad." €<b> de cantidad apostada.</b><br>";
echo $ganancia123." €<b> de ganancia (1º-2º o 1º-3º).</b><br>";
echo $ganancia23." €<b> de ganancia (2º-3º).</b><br>";
echo "<center><b>Fácil Envíos, S.A.</b></center>";
echo $agencia."";

//Conectar con BD y enviar información

if (!$primero || !$segundo || !$cantidad || !$agencia)
{
echo "No has introducido todos los detalles requeridos.<br>"
."Por favor vuelve e intentélo de nuevo.";
exit;
}
$primero = ($primero);
$segundo = ($segundo);
$cantidad = ($cantidad);
$agencia = ($agencia);

@ $db = mysql_pconnect("SERVIDOR", "USUARIO", "CONTRASEÑA");

if (!$db)
{
echo "Error: No se puede conectar a la base de datos. Por favor inténtelo de nuevo.";
exit;
}
mysql_select_db("BASE DE DATOS");
$query = "insert into pale_loteria_nacional ('".$primero."', '".$segundo."', '".$cantidad."', '".$agencia."',)";
$result = mysql_query($query);
if ($result)
echo mysql_affected_rows()." dato introducido.";

?></td>
  </tr>
</table>
</body>
</html>



Título: Re: syntax error, unexpected T_STRING
Publicado por: alone-in-the-chat en 1 Octubre 2008, 02:05 am


$query = "insert into pale_loteria_nacional ('".$primero."', '".$segundo."', '".$cantidad."', '".$agencia."',)";


Cambia por


$query = "insert into pale_loteria_nacional ('".$primero."', '".$segundo."', '".$cantidad."', '".$agencia."' )";

date cuenta que se te esta pasando una ","

 :-\

de verdad revisaste el codigo ??

el error salta a la vista

Saludos¡¡¡


Título: Re: syntax error, unexpected T_STRING
Publicado por: WHK en 1 Octubre 2008, 09:40 am
Mira, lo que yo siempre hago para ver algún error de sitnaxis en SQL imprimo en pantalla la query de la siguiente manera:

Código
  1. <?php
  2. /* .. .. */
  3. $query = "
  4. insert into pale_loteria_nacional ('
  5. ".$primero."', '".$segundo."', '".$cantidad."', '".$agencia."
  6. ',)";
  7.  
  8. echo $query; exit(0);
  9. /* .. .. */
  10. ?>

Después copio lo que me aparezca y lo pego en el phpmyadmin y al dar ejecutar este me dirá cual es el error detalladamente y en que linea se produjo, una forma eficaz para personas que saben lo básico sobre bases de datos MySQL.


Título: Re: syntax error, unexpected T_STRING
Publicado por: JammDesigner en 1 Octubre 2008, 17:24 pm
Muchas gracias a todos por su ayuda, ya he logrado que me añada la información en el servidor pero lo he hecho llevandome del consejo de WHK:

Código:
Después copio lo que me aparezca y lo pego en el phpmyadmin y al dar ejecutar este me dirá cual es el error detalladamente y en que linea se produjo, una forma eficaz para personas que saben lo básico sobre bases de datos MySQL.

He añadido una linea a la tabla y el PHPMyAdmin me ha dado el codigo de la consulta SQL y he copiado el codigo y he modificado los datos y me ha funcionado, es algo asi:

<html>
<head>
<title>Pal&eacute; | Loteria Nacional</title>
</head>

<body  bgcolor="#FFFFFF" onLoad='window.print();'>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td><?

$primero= $_POST["primero"];
$segundo= $_POST["segundo"];
$cantidad= $_POST["cantidad"];
$ganancia123= $cantidad*1000;
$ganancia23= $cantidad*100;
$agencia= $_POST["agencia"];

if ($primero == $segundo)
{
echo "No puedes jugar un PALÉ con los 2 números iguales. Comprueba los datos, por favor.";
exit;
}

echo date ("H:i ");
echo "del dia ";
echo date ("j ");
echo "de ";
echo date ("F ");
echo "del año ";
echo date ("Y ");
echo "<br>";
echo "<p>Su <b>PALÉ</b> es el siguiente:</p>";
echo $primero." <b>-</b> ";
echo $segundo."";
echo "<br>";
echo $cantidad." €<b> de cantidad apostada.</b><br>";
echo $ganancia123." €<b> de ganancia (1º-2º o 1º-3º).</b><br>";
echo $ganancia23." €<b> de ganancia (2º-3º).</b><br>";
echo "<br>";
echo "<center><b>Fácil Envíos, S.A.</b></center>";

echo $agencia."";
//Conectar con BD y enviar información
$primero = ($primero);
$segundo = ($segundo);
$cantidad = ($cantidad);
$agencia = ($agencia);

@ $db = mysql_pconnect("SERVIDOR", "USUARIO", "CONTRASEÑA");

if (!$db)
{
echo "Error: No se puede conectar a la base de datos. Por favor inténtelo de nuevo.";
exit;
}
mysql_select_db("BASE DATOS");
$query = "INSERT INTO `pale_loteria_nacional` ( `ClienteID` , `primero` , `segundo` , `cantidad` , `agencia` , `fecha` )
VALUES ('', '$primero', '$segundo', '$cantidad', '$agencia', '');";
$result = mysql_query($query);
?></td>
  </tr>
</table>
</body>
</html>
Lo unico que me queda una duda es al añadir la FECHA...es mejor que añada un capo nuevo al FORMULARIO y que el codigo PHP lo añada a la tabla o existe algun script que lo haga automicamente tomando la fecha del equipo?

Un saludo y muchas gracias


Título: Re: syntax error, unexpected T_STRING
Publicado por: cassiani en 1 Octubre 2008, 17:34 pm
Lo unico que me queda una duda es al añadir la FECHA...es mejor que añada un capo nuevo al FORMULARIO y que el codigo PHP lo añada a la tabla o existe algun script que lo haga automicamente tomando la fecha del equipo?

Eso depende de que desees hacer, si quieres que el usuario introduzca cierta fecha o si eso no es necesario, para fechas de nacimiento por ejemplo, vale tu idea, pero si deseas almacenar la fecha en que se ingresaron los datos, basta con usar la función "Date" previo a almacenar el registro.


Título: Re: syntax error, unexpected T_STRING
Publicado por: JammDesigner en 1 Octubre 2008, 18:12 pm
Lo unico que me queda una duda es al añadir la FECHA...es mejor que añada un capo nuevo al FORMULARIO y que el codigo PHP lo añada a la tabla o existe algun script que lo haga automicamente tomando la fecha del equipo?

Eso depende de que desees hacer, si quieres que el usuario introduzca cierta fecha o si eso no es necesario, para fechas de nacimiento por ejemplo, vale tu idea, pero si deseas almacenar la fecha en que se ingresaron los datos, basta con usar la función "Date" previo a almacenar el registro.
Muchas gracias lo he hecho de la siguiente forma:

$fecha = date("F j, Y, g:i a");                 // October 1, 2008, 6:16 pm
Pero es posible que los meses aparecieran en ESPAÑOL?