Foros del Web » Programando para Internet » PHP »

Error raro

Estas en el tema de Error raro en el foro de PHP en Foros del Web. Parse error : syntax error, unexpected '{' in /home/a4723293/public_html/buscar.php on line 1 El error no parece raro, peroal buscarlo, no se encontrarlo. Estas son las ...
  #1 (permalink)  
Antiguo 09/07/2010, 05:28
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Error raro

Parse error: syntax error, unexpected '{' in /home/a4723293/public_html/buscar.php on line 1

El error no parece raro, peroal buscarlo, no se encontrarlo. Estas son las 5 primeras líneas:

Código PHP:
<?php
include ('header.php');
if (
$_GET){
$row = array();
$query 'SELECT * FROM buscador WHERE nombre="resultados";';
Y tengo el único { de esta parte bien cerrado, más abajo.

Me podeis ayudar???
  #2 (permalink)  
Antiguo 09/07/2010, 05:34
Avatar de QuezTal  
Fecha de Ingreso: enero-2009
Mensajes: 53
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Error raro

Hola. mi experiencia en php es poquita, pero if($_GET) ???

Así no traes nada que yo sepa.
Tampoco has conectado a la bdatos, y utilizas una variable query sin utilicar query realmente....

¿Qúe es lo que quieres hacer realmente?

Además creo que en donde la variable query, sobra el ; primero...
  #3 (permalink)  
Antiguo 09/07/2010, 05:34
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 10 meses
Puntos: 14
Respuesta: Error raro

if ($_GET){ qué? no hay condición?
  #4 (permalink)  
Antiguo 09/07/2010, 05:40
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

Como he dicho anteriormente, el if lo cierro más abajo, sólo he puesto las primeras líneas (ya que me dice error en la línea 1).

Las condiciones if($_GET){ } y if($_POST){ } se refieren a si hay o no hay datos en Get y en Post, y funcionan. Ejemplo:

Código PHP:
if ($_GET){
    echo 
'Hola';
}
else{
    echo 
'Adios';

localhost/prueba.php -> Adios
localhost/prueba.php?id=1 -> Hola

La conexión a la bd se hace en header.php.

Justo después de la variable query, viene la consulta, pero pensaba que 5 líneas eran suficientes para que alguien consiguiese ver el error que no he visto.

El ; primero está dentro del la cadena query;

SELECT * FROM buscador WHERE nombre="resultados";

Dando como resultado esta consulta MySQL, ya que necesitan el punto y coma.

Y esto forma parte de un buscador, que ya está programado y listo, pero lo pruebo y el primer error me desconcierta muuucho.

Ese query, lo que hace es coger de la bd el número de resultados desesados (está en la bd para posteriormente modificarlo desde el admin, el backoffice).

Última edición por markmb; 09/07/2010 a las 05:46
  #5 (permalink)  
Antiguo 09/07/2010, 05:46
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 10 meses
Puntos: 14
Respuesta: Error raro

if (isset($_GET[])) prueba eso...
  #6 (permalink)  
Antiguo 09/07/2010, 05:50
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

Fatal error: Cannot use [] for reading

Mirate, por favor, la edición que he puesto en mi post anterior, el ejemplo en php.

Por favor, no os centréis en el if($_GET){ porque va bien. Lo que pasa es que me sale

Parse error: syntax error, unexpected '{' in /home/a4723293/public_html/buscar.php on line 1


ese es el error, no el if ($_GET){
  #7 (permalink)  
Antiguo 09/07/2010, 08:07
Avatar de QuezTal  
Fecha de Ingreso: enero-2009
Mensajes: 53
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Error raro

Si quieres saber si hay o no datos creo que sería:

if(empty($_GET)){

echo "está vacío el campo";
}else{

echo "contiene datos Get";
  #8 (permalink)  
Antiguo 09/07/2010, 13:37
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

QuezTal: Me da exactamente el mismo error que haciéndolo a mi manera:

Parse error: syntax error, unexpected '{' in /home/a4723293/public_html/buscar.php on line 1
  #9 (permalink)  
Antiguo 09/07/2010, 14:41
Avatar de QuezTal  
Fecha de Ingreso: enero-2009
Mensajes: 53
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Error raro

Mmm, la verdad es que nunca he provado poner $_GET sin traer nada de formulario.....

Si dijeses que es lo que quieres hacer....igual te piyamos, creo que lo que quieres es saber si el formulario está vacío, o al menos algún campo de ellos...
Si es así dinos, porque es más fácil que todo eso ..

saludos.
  #10 (permalink)  
Antiguo 09/07/2010, 14:45
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

Esto es parte de un buscador. Si hay datos, busca y si no, pues muestra el buscador.
  #11 (permalink)  
Antiguo 09/07/2010, 14:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Error raro

Que es lo que tienes en la línea 1 de buscar.php??

Saludos.
  #12 (permalink)  
Antiguo 09/07/2010, 14:47
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

Código PHP:
 <?php
include ('header.php');
if (
$_GET){
$row = array();
$query 'SELECT * FROM buscador WHERE nombre="resultados";';
5 primeras líneas
  #13 (permalink)  
Antiguo 09/07/2010, 14:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Error raro

Prueba usar un editor como Notepad++ y selecciona ver todos los carácteres, es probable que tengas algún carácter no imprimible que no se muestre.

Saludos.
  #14 (permalink)  
Antiguo 09/07/2010, 14:53
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 14 años, 6 meses
Puntos: 63
De acuerdo Respuesta: Error raro

Tendras q poner mas codigo, porq el error es o q t falta una llave o tienes una de mas...
  #15 (permalink)  
Antiguo 09/07/2010, 14:54
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

Lo de las llaves ahora lo miro (ya lo habia mirado, pero lo volvere a mirar), y lo de Notepad++, pues sale un CR, en esa y en todas las líneas.

Edito:Las llaves están bien.

Última edición por markmb; 09/07/2010 a las 15:00
  #16 (permalink)  
Antiguo 09/07/2010, 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, 6 meses
Puntos: 2135
Respuesta: Error raro

Prueba crear el documento en un archivo nuevo, o postea el codigo directamente de header.

Saludos.
  #17 (permalink)  
Antiguo 09/07/2010, 15:18
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

Le quito el header, y da el mismo error.

El header va perfecto con otras páginas.

Este es el código:

Código PHP:
session_start();
include ('conn.php');
$current = $_SERVER['REQUEST_URI'];
$current = explode('?',$current);
$current = str_replace('/','',$current[0]);
$query = 'SELECT * FROM titulos WHERE nombre = "'.$current.'"';
$result = $conn->query($query);
$query = $result->fetch_array();
$result->close();
$titulo = $query['titulo'];
$title = array();
preg_match_all ("/&/",$titulo,$reem,PREG_OFFSET_CAPTURE);
$array = array(1 => strlen($titulo));
array_push ($reem[0],$array); 
if (!empty ($reem[0])){
    for ($i = 0;$i <= count($reem[0]);$i++){
        if (isset($reem[0][$i-1][1])){
            $carac = ($reem[0][$i][1] - $reem[0][$i-1][1]-1);
        }else{
            $carac = $reem[0][$i][1];
        }
        if ($i == 0){
            $title[] = substr($titulo, 0, $carac);
        }else{
            $title[] = substr($titulo, $reem[0][$i-1][1]+1, $carac);
        }
    }
}
if (count($title) > 2){
    $i = 1;
    $current = $_SERVER['REQUEST_URI'];
    $current = explode('?',$current);
    $id = explode('=',$current[1]);
    $id = $id[1];
    while (isset($title[$i])){
        if ($title[$i] == 'marca'){
            $query = 'SELECT marca FROM coche WHERE id = '.$id.';';
        }else if ($title[$i] == 'modelo'){
            $query = 'SELECT modelo FROM coche WHERE id = '.$id.';';
        }else if ($title[$i] == 'titulo'){
            $query = 'SELECT nombre_web FROM general;';
        }
        $result = $conn->query($query);
        $datos = $result->fetch_array();
        $result->close();
        $title[$i] = $datos[0];
        $i = $i+2;
    }
}
$titulo = implode('',$title);
$descripcion = $query['descripcion'];
$pclave = $query['pclave'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title><?php echo ($titulo); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<meta name="robots" content="index,follow,archive"/>
<meta http-equiv="Content-Language" content="es"/>
<meta name="description" content="<?php echo ($descripcion); ?>"/>
<meta name="keywords" content="<?php echo ($pclave); ?>"/>
<style type="text/css">
    @import url('estilo.css');
</style>
</head>
<body>
<div id="logo"><br/>Logo<br/></div>
<div id="contenedorsup">
    <div id="banner"><br/>Banner</div>
    <div id="menu" style="text-align:right"><div class="barraMenu"><a class="enlace" href="*******">Acceso empresas</a></div></div>
</div>
<div id="menucont">
    
    <div id="menu">
    <div class="barraMenu">
    <?php
    $query 
'SELECT * FROM menu ORDER BY pos ASC';
    if (
$result $conn->query($query)){
        while (
$menu $result->fetch_row()) {
            echo (
'<a class="enlace" href="'.$menu[2].'">'.$menu[1].'</a>|');
        }
        
$result->close();
    }
    
?>
    </div>
    </div>
</div>
Y va perfectamente en otras páginas.
  #18 (permalink)  
Antiguo 09/07/2010, 15:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Error raro

Como te digo intentalo con un archivo nuevo, ya que es muy raro que el error te lo marca en la linea 1.

Saludos.
  #19 (permalink)  
Antiguo 09/07/2010, 15:31
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

Mañana lo pruebo y os digo. Gracias por ayudarme! Buenas noches
  #20 (permalink)  
Antiguo 10/07/2010, 02:50
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

Parse error: syntax error, unexpected T_VARIABLE in /home/a4723293/public_html/buscar2.php on line 1

Este script de buscador, es uno que tenía en mi ordenador, que he modificado, pero el cuerpo general es el mismo, y este no va, y el original sí. He cogido de nuevo el original y lo he modificado de nuevo, y cambia el error, pero es igual de desconcertante ya que si solo pongo if ($_GET){ } aún entiendo la variable inesperada, pero es que aún poniend if (!empty($_GET)){ } me da el mismo error.
  #21 (permalink)  
Antiguo 11/07/2010, 02:30
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

Me parece que era cosa de que el hosting tenía problemas, porque una cosa que funcionaba en local, al subirlo, me daba el mismo error

Gracias igualmente
  #22 (permalink)  
Antiguo 11/07/2010, 02:34
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 10 meses
Puntos: 3
Respuesta: Error raro

no tendrias q especificar q valor es el que quieres agarrar por $_GET[''];??? como $_GET['variable']; en el if?? si no el if no tendira ningun sentido.
  #23 (permalink)  
Antiguo 11/07/2010, 03:01
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

Eso ya lo discutí anteriormente, if($_GET){ } significa "si hay valores en el get", cualquier valor, y funciona.
  #24 (permalink)  
Antiguo 11/07/2010, 11:14
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 10 meses
Puntos: 3
Respuesta: Error raro

Olle no se si incluiste copiaste biel el codigo del header.php pero puedo ver que te falta <?php al principio del documento.
  #25 (permalink)  
Antiguo 11/07/2010, 11:18
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

Lo copié mal.

YA ESTÁ SOLUCIONADO
  #26 (permalink)  
Antiguo 11/07/2010, 11:19
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 10 meses
Puntos: 3
Respuesta: Error raro

ya veo, solo por curiosidad, cual era el error?
  #27 (permalink)  
Antiguo 11/07/2010, 11:20
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: Error raro

http://www.forosdelweb.com/f18/error...0/#post3476243

Por favor, lee, está un par de posts más arriba

Etiquetas: raro
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 00:39.