Foros del Web » Programando para Internet » PHP »

Constante de Cadena sin Terminar

Estas en el tema de Constante de Cadena sin Terminar en el foro de PHP en Foros del Web. Hola buen dia. Tengo este problema y no se alguen me pueda ayudar. Lo que pasa es que tengo un formulario y al final los ...
  #1 (permalink)  
Antiguo 19/08/2008, 12:45
 
Fecha de Ingreso: septiembre-2006
Mensajes: 72
Antigüedad: 17 años, 7 meses
Puntos: 1
Constante de Cadena sin Terminar

Hola buen dia.

Tengo este problema y no se alguen me pueda ayudar.

Lo que pasa es que tengo un formulario y al final los botones para enviarlo que son los siguientes:

Código:
<input type='button' name='cambiar' value='Cambiar' onClick=self.location.href='index_1.php?mod=catalogos&op=puestos&oppuestos=aniadirpuesto'> <input name='reintentar' type='button' value='Reintentar' onClick=self.location.href='index_1.php?mod=guardarpuesto&puesto=$puesto'> <input name='cancelar' type='button' value='Cancelar' onClick=self.location.href='index_1.php?mod=catalogos&op=puestos'>
mi problema es ke en el boton de reintentar en la parte de 'index_1.php?mod=guardarpuesto&puesto=$puesto' creo ke tengo algun error o no se, por que cuando la variable $puesto no tiene espacios en blanco como por ejemplo 'Auxiliar', todo funciona bien, pero si la variable tiene algun espacio en blanco, 'Auxiliar B' por ejemplo, marca el navegador el error de "Constante de cadena sin terminar" y el boton reintentar no funciona.

Por favor espero alguien me ayude.

Gracias de antemano
  #2 (permalink)  
Antiguo 19/08/2008, 12:51
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Constante de Cadena sin Terminar

Es que el código Javascript hay que ponerlo entre comillas, prueba poniendo así:
Código PHP:
onClick="self.location.href='index_1.php?mod=guardarpuesto&puesto=$puesto'" 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/08/2008, 12:52
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Constante de Cadena sin Terminar

si tienes espacios vas a tener q utlizar rawurlencode() y luego al recibir le pasas rawurldecode()
__________________
Degiovanni Emilio
developtus.com
  #4 (permalink)  
Antiguo 19/08/2008, 12:52
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 4 meses
Puntos: 3
Respuesta: Constante de Cadena sin Terminar

hola diam creo q no te entendi muy bien pero
si lo q entendi es q imprimes y sale error creo q debe usar \
un saludo
  #5 (permalink)  
Antiguo 19/08/2008, 14:24
 
Fecha de Ingreso: septiembre-2006
Mensajes: 72
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Constante de Cadena sin Terminar

Falto aclarar que todo va dentro de una funcion php. y pues el boton reintentar no funciona por el error de constante de cadena sin terminar, lo de las comillas ke me comentan pues no creo por ke esta dentro de un echo("... "); no se como reparar el error y pues por lo de los espacios pues lo voy a checar ahora y le comento ke pasa. si alguien tiene alguna sugerencia sera bienvenida. =)
  #6 (permalink)  
Antiguo 19/08/2008, 14:32
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 4 meses
Puntos: 3
Respuesta: Constante de Cadena sin Terminar

onClick=self.location.href=\'index_1.php?mod=guardarpuesto&puesto=$puesto\'

no probaste los \
  #7 (permalink)  
Antiguo 19/08/2008, 14:33
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Constante de Cadena sin Terminar

Pues, yo sigo creyendo que el problema está con las comillas, de hecho he probado colocar esto:
Código PHP:
<a onClick=self.location.href='index_1.php?mod=guardarpuesto&puesto=esto prueba'>test</a
Y da el error de la cadena sin terminar. Pero si coloco esto:
Código PHP:
<a onClick="self.location.href='index_1.php?mod=guardarpuesto&puesto=esto prueba'">test</a
No produce error
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 19/08/2008, 15:24
 
Fecha de Ingreso: septiembre-2006
Mensajes: 72
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Constante de Cadena sin Terminar

todo me empezo a fallar cuando cambie esto:

$query="select * from puestos where puesto=$puesto";

por esto:

$query="select * from puestos where puesto='$puesto'";

es decir le puse comillas simples por ke me dijeron ke mysql debe llevarlas, afecta eso??, en veradad deben de llevarlas???
  #9 (permalink)  
Antiguo 19/08/2008, 15:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Constante de Cadena sin Terminar

Sí, si es un campo de tipo texto debe llevarlas. Pero no veo que sea ese el problema, ¿has intentado con poner entre comillas el código Javascript en el onclick como te comenté?

P.S.: No olvides la importancia de escribir correctamente para que los demás entiendan lo que preguntas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 19/08/2008, 17:44
 
Fecha de Ingreso: septiembre-2006
Mensajes: 72
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Constante de Cadena sin Terminar

si probe poniendole las comillas y pues no funciona
creo ke voy a checar todo el codigo minusciosamente. lo ke me saca de onda es ke por ke cuando la variable no tiene espacios no marca ese problema, no entiendo
  #11 (permalink)  
Antiguo 21/08/2008, 12:19
 
Fecha de Ingreso: septiembre-2006
Mensajes: 72
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Constante de Cadena sin Terminar

Pues ya estuve checando el codigo y pues aparentemente esta todo bien.

la sigueinte funcion me da el mismo error pero solo cuando ingreso, por ejemplo una contraseña con espacios

Código:
function noautorizado($usuario,$contrasenia)
	{
		echo ("Usuario: $usuario");
		echo ("<br>Contraseña: $contrasenia");
		echo("
			<br>
			<h4>ACCESO DENEGADO</h4>
			<hr size='2' color='#02882F' width='75%'><br>
			<center>El usuario <font color='#FF0000'><b>NO</b></font> fue identificado</center><br>
			<table align='center'>
				<tr>
					<td>
						<input name='reintentar' type='button' value='Reintentar' onClick=self.location.href='identificacion.php?usuario=$usuario&contrasenia=$contrasenia'> <input name='continuar' type='button' value='Continuar' onClick=self.location.href='index.php'>
					</td>
				</tr>
			</table>");
		return;
	}
es una funcion que esta en index.php.

ahora el archivo identificacion.php es el siguente:

Código:
<?php
	require_once("conexion.php");
	$query="select * from usrs where login='$usuario' && pwd='$contrasenia'";
	$result=mysql_query($query);
	if($result)
		{
			if(mysql_num_rows($result) > 0)
				{
					session_start();
					$_SESSION["autorizado"]="si";
					$row=mysql_fetch_array($result);
					$np=$row['nivpriv'];
					$_SESSION["np"]="$np";
					header("location:index_$np.php");
				}
				else
					{
						header("location:index.php?mod=noautorizado&usuario=$usuario&contrasenia=$contrasenia");
					}
		}			
?>
cual es el problema?? ayudenme.

por ke no maraca error cuando la variable no tiene ningun espacio; el error es "Constante de Cadena sin terminar" y por ese error el boton reintentar no funciona asi ke me imagino ke por ahi esta el error.

Gracias de antemano por su ayuda
  #12 (permalink)  
Antiguo 21/08/2008, 12:34
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Constante de Cadena sin Terminar

Sigo insistiendo lo de las comillas , prueba cambiando el botón reintentar por esto:
Código:
<input name='reintentar' type='button' value='Reintentar' onClick=\"self.location.href='identificacion.php?usuario=$usuario&contrasenia=$contrasenia'\">
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 21/08/2008, 12:42
 
Fecha de Ingreso: septiembre-2006
Mensajes: 72
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Constante de Cadena sin Terminar

Si tenias razon, eran las comillas, pero ya lo habia intentado cuanod me dijste antes y no funciono, pero ahora si funciono, gracias
=)
  #14 (permalink)  
Antiguo 21/08/2008, 12:52
 
Fecha de Ingreso: septiembre-2006
Mensajes: 72
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Constante de Cadena sin Terminar

Solo una ultima duda para terminar, si cuando esta dentro de una funcion php se pone asi:

<input name='reintentar' type='button' value='Reintentar' onClick=\"self.location.href='identificacion.php?u suario=$usuario&contrasenia=$contrasenia'\">

y cuando va en html como se escribe para checar la diferencia de las comillas y no cometer el mismo error
  #15 (permalink)  
Antiguo 21/08/2008, 13:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Constante de Cadena sin Terminar

En HTML lo único que va a cambiar es que no vas a necesitar poner la contrabarra para escapar la comilla:
Código PHP:
<input name='reintentar' type='button' value='Reintentar' onClick="self.location.href='identificacion.php?usuario=user&contrasenia=sena'"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #16 (permalink)  
Antiguo 21/08/2008, 13:18
 
Fecha de Ingreso: septiembre-2006
Mensajes: 72
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Constante de Cadena sin Terminar

Ok ya entendi =).

En verdad muchas gracias por todo, por tu tiempo y paciencia. que tengas buen dia
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 19:19.