Foros del Web » Programando para Internet » PHP »

Migrando PHP4.x a PHP5

Estas en el tema de Migrando PHP4.x a PHP5 en el foro de PHP en Foros del Web. Hola a tod@s, tengo un PROBLEMA de conexión a bd...creo que es debido a que en el "maravilloso hosting" que uso han hecho una migración ...
  #1 (permalink)  
Antiguo 29/11/2006, 12:24
 
Fecha de Ingreso: noviembre-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Migrando PHP4.x a PHP5

Hola a tod@s,

tengo un PROBLEMA de conexión a bd...creo que es debido a que en el "maravilloso hosting" que uso han hecho una migración de PHP4.x a PHP5 (sin previo aviso!! ) ..y claro, algo hay que "no le gusta" de mis scripts que han funcionado hasta ahora...

Desconozco PHP5 y he consultado un poco por la web...he cambiado algunos comandos por los homólogos de la nueva versión, pero NO consigo acceder a mi web



Por favor, alguien podría echarme una mano con este tema de la conexión??


Copio las sentencias del script :
<?

if (!defined("_INCLUDE_CONNECTIONBD_")) {
define ("_INCLUDE_CONNECTIONBD_","1",1);

if ($SERVER_NAME!="localhost") {
$DBHOST = "localhost";
$DBNAME = "userbd";
$DBUSER = "user";
$DBPASS = "clave";
} else {
$DBHOST = "localhost";
$DBNAME = "userbd";
$DBUSER = "root";
$DBPASS = "";
}
$conexion = mysql_connect ($DBHOST,$DBUSER,$DBPASS) or die("Poblemillas para realizar la conexión...");
mysql_select_db($DBNAME) or die("Problemillas con la Base de Datos; Avisa al administrador");

include ("tablas.inc.php");

$valor = session_save_path("sesiones");
session_start();

if ($$sesiones=="sesiones" && $valor!="null") { $$sesiones=$checksum_sess; session_register($sesiones); }
}

if (empty($login) || empty($passwd)) {
header("location:".$HTTP_REFERER);
exit;
}
$q = "select idusr,login,nombre,apellidos,perfil from ".TABLA_USUARIOS." where login='$login' and passwd = PASSWORD('$passwd')";
$rs = mysql_query($q);

if (list($sess_idusr,$sess_login,$sess_nombre,$sess_a pellidos,$sess_perfil) = mysql_fetch_row($rs)) {
session_register("sess_idusr");
session_register("sess_login");
session_register("sess_nombre");
session_register("sess_apellidos");
session_register("sess_perfil");
header("location:carga.php?link=$linkfrom");
exit;
}
else {
session_destroy();
header("location:carga.php?link=$linkfrom&error=". urlencode("...Sigue habiendo ERRORES..."));
}

?>




La excepción resultante en todos los casos es la marcado en negrita


Gracias de antemano.

SALUDOS
  #2 (permalink)  
Antiguo 29/11/2006, 12:48
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 8 meses
Puntos: 33
Te sugiero cambiar

Código PHP:
//session_register es muy "viejo" u "obsoleto"
session_register("sess_idusr");
session_register("sess_login");
session_register("sess_nombre");
session_register("sess_apellidos");
session_register("sess_perfil");
//Por
$_SESSION["sess_idusr"] = $sess_idusr;
$_SESSION["sess_login"] = $sess_login ;
$_SESSION["sess_nombre"] = $sess_nombre;
$_SESSION["sess_apellidos"] = sess_apellidos;
$_SESSION["sess_perfil"] = $sess_perfil 
Seria bueno que nos comentaras que error te esta arrojando.

Saludillos.

Última edición por Cluster; 29/11/2006 a las 13:07 Razón: Sustitución ( por [ y ) por ] .. $_SESSION es un array no una función.
  #3 (permalink)  
Antiguo 29/11/2006, 13:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Tampoco puedes usar:

$SERVER_NAME, $HTTP_REFERER, etc .. todas esas van en el array $_SERVER

Ejemplo:

$_SERVER['SERVER_NAME']

Es decir .. te hace falta cambiar toda tu programación al uso de los "arrays superglobales", que .. por cierto no depende de PHP 4 o 5 versiones sino de configuración de PHP que ahora es -diferente- en tu caso . .(referente a register_globals de tu php.ini).

Esto es un problema que no te hubiera afectado si hubieses programado "bien" desde un principio .. te hago el comentario por qué esto de los "arrays superglobales" está definido (o se puede usar) desde PHP versión 4.1.x si mal no recuerdo (hace ya unos años de esto ..).

Revisa el tema de los arrays superglobales:
http://www.php.net/manual/en/languag...s.external.php

Y del uso de sesiones:
www.php.net/session

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 29/11/2006, 17:19
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 20 años
Puntos: 4
Etiquetas, Etiquetitas...

Cambia:
Código PHP:
<?
    
// codigo php......
?>
por:
Código PHP:
<?php
   
/// codigo php
?>
eso es todo
  #5 (permalink)  
Antiguo 30/11/2006, 03:39
 
Fecha de Ingreso: noviembre-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Muchas GRACIAS a los 3 por vuestras respuestas!! (mauled, Cluster y Bellenger)

...en cuanto tenga un "respiro" en el trabajo me pondré manos a la obra con el cambio sugerido...a ver si hay suerte.


Saludos
  #6 (permalink)  
Antiguo 30/11/2006, 13:10
 
Fecha de Ingreso: noviembre-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Continuan los errores

Hola de nuevo,


he seguido las indicaciones que me proporcionasteis, haciendo las modificaciones correspondientes en el código...

He seguido vuestras indicaciones por completo (las de los 3 que habeis respondido a mi cuestión) pero sigue produciéndose un error :

[30-Nov-2006 19:52:48] PHP Fatal error: [ionCube Loader] The Loader must appear as the first entry in the php.ini file in Unknown on line 0


Presupongo que el problema reside en la configuración que han hecho la gente del hosting...y no tengo acceso a la misma (aunque ya la he solicitado por correo y por tlf...y aún sigo esperando... )

Está claro que "lo barato" sale caro (lo digo por mi elección en cuanto al hosting)...y además creo que no tienen nada claro qué han cambiado en su server (he sido yo quien les afirmó que habían cambiado de versión de PHP...inicialmente decían que no habían cambiado nada )

Os agradecería me indicaseis qué debería modificar en el php.ini para tratar de que funcione mi web...



Saludos
  #7 (permalink)  
Antiguo 30/11/2006, 13:40
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 8 meses
Puntos: 55
Mandales este link a los de tu hosting para que sepan cómo arreglarlo:
http://kb.swsoft.com/article_41_1520_en.html

O si tienes acceso al php.ini, puedes hacerlo tú mismo.

Ojalá funcione

PD: también te recomiendo que vayas conociendo las "novedades" de PHP5
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #8 (permalink)  
Antiguo 01/12/2006, 04:30
 
Fecha de Ingreso: noviembre-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Agradecido

Hola ferny,

gracias por tus indicaciones. He pasado la info a la empresa de hosting a ver si consigo que revisen su php.ini...


...pero...menuda sorpresa me acabo de llevar cuando compruebo que a lo largo de esta noche han vuelto a cambiar (empresa hosting) nuevamente, sin previo aviso, la versión de PHP
Han vuelto a instalar un PHP 4.4.


La verdad es que no entiendo a qué juegan. Tienen una manera de trabajo que deja mucho que desear...No es la primera vez, que con temas similares, me dejan sin web durante semanas


...Además de todo esto, "algo" mas deben haber cambiado en la configuración del servidor ya que, al menos ayer cuando era PHP5, podía registrar nuevos usuarios en mi web....Pero no era posible logarse en la web (problema con las sesiones probablemente).
Y ya para colmo, acabo de comprobar que desde el día 11 de Nov no se ejecutan correctamente los scripts que tengo configurados en el cron



Menudo lio!! así no hay quien repare nada...



...En cualquier caso, gracias por tu tiempo ferny (y al resto de los que habeis aportado ideas!)



Saludos
  #9 (permalink)  
Antiguo 01/12/2006, 04:37
 
Fecha de Ingreso: noviembre-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Agradecido

[msj repetido]

Última edición por wwwuser; 01/12/2006 a las 04:58 Razón: Un error ha producido que se duplicase
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 22:31.