Foros del Web » Programando para Internet » PHP »

Problema con unexpected T_STRING in

Estas en el tema de Problema con unexpected T_STRING in en el foro de PHP en Foros del Web. Hola!!! Soy novatísima en esto, pero estoy haciendo una web con un área restringida para un trabajo de la universidad (nada de ingeniería ni de ...
  #1 (permalink)  
Antiguo 16/02/2014, 20:12
 
Fecha de Ingreso: febrero-2014
Mensajes: 2
Antigüedad: 10 años, 9 meses
Puntos: 0
Problema con unexpected T_STRING in

Hola!!! Soy novatísima en esto, pero estoy haciendo una web con un área restringida para un trabajo de la universidad (nada de ingeniería ni de lejos). Bueno, siguiendo manuales, post y tutoriales, lo tengo todo prácticamente bajo control excepto un unexpected T_STRING in que me aparece. No soy capaz de encontrar el error...

En mi guardarRegistro.php, que sería una vez que la persona rellena los datos para guardarlo en la DB, salta eso y no soy capaz de encontrar el error. Me dice que aparece en la line 221.

En azul está donde se supone que está el problema, pero no sé si puede continuar más abajo.

¿Alguien me puede ayudar por favor?

Código PHP:
Ver original
  1. <?php
  2. //Formar el query para el insert del nuevo usuario
  3. $queryInsert="INSERT INTO tbl_users (
  4.    tx_nombre,
  5.    tx_apellido,
  6.    tx_correo,
  7.    tx_telefono,
  8.    tx_username,
  9.    tx_password,
  10.    id_TipoUsuario,
  11.    dt_registro)
  12.    VALUES(
  13.    '".$str_nombre."',
  14.    '".$str_apellido."',
  15.    '".$str_correo."',
  16.    '".$str_telefono."',
  17.    '".$str_username."',
  18.    '".md5($str_password)."',
  19.    ".$i_TipoUsuario.",
  20. '".date("Y-m-d H:i:s")."');";
  21.  
  22.     $log .= $queryInsert."<br>";
  23.  
  24.     //echo $log;
  25.     //exit;
  26.      
  27.     mysql_query($queryInsert);
  28.  
  29.     // Le  Envio  un correo electronico  de bienvenida
  30.     $destinatario = $str_correo;                    //A quien se envia
  31.     $nomAdmin           = 'Cristina Rodr&iacute;guez Benavente';           //Quien envia
  32.     $mailAdmin      = '[email protected]';       //Mail de quien envia
  33.     $urlAccessLogin = 'http://localhost/autenticar_usuarios';       //Url de la pantalla de login
  34.  
  35.     $elmensaje = "";
  36.     $asunto = $str_elNombre.", Gracias por registrarte!";
  37.  
  38.     $cuerpomsg ='
  39.    <h2>.::Registrar usuarios::.</h2>
  40.    <p>Le damos la mas cordial bienvenida, desde ahora usted podra gozar de los beneficios de
  41.    haberse identificado y acceder a contenido exclusivo de esta comunidad.</p>
  42.        <table border="0" >
  43.        <tr>
  44.            <td colspan="2" align="center" >Sus datos de acceso para <a href="'.$urlAccessLogin.'">'.$urlAccessLogin.'</a><br></td>
  45.        </tr>
  46.        <tr>
  47.            <td> Nombre </td>
  48.            <td> <b>'.$str_elNombreCompleto.'</b> </td>
  49.        </tr>
  50.        <tr>
  51.            <td> Nombre de usuario </td>
  52.            <td> <b>'.$str_username.'</b> </td>
  53.        </tr>
  54.        <tr>
  55.            <td> Password </td>
  56.            <td> <b>'.$str_password.'</b> </td>
  57.        </tr>
  58.        </table> <br/><br/>
  59.    <p><b>Gracias por su preferencia, hasta pronto.</b></p> <br><br>';
  60.  
  61.     date_default_timezone_set('Madrid');
  62.  
  63.     //Establecer cabeceras para la funcion mail()
  64.     //version MIME
  65.     $cabeceras = "MIME-Version: 1.0\r\n";
  66.     //Tipo de info
  67.     $cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";
  68.     //direccion del remitente
  69.     $cabeceras .= "From: ".$nomAdmin." <".$mailAdmin.">";
  70.     $i_EmailEnviado = 0;
  71.      
  72.     //Si se envio el email
  73.     if( mail($destinatario,$asunto,$cuerpomsg,$cabeceras) )
  74.         $i_EmailEnviado = 1;
  75.      
  76.     //Cerrrar conexion a la BD
  77.     mysql_close($conexio);
  78.  
  79.     // Mostrar resultado del registro
  80.     ?>
  81.     <form id="frm_registro_status"   name="frm_registro_status" method="post" action="index.php">
  82.         <input type="hidden" name="status_registro" value="1" />
  83.         <input type="hidden" name="i_EmailEnviado" value='<?php echo $i_EmailEnviado ?>' />
  84.     </form>
  85.     <script type="text/javascript">
  86.         //Redireccionar con el formulario creado
  87.         document.frm_registro_status.submit();
  88.     </script>
  89. </body>
  90. </html>

Última edición por Triby; 16/02/2014 a las 20:39 Razón: Código en highlight
  #2 (permalink)  
Antiguo 16/02/2014, 20:42
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Problema con unexpected T_STRING in

Es posible que el error esté en un bloque de código anterior, porque la consulta parece estar bien armada.

Revisa si antes de eso dejaste alguna comilla sin cerrar y, de paso, te recomiendo usar algún editor con remarcado de sintáxis que te ayude a no sufrir tanto con esto. Notepad ++ es buena opción.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 16/02/2014, 20:51
 
Fecha de Ingreso: febrero-2014
Mensajes: 2
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Problema con unexpected T_STRING in

Estoy utilizando Sublime, pero aún así no soy capaz de encontrar el fallo. Y me estoy volviendo bastante loca. Esto es lo que estaba sobre lo que he posteado arriba. No encuentro de momento fallos de puntuación y lo he revistado. Llevo tantas horas delante del ordenador que no sé ya ni si veo bien

Código PHP:
Ver original
  1. <?php
  2.     $atr_nombre     =trim($_POST['tx_nombre']);
  3.     $str_apellido  =trim($_POST['tx_apellido']);
  4.     $str_correo         =trim($_POST['tx_correo']);
  5.     $str_telefono       =trim($_POST['tx_telefono']);
  6.     $str_username       =trim($_POST['tx_username']);
  7.     $str_password       =trim($_POST['tx_password']);
  8.     $str_password2  =trim($_POST['tx_password2']);
  9.     $i_TipoUsuario  =trim($_POST['i_tipoUsuario']);
  10.  
  11.     //Devuelve true si la cadena que llega esta VACIA
  12.     function estaEnBlanco($cadena) {
  13.         if(strlen( trim($cadena) ) == 0 )
  14.             return true;
  15.         return false;
  16.     }
  17.  
  18.     //Devuelve true si la longitud de la cadena (primer parametro)
  19.     // que llega  es menor que el numero (segundo parametro)
  20.     function validaTamanio($cadena,$longitud) {
  21.         if(strlen( trim($cadena) ) < $longitud )
  22.             return true;
  23.         return false;
  24.     }
  25.  
  26.     // devuelve true SI ha escrito, un email NO VALIDO
  27.     function esCorreoInvalido($str_email) {
  28.         if(!filter_var(trim($str_email), FILTER_SANITIZE_EMAIL))
  29.             return true;
  30.         return false;
  31.     }
  32.  
  33.     // devuelve una cadena escapada de algunos caracteres que
  34.     // pudieran servir para un ataque de sql injection
  35.     function escaparQuery($cadena) {
  36.         $str_KeywordsSQL            = array("select ","insert ","delete ","update ","union ");
  37.         $str_OperadoresSQL      = array("like ","and ","or ","not ","<",">","<>","=","<");
  38.         $str_DelimitadoresSQL = array(";","(",")","'");
  39.  
  40.         //Quitar palabras reservadas y operadores
  41.         for($i=0; $i<count($str_KeywordsSQL); $i++) {
  42.             $cadena = str_replace($str_KeywordsSQL[$i], "",strtolower($cadena) );
  43.         }
  44.         for($i=0; $i<count($str_OperadoresSQL); $i++) {
  45.             $cadena = str_replace($str_OperadoresSQL[$i], "",strtolower($cadena) );
  46.         }
  47.         for($i=0; $i<count($str_DelimitadoresSQL); $i++) {
  48.             $cadena = str_replace($str_DelimitadoresSQL[$i], "",strtolower($cadena) );
  49.         }
  50.  
  51.         return $cadena;
  52.     }
  53.  
  54.  
  55.     $mensajesAll= "";
  56.  
  57.     //Mensajes para el nombre
  58.     if( estaEnBlanco($str_nombre) )
  59.         $mensajesAll = "<li>Por favor, escriba su Nombre.</li>";
  60.     if( validaTamanio($str_nombre,3) )
  61.         $mensajesAll .= "<li>Su Nombre como minimo debe tener 3 caracteres.</li>";
  62.     //Mensajes para el apellido
  63.     if( estaEnBlanco($str_apellido) )
  64.         $mensajesAll .= "<li>Por favor, escriba sus apellidos.</li>";
  65.     if( validaTamanio($str_apellido,3) )
  66.         $mensajesAll .= "<li>Sus apellidos como minimo debe tener 3 caracteres.</li>";
  67.     //Mensajes para el Correo electronico
  68.     if( estaEnBlanco($str_correo) || validaTamanio($str_correo,5) || esCorreoInvalido($str_correo) )
  69.         $mensajesAll .= "<li>Por favor, escriba una direccion de correo electronico valida.</li>";
  70.     //Mensajes para el Movil    
  71.     if( estaEnBlanco($str_telefono,9) )
  72.         $mensajesAll .= "<li>Por favor, escriba m&iacute;nimo 9 d&iacute;gitos.</li>";
  73.     //Mensajes para el nombre de usuario
  74.     if( estaEnBlanco($str_username) )
  75.         $mensajesAll .= "<li>Por favor, escriba un nombre de usuario. Este dato le servira para iniciar sesion y ver el contenido.</li>";
  76.     if( validaTamanio($str_username,5) )
  77.         $mensajesAll .= "<li>Su nombre de usuario como minimo debe tener 5 caracteres.</li>";
  78.     //Mensajes para el password
  79.     if( estaEnBlanco($str_password) )
  80.         $mensajesAll .= "<li>Por favor, escriba una contrase&ntilde;a.</li>";
  81.     if( validaTamanio($str_password,5) )
  82.         $mensajesAll .= "<li>Su contrase&ntilde;a como minimo debe tener 5 caracteres.</li>";
  83.     //Mensajes para la confirmacion del password
  84.     if( estaEnBlanco($str_password2) || validaTamanio($str_password2,5) )
  85.         $mensajesAll .= "<li>Por favor, confirme la contrase&ntilde;a anterior.</li>";
  86.     if( trim($str_password) != trim($str_password2) )
  87.         $mensajesAll .= "<li>Por favor, repita la contrase&ntilde;a anterior.</li>";    
  88.     //Mensajes para el tipo de usuario
  89.     if( estaEnBlanco($i_TipoUsuario) )
  90.         $mensajesAll .= "<li>Por favor, indique el tipo de usuaurio.</li>";
  91.  
  92.     $log = $mensajesAll."<br>";
  93.  
  94.     //Si se generaron mensajes de error al validar...
  95.     if ( trim($mensajesAll) != "" ) {
  96.         //..Redireccion a la pagina de registro para mostrar msg de error al usuario
  97.         //Enviar los datos que habia escrito antes de enviar
  98.     ?>
  99.     <form id="frm_error"   name="frm_error" method="post" action="registro.php">
  100.         <input type="hidden" name="error" value="1" />
  101.         <input type="hidden" name="msgs_error" value='<?php echo $mensajesAll ?>' />
  102.         <input type="hidden" name="str_nombre" value='<?php echo $str_nombre ?>' />
  103.         <input type="hidden" name="str_apellido" value='<?php echo $str_apellido ?>' />
  104.         <input type="hidden" name="str_correo" value='<?php echo $str_correo ?>' />
  105.         <input type="hidden" name="str_telefono" value='<?php echo $str_telefono ?>' />
  106.         <input type="hidden" name="str_username" value='<?php echo $str_username ?>' />
  107.         <input type="hidden" name="str_password" value='<?php echo $str_password ?>' />
  108.         <input type="hidden" name="str_password2" value='<?php echo $str_password2 ?>' />
  109.     </form>
  110.     <script type="text/javascript">
  111.         //Redireccionar con el formulario creado
  112.         document.frm_error.submit();
  113.     </script>
  114. <?php
  115.         exit;
  116.     }
  117. ?>
  118. <!DOCTYPE html>
  119. <html xmlns="http://www.w3.org/1999/xhtml">
  120. <head>
  121.     <title>.:: Registrar Usuario ::. </title>
  122.  
  123.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  124.     <link rel="stylesheet" href="estilos.css" type="text/css">
  125.     <script src="jquery171.js" type="text/javascript"></script>
  126.     <script src="jquery.validate.js" type="text/javascript"></script>
  127.     <script type="text/javascript" src="jquery.alerts.js"></script>
  128.     <link href="jquery.alerts.css" rel="stylesheet" type="text/css" />
  129.  
  130.     <script type="text/javascript">
  131.     <!--
  132.         $().ready(function() {
  133.  
  134.         });
  135.     // -->
  136.     </script>
  137.  
  138. </head>
  139. <body>
  140.  
  141. <?php
  142.     $mensajesAll                = "";
  143.     $username_duplicado = false;
  144.     $email_duplicado        = false;
  145.     //Escapar las cadenas para avitar SQL Injection
  146.     $str_username = escaparQuery($str_username);
  147.     $str_correo     = escaparQuery($str_correo);
  148.  
  149.     //Conectar la BD
  150.     include("conectar_bd.php");
  151.     conectar_bd();
  152.  
  153.      
  154.     //Validar que el nombre de usuario no exista en la BD
  155.     $sql = "SELECT  id_usuario  FROM tbl_users
  156.    WHERE tx_username = '".trim($str_username)."';";
  157.     $rs_sql = mysql_query($sql);
  158.     $log .=  $sql."<br>";
  159.          
  160.     //Si ya existe el usuario en la BD...
  161.     if ( $fila  = mysql_fetch_object($rs_sql) ) {
  162.         $mensajesAll = "<li>El nombre de usuario <b>".$str_username."</b> ya fue registrado
  163.        por otra persona. Por favor, escriba otro.</li>";
  164.         $username_duplicado = true;
  165.     }
  166.  
  167.     //Validar que el email no exista en la BD
  168.     $sql = "SELECT  id_usuario  FROM tbl_users
  169.    WHERE tx_correo='".$str_correo."';";
  170.     $rs_sql = mysql_query($sql);
  171.     $log .=  $sql."<br>";
  172.  
  173.      
  174.     //Si ya existe el email en la BD...
  175.     if ( $fila  = mysql_fetch_object($rs_sql) ) {
  176.         $mensajesAll = "<li>El correo electronico <b>".$str_correo."</b> ya fue registrado
  177.        por otra persona. Por favor, escriba otro.</li>";
  178.         $email_duplicado        = true;
  179.     }
  180.     //Si ambos datos ya estan en la Base de datos mostrar un solo msg
  181.     if( $username_duplicado && $email_duplicado)
  182.         $mensajesAll = "<li>Ambos, nombre de usuario <b>".$str_username."</b>
  183.        y correo electronico <b>".$str_correo."</b> ya fueron registrados por otra persona.
  184.        Por favor, cambie esos datos.</li>";
  185.     //..Redireccion a la pagina de registro para mostrar msg de error al usuario
  186.     //Enviar los datos que habia escrito antes de enviar
  187.      
  188.     $log .=  $mensajesAll."<br>";
  189.  
  190.      
  191.     if ( trim($mensajesAll) != "" ) {
  192.         //..Redireccion a la pagina de registro para mostrar msg de error al usuario
  193.         //Enviar los datos que habia escrito antes de enviar
  194.         ?>
  195.         <form id="frm_error"   name="frm_error" method="post" action="registro.php">
  196.             <input type="hidden" name="error" value="2" />
  197.             <input type="hidden" name="msgs_error" value='<?php echo $mensajesAll ?>' />
  198.             <input type="hidden" name="str_nombre" value='<?php echo $str_nombre ?>' />
  199.             <input type="hidden" name="str_apellido" value='<?php echo $str_apellido ?>' />
  200.             <input type="hidden" name="str_correo" value='<?php echo $str_correo ?>' />
  201.             <input type="hidden" name="str_telefono" value='<?php echo $str_telefono ?>' />
  202.             <input type="hidden" name="str_username" value='<?php echo $str_username ?>' />
  203.             <input type="hidden" name="str_password" value='<?php echo $str_password ?>' />
  204.             <input type="hidden" name="str_password2" value='<?php echo $str_password2 ?>' />
  205.         </form>
  206.         <script type="text/javascript">
  207.             //Redireccionar con el formulario creado
  208.             document.frm_error.submit();
  209.         </script>
  210.             <?php
  211.         exit;
  212.     }
  213.      
  214.     //..Si llega asta aqui es que todos los datos son validos, procedemos a darlo de alta en BD
  215.     // Esta parte está cortada, favor de completarla

Última edición por Triby; 16/02/2014 a las 21:01 Razón: Código en highlight
  #4 (permalink)  
Antiguo 16/02/2014, 21:02
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Problema con unexpected T_STRING in

Hasta ahí parece ir bien; es mejor si colocas todo tu código.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: formulario, html, mysql, registro, unexpected, usuarios
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:17.