Un amigo me encargo que hiciera unas pequeñas mejoras en una página web inclullendo una zona de administracion para usuarios, noticias etc.
Lo he acabado, con wamp server y dreamweaber en mi pc y todo funciona correctamente. La subo a mi espacio en 1&1 y todo correcto. La subo a mi propio servidor con ubuntu y lamp y todo va a las mil maravillas y sin problemas.
El echo es que esta web tiene alojamiento en Arsys, pues bien creo las tablas en la base de datos mysql que me corresponde en Arsys, subo la web y vuala no puedo entrar en la zona de administración.
Tengo una platilla en la que hay un formulario de acceso que a su vez aparecera en el index.php.
Bueno voy al index.php, intento entrar a travez del formulario al área de administración y me quedo en el propio index.php y con este error:
Warning: session_regenerate_id(): Cannot regenerate session id - headers already sent in /var/www/vhost/unedlapalma.es/home/html/index.php on line 98 Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhost/unedlapalma.es/home/html/Connections/conex_db_unedlapalma.php:5) in /var/www/vhost/unedlapalma.es/home/html/index.php on line 106
index.php
Código 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=$_POST['usuario'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "nivel";
$MM_redirectLoginSuccess = "admin/index.php";
$MM_redirectLoginFailed = "admin/error_acceso.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_conex_db_unedlapalma, $conex_db_unedlapalma);
$LoginRS__query=sprintf("SELECT usuario, password, nivel FROM tbl_usuarios WHERE usuario=%s AND password=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $conex_db_unedlapalma) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = mysql_result($LoginRS,0,'nivel');
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 );
}
}
?>
Línea 106 header("Location: " . $MM_redirectLoginSuccess );
conex_db_unedlapalma.php
Código PHP:
<?php if (!isset($_SESSION)) {
session_start();
}?>
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_conex_db_unedlapalma = "ip de arsys";
$database_conex_db_unedlapalma = "nombre db arsys";
$username_conex_db_unedlapalma = "usuario db arsys";
$password_conex_db_unedlapalma = "pass dd arsys";
$conex_db_unedlapalma = mysql_pconnect($hostname_conex_db_unedlapalma, $username_conex_db_unedlapalma, $password_conex_db_unedlapalma) or trigger_error(mysql_error(),E_USER_ERROR);
?>
<?php
if (is_file("includes/funciones.php")) {
include("includes/funciones.php");
}
else {
include("../includes/funciones.php");
}
?>
He desactivado los errores en el panel de control de arsys no me los da pero el formulario de acceso se queda en el index.php sin el error pero no puedo acceder a /admin/index.php que es el index de el área de adminstración.
Como dije me fonciona bien en todos los servers que lo he probado pero no en Arsys.
¿Alguna idea? he mirado todo, suprimir espacion al inicio documento y final, etc etc y no consigo que furule en arsys.
Como siempre un afectuoso saludo y muchas gracias de antemano.
Manyblue