Foros del Web » Programando para Internet » PHP »

syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Estas en el tema de syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla? en el foro de PHP en Foros del Web. Veran tengo un codigo muy simple y mysql me dice que hay un error, este error: Parse error: syntax error, unexpected T_STRING, expecting ',' or ...
  #1 (permalink)  
Antiguo 09/01/2008, 09:48
Avatar de juanitTo  
Fecha de Ingreso: enero-2007
Mensajes: 406
Antigüedad: 17 años, 10 meses
Puntos: 5
Pregunta syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Veran tengo un codigo muy simple y mysql me dice que hay un error, este error:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /www/sites/1/iespana.es/v/i/videoheavy/site/prueba2/comprueba.php on line 22

El error esta en la linea 22 de comprueba.php, COMO LO SOLUCIONO? aqui esta comprueba.php:

<?
session_start();
$server="*****";
$database="*****";
$dbpass="*****";
$dbuser="*****";
$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(mysql_num_rows($result)==0){
echo "No existe el login introducido";
} else {
$array=mysql_fetch_array($result);
if($array["password"]==crypt($pass,"semilla") ){
$SESSION["login"]=$login;
$SESSION["nombre"]=$array["nombre"];
$SESSION["apellidos"]=$array["apellidos"];
session_register("SESSION");
header("location: user.php");

} else {
echo "Password incorrecto! Pulsa <a reft="login.php">aqui</a> para volver atras";
}
}
?>
__________________
Videos de Metal
  #2 (permalink)  
Antiguo 09/01/2008, 09:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Tienes que escapar las comillas cuando hagas un echo:
Código PHP:
echo "Password incorrecto! Pulsa <a reft=\"login.php\">aqui</a> para volver atras"
Saludos.
  #3 (permalink)  
Antiguo 09/01/2008, 10:58
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 18 años, 6 meses
Puntos: 18
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

O puedes usar comillas simples:
Código PHP:
echo 'Password incorrecto! Pulsa <a reft="login.php">aqui</a> para volver atras'
  #4 (permalink)  
Antiguo 09/01/2008, 12:39
Avatar de juanitTo  
Fecha de Ingreso: enero-2007
Mensajes: 406
Antigüedad: 17 años, 10 meses
Puntos: 5
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

muchas gracias funciono a la perfeccion, una ultima duda, si tengo mi pagina en un servidor gratuito (que solo admite html), y las paginas de registro en otro servidor diferente(iespana), funcionara el reistro si lo llamo desde iframes?
__________________
Videos de Metal
  #5 (permalink)  
Antiguo 09/01/2008, 12:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Si funciona siempre y cuando apuntes bien tus rutas en tu archivo.

Saludos.
  #6 (permalink)  
Antiguo 09/01/2008, 12:55
Avatar de juanitTo  
Fecha de Ingreso: enero-2007
Mensajes: 406
Antigüedad: 17 años, 10 meses
Puntos: 5
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Bufff creia que lo habia resuelto pero aora no hace nada, me devuelve a la pagina login.php, el codigo que he puesto arriba es el que he puesto en mi pagina tal cual (salvo por los asteriscos del principio) que puede pasar, Ayudaaaaa
__________________
Videos de Metal

Última edición por juanitTo; 09/01/2008 a las 14:46
  #7 (permalink)  
Antiguo 09/01/2008, 14:52
Avatar de juanitTo  
Fecha de Ingreso: enero-2007
Mensajes: 406
Antigüedad: 17 años, 10 meses
Puntos: 5
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Por Favor Ayuda
__________________
Videos de Metal
  #8 (permalink)  
Antiguo 09/01/2008, 15:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Prueba cambiar $login y $pass por sus variables que vienen del formulario como es $_GET['login'] y $_GET['pass'].

Saludos.
  #9 (permalink)  
Antiguo 09/01/2008, 15:21
Avatar de juanitTo  
Fecha de Ingreso: enero-2007
Mensajes: 406
Antigüedad: 17 años, 10 meses
Puntos: 5
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

A que formulario te refieres :P, al que ejecuta comprueba.php no??(login.php), Se puede abrir un tema nuevo y asi os pongo todos los archivos de que consta el script de registro¿
__________________
Videos de Metal

Última edición por juanitTo; 09/01/2008 a las 15:30
  #10 (permalink)  
Antiguo 09/01/2008, 15:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Al script que publicaste, tienes que descargar las variables de algún lado, i no no te va a servir. Dependiendo de como hayas hecho tu formulario tienes que usar $_GET o $_POST.

Saludos.
  #11 (permalink)  
Antiguo 10/01/2008, 07:58
Avatar de juanitTo  
Fecha de Ingreso: enero-2007
Mensajes: 406
Antigüedad: 17 años, 10 meses
Puntos: 5
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

El formulario?? Solo tengo este formulario (login.php):

<?
session_start();
if(isset($SESSION)){
header("location: user.php");
} else {
?>
<html><head><title>Necesita identificación! </title></head>
<body>
<form action="comprueba.php" method="POST">
Login: <input type="text" name="login"><br>
Password: <input type="password" name="pass"><br>
<input type="submit" value="Entrar">
</form>
</body></html>
<?
}
?>


Y este formulario, para registros nuevos (creausu.php):

<?
$server="**";
$database="**";
$dbpass="**";
$dbuser="**";
$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(mysql_num_rows($result)){
echo "El usuario ya existe en la BD";
} else {
mysql_free_result($result);
if($pass1!=$pass2) {
echo "Los passwords deben coincidir<br>";
echo 'Clic <a href="http://videoheavy.iespana.es/prueba2/creausu.html">aquí</a> para volver al formulario';
} else {
$pass1=crypt($pass2, "semilla");
$query="INSERT INTO usuarios (login, nombre, apellidos, password, email) VALUES ('$login','$nombre','$apellidos','$pass1','$email' )";

$result=mysql_db_query($database,$query,$link);
if(mysql_affected_rows($link)){
echo "Usuario introducido correctamente";
} else {
echo 'Error introduciendo el usuario';
}
}
}
?>
__________________
Videos de Metal
  #12 (permalink)  
Antiguo 10/01/2008, 09:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Como te comento debes de usar $_GET o $_POST para descargar las variables en tu script, si tu tienes un control ej:
Código HTML:
<input type="text" name="hola" value="" /> 
Al recibirlo en PHP en lugar de usar $hola como se usaba anteriormente debes de usar $_POST['hola'] o $_GET['hola'].

Saludos.
  #13 (permalink)  
Antiguo 10/01/2008, 09:42
Avatar de juanitTo  
Fecha de Ingreso: enero-2007
Mensajes: 406
Antigüedad: 17 años, 10 meses
Puntos: 5
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

osea que deberia quedar asi??:

<?
session_start();
$server="imysql04";
$database="i5250678";
$dbpass="7yddsd3ialzy6ukh";
$dbuser="i5250678";
$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(mysql_num_rows($result)==0){
echo "No existe el login introducido";
} else {
$array=mysql_fetch_array($result);
if($array["password"]=$_GET['pass']{
$SESSION["login"]=$_GET['login'];
$SESSION["nombre"]=$array["nombre"];
$SESSION["apellidos"]=$array["apellidos"];
session_register("SESSION");
header("location: user.php");

} else {
echo 'Password incorrecto! Pulsa <a reft="login.php">aqui</a> para volver atras';

}
}
?>

Acabo de probar este codigo me dice Parse error: syntax error, unexpected ';' on line 15
__________________
Videos de Metal

Última edición por juanitTo; 10/01/2008 a las 09:44 Razón: Ya he probado el codigo
  #14 (permalink)  
Antiguo 10/01/2008, 10:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Tu código debería de ser así:
Código PHP:
<?php
$login 
$_POST['login'];
$pass $_POST['pass'];
$server="**";
$database="**";
$dbpass="**";
$dbuser="**";
$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(
mysql_num_rows($result)){
echo 
"El usuario ya existe en la BD";
} else {
mysql_free_result($result);
if(
$pass1!=$pass2) {
echo 
"Los passwords deben coincidir<br>";
echo 
'Clic <a href="http://videoheavy.iespana.es/prueba2/creausu.html">aquí</a> para volver al formulario';
} else {
$pass1=crypt($pass2"semilla");
$query="INSERT INTO usuarios (login, nombre, apellidos, password, email) VALUES ('$login','$nombre','$apellidos','$pass1','$email' )";

$result=mysql_db_query($database,$query,$link);
if(
mysql_affected_rows($link)){
echo 
"Usuario introducido correctamente";
} else {
echo 
'Error introduciendo el usuario';
}
}
}
?>
Te recomiendo leas un tutorial de PHP, y su sintaxis básica, los comandos terminan con ; y checa bien los paréntesis, cuando abres uno, debes de cerrarlo si no tendrás errores.

Saludos.
  #15 (permalink)  
Antiguo 10/01/2008, 11:38
Avatar de juanitTo  
Fecha de Ingreso: enero-2007
Mensajes: 406
Antigüedad: 17 años, 10 meses
Puntos: 5
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

lo siento no es eso lo que yo quiero, aunque alomejor si pero no te entiendo, lo que has puesto es el codigo para introducir nuevos usuarios, ese lo tengo bien, el que falla es el codigo de reconocimiento, sabrias solucionar el problema? gracias por tus aportes, esfuerzos y tiempo incluido en mi
__________________
Videos de Metal
  #16 (permalink)  
Antiguo 10/01/2008, 11:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Que código utilizas para el "reconocimiento"?.

Saludos.
  #17 (permalink)  
Antiguo 10/01/2008, 13:03
Avatar de juanitTo  
Fecha de Ingreso: enero-2007
Mensajes: 406
Antigüedad: 17 años, 10 meses
Puntos: 5
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Este:


<?
session_start();
$server="*****";
$database="*****";
$dbpass="*****";
$dbuser="*****";
$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(mysql_num_rows($result)==0){
echo "No existe el login introducido";
} else {
$array=mysql_fetch_array($result);
if($array["password"]==crypt($pass,"semilla") ){
$SESSION["login"]=$login;
$SESSION["nombre"]=$array["nombre"];
$SESSION["apellidos"]=$array["apellidos"];
session_register("SESSION");
header("location: user.php");

} else {
echo "Password incorrecto! Pulsa <a reft="login.php">aqui</a> para volver atras";
}
}
?>


Saludos.
__________________
Videos de Metal
  #18 (permalink)  
Antiguo 10/01/2008, 13:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Hola juanitTo

Tienes unas comillas dobles dentro de otras comillas dobles. Puedes escapar las comillas o usar comillas simples.

Saludos,
  #19 (permalink)  
Antiguo 10/01/2008, 13:20
Avatar de juanitTo  
Fecha de Ingreso: enero-2007
Mensajes: 406
Antigüedad: 17 años, 10 meses
Puntos: 5
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Mirare haber luego os cuento, gracias por la atencion que me prestais, te referias a esto no?:

<?
session_start();
$server='imysql04';
$database='i5250678';
$dbpass='7yddsd3ialzy6ukh';
$dbuser='i5250678';
$query='SELECT * FROM usuarios WHERE login='$login'';
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(mysql_num_rows($result)==0){
echo 'No existe el login introducido';
} else {
$array=mysql_fetch_array($result);
if($array['password']=$_GET['pass']{
$SESSION['login']=$_GET['login'];
$SESSION['nombre"]=$array['nombre'];
$SESSION['apellidos"]=$array['apellidos'];
session_register('SESSION');
header('location: user.php');

} else {
echo 'Password incorrecto! Pulsa <a reft='login.php'>aqui</a> para volver atras';

}
}
?>
__________________
Videos de Metal

Última edición por juanitTo; 10/01/2008 a las 13:36
  #20 (permalink)  
Antiguo 10/01/2008, 13:42
Avatar de juanitTo  
Fecha de Ingreso: enero-2007
Mensajes: 406
Antigüedad: 17 años, 10 meses
Puntos: 5
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Me da este error:

Parse error: syntax error, unexpected T_VARIABLE in /www/sites/1/iespana.es/v/i/videoheavy/site/prueba2/comprueba.php on line 7

podeis verlo vosotros mismos aqui: http://videoheavy.iespana.es/prueba2/login.php
__________________
Videos de Metal
  #21 (permalink)  
Antiguo 10/01/2008, 13:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Esta linea esta mal:
Código PHP:
$query='SELECT * FROM usuarios WHERE login='$login''
Estas usando dos veces comillas simples, si quieres usarlas dentro de tu string debes de escaparlas:
Código PHP:
$query='SELECT * FROM usuarios WHERE login=\'$login\''
Como te comente antes, haz un tutorial básico sobre PHP, Cadenas de texto y sintaxis del lenguaje y baja un buen editor como Zend, o PHP Editor, o similar que te pueden ayudar a la hora de estar programando.

Saludos.
  #22 (permalink)  
Antiguo 10/01/2008, 14:22
Avatar de juanitTo  
Fecha de Ingreso: enero-2007
Mensajes: 406
Antigüedad: 17 años, 10 meses
Puntos: 5
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Es que no sabia que era eso de escaparlas, tengo un tutorial que compre en una papeleria pero me pongo a leerlo y no entiendo nada, por eso uso scrips ya hechos puesto que es un lenguaje que no uso pero que necesito para crar un sistema de usuarios, es lo unico que quiero, ahora me presenta otro error:
Parse error: syntax error, unexpected ';' in /www/sites/1/iespana.es/v/i/videoheavy/site/prueba2/comprueba.php on line 15
__________________
Videos de Metal
  #23 (permalink)  
Antiguo 10/01/2008, 15:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

Es el mismo error que publicas al principio para el cual ya ta había dado la solución, por mi parte ya no participare mas en este tema ya que ya tienes las bases, son claras, debes de poner una parte de ti para aprender también la sintaxis del lenguaje.

Saludos.
  #24 (permalink)  
Antiguo 11/01/2008, 01:01
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 18 años, 6 meses
Puntos: 18
Re: syntax error, unexpected T_STRING¿¿?¿?¿?Que es esto, que falla?

juanitTo, te recomiendo que escribas un nuevo post con el código de los archivos que están mal bien indicado, porque con tantos mensajes, me he perdido, y si alguien nuevo entra al tema, no creo que encuentre el código de cada archivo si no se lee todos los mensajes.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:14.