Tengo un sitio web que estaba trabajando en forma local sin ningún problema.
A la hora de subirlo a un hosting (de pago) me genera un error en algunas consultas a la base de datos.
Por ejemplo, cuando inicio sesión con el user y el Pw, cuando agrego productos al carrito, y cuando registro un nuevo usuario me genera el siguiente error:
Cita:
Acceso.php, línea 62 - 76:Warning: session_regenerate_id(): Cannot regenerate session id - headers already sent in /home/citymall/public_html/acceso.php on line 62
Warning: Cannot modify header information - headers already sent by (output started at /home/citymall/public_html/Connections/conexion.php:7) in /home/citymall/public_html/acceso.php on line 71
Warning: Cannot modify header information - headers already sent by (output started at /home/citymall/public_html/Connections/conexion.php:7) in /home/citymall/public_html/acceso.php on line 71
Código PHP:
62.- 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;
$_SESSION['MM_IdUsuario'] = $row_LoginRS["idUsuario"];
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
71.- header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
Archivo conexion.php
Código PHP:
<?php
if (!isset($_SESSION)) {
session_start();
}
?>
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_conexion = "localhost";
$database_conexion = "xxxx";
$username_conexion = "xxxx";
$password_conexion = "xxxx";
$conexion = mysql_pconnect($hostname_conexion, $username_conexion, $password_conexion) or trigger_error(mysql_error(),E_USER_ERROR);
?>
<?php
if (is_file("includes/funciones.php")){
include("includes/funciones.php");
}
else
{
include("../includes/funciones.php");
}
?>
Luego a la hora de agregar un producto al carrito, aparece el siguiente error:
Cita:
Archivo carrito_add.php:Warning: Cannot modify header information - headers already sent by (output started at /home/citymall/public_html/Connections/conexion.php:7) in /home/citymall/public_html/carrito_add.php on line 52
Código PHP:
$insertSQL = sprintf("INSERT INTO carrito (idUsuario, id_prod, cantidad) VALUES (%s, %s, %s)",
GetSQLValueString($_SESSION['MM_IdUsuario'], "int"),
GetSQLValueString($_GET['redordID'], "text"), 1);
mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
$insertGoTo = "carrito_lista.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
52.- header(sprintf("Location: %s", $insertGoTo));
El sistema en local me funciona sin problemas. Pero ya en línea me genera esos errores y no encuentro el motivo. La versión de php del hosting es 5.4
Agradezco si alguien puede darme alguna luz de porqué está sucediendo esto.
Saludos y gracias nuevamente.