Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/02/2014, 20:51
crbenavente90
 
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