Foros del Web » Programando para Internet » PHP »

Hola, tengo problemas con este login, ya que necesito que verifique 3 datos y no 2.

Estas en el tema de Hola, tengo problemas con este login, ya que necesito que verifique 3 datos y no 2. en el foro de PHP en Foros del Web. Saludos, tengan un buen dia, mi problema es que necesito logearme con 3 datos todos estan encriptados con md5 desde un formulario de registro, lo ...
  #1 (permalink)  
Antiguo 28/12/2015, 20:18
 
Fecha de Ingreso: diciembre-2015
Ubicación: Medellín
Mensajes: 8
Antigüedad: 9 años
Puntos: 0
Exclamación Hola, tengo problemas con este login, ya que necesito que verifique 3 datos y no 2.

Saludos, tengan un buen dia, mi problema es que necesito logearme con 3 datos todos estan encriptados con md5 desde un formulario de registro, lo datos son estos_ [usuario, pin y contraseña] pero me lanza error al intentarme logearme, tengo el siguiente código:



Código PHP:
<?php require_once('../cnn/config.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  
session_start();
}

$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
  
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset(
$_POST['usuario'])) {
  
$loginUsername=md5($_POST['usuario']);
  
$pin=md5($_POST['pin']);
  
$password=md5($_POST['contrasena']);
  
$MM_fldUserAuthorization "";
  
$MM_redirectLoginSuccess "pastes.php";
  
$MM_redirectLoginFailed "ingreso.php";
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_config$config);
  
  
$LoginRS__query=sprintf("SELECT micro_p_us, micro_p_pin, micro_p_co FROM micro_p_user_adm WHERE micro_p_us=%s micro_p_pin=%s AND micro_p_co=%s",
    
GetSQLValueString($loginUsername"text"), GetSQLValueString($pin"text"), GetSQLValueString($password"text")); 
   
  
$LoginRS mysql_query($LoginRS__query$config) or die(mysql_error());
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
     
$loginStrGroup "";
    
    if (
PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    
//declare two session variables and assign them
    
$_SESSION['MM_Username'] = $loginUsername;
    
$_SESSION['MM_UserGroup'] = $loginStrGroup;          

    if (isset(
$_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
    }
    
header("Location: " $MM_redirectLoginSuccess );
  }
  else {
    
header("Location: "$MM_redirectLoginFailed );
  }
}
?>

me sale el siguiente error:

Última edición por mateoagudelo32; 28/12/2015 a las 21:22
  #2 (permalink)  
Antiguo 29/12/2015, 08:30
 
Fecha de Ingreso: diciembre-2015
Ubicación: rosario
Mensajes: 69
Antigüedad: 9 años
Puntos: 5
Respuesta: Hola, tengo problemas con este login, ya que necesito que verifique 3 dato

los tres campos que vos validas son campos de texto, xq si hay alguno q es x ej numerico te va a dar error xq vos los estas casteando a texto --> GetSQLValueString($pin, "text")
  #3 (permalink)  
Antiguo 29/12/2015, 08:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Hola, tengo problemas con este login, ya que necesito que verifique 3 dato

La sintaxis de la query no tiene errores, si los hay están provocados por esa función GetSQLValueString, que algún mal programador inventó y todos copian sin corroborar su funcionamiento. Cada vez que alguien viene con un problema similar al tuyo, suele suceder que ha tomado esa funcion de algún sitio y la intenta aplicar.
Como sea, lo mejor que puedes hacer para asegurarnos qué es lo que está corrompiendo la sintaxis es esto:
Código PHP:
$LoginRS__query=sprintf("SELECT micro_p_us, micro_p_pin, micro_p_co FROM micro_p_user_adm WHERE micro_p_us=%s micro_p_pin=%s AND micro_p_co=%s"
    
GetSQLValueString($loginUsername"text"), GetSQLValueString($pin"text"), GetSQLValueString($password"text"));  
    
echo 
var_dump($LoginRS__query); 
Postea lo que eso muestra y veremos donde se está alterando la sintaxis.
Lo más probable es que haya apóstrofos entremedio de alguno de los textos...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: html, html5, mysql, php5
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 03:40.