| |||
dreamweaver local o servidor remoto Hola, a ver si alguuien me puede dar una ayudita. Estoy haciendo un sitio con dreamweaver. En el index tengo un comportamiento de php para conectar usuario y que inicie una sesión. Esto funciona bien, pero al ir a la siguiente página despues de loguearme no me aparecen los datos de la sesion que se ha iniciado ($_SESSION['MM_Username']). Funciona perfectamente en local con xampp , todo perfecto, pero al enviarlo al servidor no funciona. La conexion es correcta, ya que tengo un sistema de noticias que si funciona, pero parece que no funcionara la sesión. ¿A que puede ser debido? ¿Por qué si en local y no en el servidor remoto?. LLevo 3 días buscando una explicación y no la consigo. Por favor, necesito ayuda. |
| |||
Respuesta: dreamweaver local o servidor remoto Cita: Gracias juaniquillo.Te dejo codigo a ver si me puedes ayudar. en el index, donde tengo el formulario de acceso: <?php require_once('Connections/conexion.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $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; } } // *** 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['Nombre'])) { $loginUsername=$_POST['Nombre']; $password=$_POST['Clave']; $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "usuarios2.php"; $MM_redirectLoginFailed = "registro_usuarios.php"; $MM_redirecttoReferrer = true; mysql_select_db($database_conexion, $conexion); $LoginRS__query=sprintf("SELECT Login, Clave FROM usuarios WHERE Login=%s AND Clave=%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 = ""; //declare two session variables and assign them $_SESSION['MM_Username'] = $loginUsername; $_SESSION['MM_UserGroup'] = $loginStrGroup; if (isset($_SESSION['PrevUrl']) && true) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else { header("Location: ". $MM_redirectLoginFailed ); } } ?> ------------------- luego en la página que entra si la conexion es correcta (usuarios2.php----------- <?php if (!isset($_SESSION)) { session_start(); } $MM_authorizedUsers = ""; $MM_donotCheckaccess = "true"; // *** Restrict Access To Page: Grant or deny access to this page function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { // For security, start by assuming the visitor is NOT authorized. $isValid = False; // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. // Therefore, we know that a user is NOT logged in if that Session variable is blank. if (!empty($UserName)) { // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. // Parse the strings into arrays. $arrUsers = Explode(",", $strUsers); $arrGroups = Explode(",", $strGroups); if (in_array($UserName, $arrUsers)) { $isValid = true; } // Or, you may restrict access to only certain users based on their username. if (in_array($UserGroup, $arrGroups)) { $isValid = true; } if (($strUsers == "") && true) { $isValid = true; } } return $isValid; } $MM_restrictGoTo = "fecha.php"; if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) { $MM_qsChar = "?"; $MM_referrer = $_SERVER['PHP_SELF']; if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&"; if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0) $MM_referrer .= "?" . $QUERY_STRING; $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer); header("Location: ". $MM_restrictGoTo); exit; } ?> al final acabo yendo a fecha.php. Si lo hago en local entro perfectamente en usuarios2.php, pero si lo pruebo en mi servidor, aparezco en la página fecha.php. No se la causa. Mi servidor utiliza mysql 4.1. Será ese el motivo? Muchas gracias por tu interes. |
| |||
Respuesta: dreamweaver local o servidor remoto Cita: En la segunda página tengo<?php if (!isset($_SESSION)) { session_start(); } |