PHP - syntax error unexpect ....

 
Vista:

syntax error unexpect ....

Publicado por Camilo castelblanco (1 intervención) el 08/04/2010 23:26:54
hola tengo este error:

syntax error unexpect T_STRING, expecting ',' or ';'
es en esta linea:

echo"<html><script>desactiva("revisar");</script>";
desactiva es una funcion que declare antes es esta:
<script language="javascript">
function desactiva(id){
document.getElementById("id").disabled = true;
}
</script>

q tengo mal; o mejor como puedo llamar es afuncion javascript en php ... porq para declarra la funcion hice algo como:

<?php
.... aqui tengo codigo php.....
?>

<html> <script language="javascript">
function desactiva(id){
document.getElementById("id").disabled = true;
}
</script>
<html>

<?php
........ de nuevo php ...........
?>

eso es un unico archivo....

como puedo solucionarlo

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:syntax error unexpect ....

Publicado por Diego Romero (14 intervenciones) el 09/04/2010 04:49:26
El mensaje de error se debe a que luego del echo estás poniendo texto que no es PHP. El echo se termina con un punto y coma, el cual no tienes.

Pero me hace falta ver el código que has posteado para darme cuenta que tú mucha idea de PHP todavía no tienes. Echo imprime lo que está entre comillas dobles o simples, si miras el primer echo que has puesto verás que inicia con comillas dobles, lo cual está bien, pero luego tienes otras comillas dobles, la segunda PHP la entiende como que ahí termina el echo y por tanto lo que sigue debe ser un punto o un punto y coma.

Lo que has querido hacer es esto...

?> <!-- cierra php -->
<html><script>desactiva("revisar");</script>";
desactiva es una funcion que declare antes es esta:
<script language="javascript">
function desactiva(id){
document.getElementById("id").disabled = true;
}
</script>
<?php // <-- continua el código PHP

Sobre tu segunda pregunta: no puedes llamar a una función JavaScript en PHP ni una función PHP en JavaScript simplemente porque PHP se ejecuta en el servidor y JavaScript en el cliente. Para que lo entiendas mejor: cuando tú ves la página web en tu navegador, PHP ya se ejecutó en el servidor, lo que estás viendo es EL RESULTADO de la ejecución de PHP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:syntax error unexpect ....

Publicado por camilo (1 intervención) el 09/04/2010 16:32:45
hola... si ya entiendo.... al principio no veia la diferencia con esto que si funciona:

echo "
<SCRIPT LANGUAGE=\"JavaScript\">
document.write ('Debes de ingresar tu contraseña');
</SCRIPT>";

pero aca hay una comilla simple y si es diferente... gracias ya entendi cual es mi error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:syntax error unexpect ....

Publicado por camilo (1 intervención) el 09/04/2010 16:49:51
hola... ya no me sale error pero no me funciona no ejecuta lo que esta en javascript:

la funcion desactiva es la misma igual.. y esta definida al principio

HICE ESTA PRUEBA Y NADA

<php
if ($revisado==0){ $estadoR="No Revisado";
?>
<SCRIPT LANGUAGE=\"JavaScript\"> document.write ('HOLA');</SCRIPT>
<?php
}
else {$estadoR="Revisado";}

para lo q estoy haciendo seria asi:
<php
if ($revisado==0){ $estadoR="No Revisado";
?>
<SCRIPT LANGUAGE=\"JavaScript\"> desactiva("id");</SCRIPT>
<?php
}
else {$estadoR="Revisado";}

como dije no slae error peor no lo ejecuta..... cuando al primero que pus el de document .write le pongo un echo ahi si.. peor por lo q me explicabas el otro ya no funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:syntax error unexpect ....

Publicado por Diego Romero (14 intervenciones) el 09/04/2010 22:40:55
Debes entender que estás usando dos sintaxis. Rige una sintaxis cuando estás dentro de un bloque PHP y otra cuando estás fuera de él.
En los códigos que has puesto, la parte de JavaScript se rige por la sintaxis HTML y por lo tanto esos barra-comillas dobles son erróneas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar