Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema al conectar usuario en DreamWeaver

Estas en el tema de Problema al conectar usuario en DreamWeaver en el foro de PHP en Foros del Web. Hola comunidad, mi consulta es la siguiente: Estoy realizando una página que tiene dos segmentos, Hogar y empresas. a cada link le creo un parámetro ...
  #1 (permalink)  
Antiguo 14/02/2014, 19:05
Avatar de geovannimendoza  
Fecha de Ingreso: noviembre-2013
Mensajes: 15
Antigüedad: 10 años, 5 meses
Puntos: 0
Pregunta Problema al conectar usuario en DreamWeaver

Hola comunidad, mi consulta es la siguiente:

Estoy realizando una página que tiene dos segmentos, Hogar y empresas. a cada link le creo un parámetro para que me recuerde es que segmento estoy,

Los segmentos están con un id que lo identifica.

En el index.php el usuario selecciona en que segmento y te envía a otra pagina index_xx.php.

para recordar en que segmento estoy, envío el dato por GET.

Código PHP:
<a href="index.xx.php?recordSEG=<?php echo $_GET["recordSEG"]; ?>"
con esto me recuerda es que segmento estoy. todo perfecto todo funciona bien.
pero el problema se presenta cuando estoy en la página de login o acceso, tan pronto creo el código de conectar usuario con DreamWeaver se pierde y no lo recuerda.

Esto lo entendí porque al poner el cursor sobre el link te muestra esto:

Código PHP:
http://localhost/raiz/registro_usuario.php?recordSEG=2 
en la página de acceso sale así:

Código PHP:
http://localhost/zk/inicio_sesion.php?recordSEG= 
si quito el valor de action="<?php echo $loginFormAction; ?>" funciona nuevamente, pero obviamente no funciona porque no realiza el submit.

este es el código de inicio de sesión:

Código PHP:
<?php require_once('Connections/conexion.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['StrEmail'])) {
  
$loginUsername=$_POST['StrEmail'];
  
$password=$_POST['strPassword'];
  
$MM_fldUserAuthorization "";
  
$MM_redirectLoginSuccess "sesion_ok.php?recordSEG="$GET["recordSEG"];
  
$MM_redirectLoginFailed "sesion_error.php?recordSEG="$GET["recordSEG"];
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_conexion$conexion);
  
  
$LoginRS__query=sprintf("SELECT strEmail, strPassword FROM tblusuario WHERE strEmail=%s AND strPassword=%s",
    
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
   
  
$LoginRS mysql_query($LoginRS__query$conexion) 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 );
  }
}
?>

Formulario:

Código HTML:
<form name="form1" method="POST" action="<?php echo $loginFormAction; ?>">
	  <table width="200" border="0" align="center" cellpadding="2" cellspacing="5" id="iniciosesion">
	    <tr>
	      <td>&nbsp;</td>
	      </tr>
	    <tr>
	      <td><label for="StrEmail"></label>
	        <input name="StrEmail" type="email" required class="campotexto" id="StrEmail" placeholder="Correo Electrónico" size="40"></td>
	      </tr>
	    <tr>
	      <td><label for="strPassword">
	        <input name="strPassword" type="password" required class="campotexto" id="strPassword" placeholder="Contraseña" size="40">
	      </label></td>
	      </tr>
	    <tr>
	      <td height="50" align="center" valign="bottom"><input name="button" type="submit" class="boton1" id="button" value="Iniciar Sesión"></td>
	      </tr>
	    <tr>
	      <td align="right" class="contraseña"><a href="#" class="contraseña">¿Olvidó su contraseña?</a></td>
	      </tr>
	    </table>
	  </form>
      <table width="200" border="0" align="center" cellpadding="2" cellspacing="5">
  <tr>
    <td height="60" align="center" valign="bottom"><a href="registro_usuario.php?recordSEG=<?php echo $_GET["recordSEG"]; ?>" class="registro">Crear mi cuenta</a></td>
  </tr>
</table> 

Aclaro que no tengo conocimiento en programación WEB.

Gracias por su ayuda.
  #2 (permalink)  
Antiguo 15/02/2014, 02:12
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Problema al conectar usuario en DreamWeaver

Dándole una leída rápida a tu código a las 3:14 am, he notado un par de cosas:

- Veo que recibes variables por el método GET y por POST en el mismo archivo, eso no tiene sentido, porque los valores se reciben por uno de los dos métodos, no por ambos a la vez.
- Cuando concatenas el valor a la query string, lo haces así $GET["recordSEG"] cuando debe ser así $_GET["recordSEG"].

Corrige eso y nos cuentas cómo te fue, saludos.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 20/02/2014, 16:34
Avatar de geovannimendoza  
Fecha de Ingreso: noviembre-2013
Mensajes: 15
Antigüedad: 10 años, 5 meses
Puntos: 0
Pregunta Respuesta: Problema al conectar usuario en DreamWeaver

Hola Alexis 88, gracias por tu observación, ya lo corregí, pero ese no es el problema.

Me indicas que recibo variables por POST y por GET,

Las variables del POST son las del formulario de inicio de sesión, las que me indican si están en la BD y las valida,

Las variables GET son la que me trae del segmento donde estoy, como ves en el código, hago un echo $_GET["recordSEG"], para que me recuerde del segmento. si no lo hago me bota error, porque el menú depende de este segmento,

Dependiendo del segmento hay un menú, uno Empresa, otro Persona.

y este $_GET["recordSEG"] es quien me lo recuerda en todas las páginas.

Entonces cuando realizo la conexión del usuario no me permite que lo recuerde, pareciera que lo anula.

Espero me entiendas.
Gracias por tu ayuda.
  #4 (permalink)  
Antiguo 21/02/2014, 20:10
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Problema al conectar usuario en DreamWeaver

El detalle está en que cuando recibes valores, solamente puedes hacerlo o por GET o por POST, no por ambos métodos al mismo tiempo. Si recibes valores a través del método POST de un archivo que contiene un formulario, no puedes recibir valores ni de ese archivo ni de otro a través del método GET, pues solamente puedes recibir valores por uno de ambos métodos a la vez.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 22/02/2014, 02:46
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: Problema al conectar usuario en DreamWeaver

por que no guardas esto $_GET["recordSEG"] en una variable de sesion pomentaneamente, y la vas actualizando a medida que vayas navegando y digas que cambia??

yo acabo de crusar por el aro de los get y ando por los POST...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #6 (permalink)  
Antiguo 27/02/2014, 00:04
Avatar de geovannimendoza  
Fecha de Ingreso: noviembre-2013
Mensajes: 15
Antigüedad: 10 años, 5 meses
Puntos: 0
Pregunta Respuesta: Problema al conectar usuario en DreamWeaver

Hola Alexis 88, gracias por tu respuesta, me claro muy claro. es por eso que no lo guarda, entendido perfectamente, gracias por tu ayuda.

Hola arcanisgk122, me puedes explicar con un ejemplo lo de la variable de sesión por favor.

lo único que quiero es que me recuerde ese dato de segmento.
Después de iniciar sesión en cualquier otra pagina ya no hay problema, sólo es al iniciar la sesión que no la recuerda.

gracias por tu ayuda.
  #7 (permalink)  
Antiguo 27/02/2014, 11:26
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: Problema al conectar usuario en DreamWeaver

asi la guardas si la modificas o son diferentes

Código PHP:
Ver original
  1. if($_SESSION['recordSEG']!=$_GET["recordSEG"];){
  2. $_SESSION['recordSEG']=$_GET["recordSEG"];}

y cuando necesites recordarla o usarla usas
Código PHP:
Ver original
  1. $recordSEG=$_SESSION['recordSEG'];
y la usas como variable

la idea es no tener siempre que recivirla por get y tenerla guardada en otro lado... y de ves en cuando que necesites cambiar su valor simple;

paso por el loggin:
Código PHP:
Ver original
  1. $_SESSION['recordSEG']=1;
paso por el regristro:
Código PHP:
Ver original
  1. $_SESSION['recordSEG']=2;
dio click para finalizar la sesion:
Código PHP:
Ver original
  1. $_SESSION['recordSEG']=0;
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #8 (permalink)  
Antiguo 04/03/2014, 18:00
Avatar de geovannimendoza  
Fecha de Ingreso: noviembre-2013
Mensajes: 15
Antigüedad: 10 años, 5 meses
Puntos: 0
De acuerdo Respuesta: Problema al conectar usuario en DreamWeaver

Hola arcanisgk122, gracias por tu respuesta, no funcionó como me dijiste pero me dio la idea de solucionarlo, mira esto fue lo que hice.
Código PHP:
if (isset($_GET['recordSEG'])) {
$_SESSION['recordSEG']= $_GET["recordSEG"];


Y la recuerdo como digiste,

$
Código PHP:
recordSEG=$_SESSION['recordSEG']; 

Y todo perfecto, funcionó excelente, me guarda el segmento sin problema.

Muchas gracias,

Dios le multiplique por el tiempo que invirtió en mi ayuda.

Etiquetas: dreamweaver, formulario, mysql, registro, select, sql, usuario, variable
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 17:59.