Foros del Web » Programando para Internet » PHP »

funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

Estas en el tema de funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5 en el foro de PHP en Foros del Web. hola. anteriormente trabajaba con el Appserv que tiene la version PHP 5.2.6 la nueva version del php que biene con el Wampserver2.1e es Php 5.3.5 ...
  #1 (permalink)  
Antiguo 30/09/2011, 11:19
 
Fecha de Ingreso: agosto-2009
Ubicación: lima
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 1
funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

hola.
anteriormente trabajaba con el Appserv que tiene la version PHP 5.2.6

la nueva version del php que biene con el Wampserver2.1e es Php 5.3.5 (que es el que utilizo actualmente)

me sale el siguiente mensaje:
Notice: A session had already been started - ignoring session_start() in /var/www/html/matricula_minrel/login.php on line 3

e leido que los mensajes de tipo Notice no son error de codio sino de variables no declaradas etc.
tambien que algunas funcionalidades del php estan obsoletas con esta nueva version por ejemplo $_POST $_GET etc etc.

no puedo volver a Appserv porque todos los servicios estan levantados ya en wampserver ..pero estos mensajes no quiero que aparescas a pesar que los formularios corren normal es una cuestion de estetica

alguna ayuda porf.
como puedo corregir estos Notice?
  #2 (permalink)  
Antiguo 30/09/2011, 11:24
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

Cita:
algunas funcionalidades del php estan obsoletas con esta nueva version por ejemplo $_POST $_GET etc etc
eso es falso.

tu error A session had already been started

es porque estas usando 2 veces session_start()

PD: coloca el código para poder ayudarte más.

saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 30/09/2011 a las 11:30
  #3 (permalink)  
Antiguo 30/09/2011, 16:48
 
Fecha de Ingreso: agosto-2009
Ubicación: lima
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

<?php
session_cache_limiter('nocache,private');
session_start();
session_unset();
session_destroy();
include("include/conn.inc.php");
include("include/funciones.php");


if ($_POST["btn_ingresar"] == "Entrar"){

//Se define un usuario cero
$usuario=0;
$user = htmlentities($_POST["user"], ENT_QUOTES);
$pass = htmlentities($_POST["pass"], ENT_QUOTES);

// Busca como usuario normal
$sql="SELECT * FROM usuario WHERE usuario = '$user'";

$resultado_u=mysql_query($sql, $link);

if (mysql_num_rows($resultado_u)!=0){
$usuario=1;
}

if ($usuario==0){
$mensaje="El nombre de usuario no es válido";
}elseif ($usuario==1){
$sql="SELECT U.*, T_U.*, P.nom_pais
FROM usuario AS U
LEFT JOIN usuario_tipo AS T_U ON U.id_tipousuario = T_U.id_tipousuario
LEFT JOIN pais AS P ON U.id_pais = P.id_pais
WHERE usuario = '$user'
AND pass = '$pass'
AND U.estado = 1
AND T_U.estado = 1";
$resultado=mysql_query($sql, $link);

if (mysql_num_rows($resultado)!=0){
// Acceso autorizado, se deriva a página según tipo de usuario.
$db_user = mysql_fetch_array($resultado);
session_start();
// Crea sesión del usuario autentificado.
$_SESSION['id_tipousuario'] = $db_user[id_tipousuario];
$_SESSION['nombre_tipousuario'] = $db_user[nombre];
$_SESSION['id_pais'] = $db_user[id_pais];
$_SESSION['nom_pais'] = $db_user[nom_pais];
$_SESSION['id_usuario'] = $db_user[id_usuario];
$_SESSION['superusuario'] = $db_user[superusuario];
$_SESSION['nombre_usuario'] = $db_user[nombres]." ".$db_user[apellidos];
log_usuario($sql, 'EXITO - Ingreso al Sitio');
echo "<html><head><META HTTP-EQUIV='REFRESH' CONTENT='1;URL=login_menu.php'></head></html>"; exit;
}else{
$mensaje="Contraseña de usuario inválida";
}
}
}
?>
  #4 (permalink)  
Antiguo 30/09/2011, 16:51
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

en estos includes tienes session_start() supongo

<?php
session_cache_limiter('nocache,private');
session_start();
session_unset();
session_destroy();
include("include/conn.inc.php");
include("include/funciones.php");

$db_user = mysql_fetch_array($resultado);
session_start();
// Crea sesión del usuario autentificado.

Tienes 2 session_start()
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 30/09/2011, 17:02
 
Fecha de Ingreso: agosto-2009
Ubicación: lima
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

si tengo 2 session_start()
sino cuando ingreso user y clave me llama al logout.php (osea me bota del sistema)
  #6 (permalink)  
Antiguo 30/09/2011, 17:17
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

No puedes tener 2 session_start() porque te da ese error... Sólo necesitas uno, el problema debe estar en los session_start de algún include de esos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 30/09/2011, 17:23
 
Fecha de Ingreso: agosto-2009
Ubicación: lima
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

con el appserver 2.1e corre con normalidad sin ningun problema ni mensaje de Error ni Notice, el mismo lo levanto en wampserver 2.1e que tiene la version Php 5.3.5, y me sale este mensaje Notice que no me gusta session
  #8 (permalink)  
Antiguo 30/09/2011, 17:26
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

Seguramente porque appserv tiene desactivados los errores tipo Notice y wampserver si los tiene... Si quieres desactivarlos (que no lo recomiendo) modificar el nivel de error en tu php.ini error_reporting.

Siempre es mejor solucionar los errores que esconderlos...

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #9 (permalink)  
Antiguo 30/09/2011, 17:26
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5


Yo me pregunto... que utilidad tiene iniciar sesion, eliminar su contenido y despues destruirla? y que, ademas, session_unset tiene esta advertencia:

Cita:
Do NOT unset the whole $_SESSION with unset($_SESSION) as this will disable the registering of session variables through the $_SESSION superglobal.
La logica esta mal, como ya te dijo Andres, solo debes tener un session_start(); y, lo que falta, es aprender a manejar $_SESSION para que no tengas que recurrir a session_unset() o session_destroy() hasta que el usuario haga click en "logout" o "finalizar sesion".
__________________
- León, Guanajuato
- GV-Foto
  #10 (permalink)  
Antiguo 30/09/2011, 17:38
 
Fecha de Ingreso: agosto-2009
Ubicación: lima
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

con el appserver 2.1e corre con normalidad sin ningun problema ni mensaje de Error ni Notice, el mismo lo levanto en wampserver 2.1e que tiene la version Php 5.3.5, y me sale este mensaje Notice que no me gusta e tenido que modificar otra parte del codigo como $variable !='campo' por !empty($variable)='campo' o $_POST por isset($_POST) ;y asi sucesibamente con otras partes del codigo.. y al ejecutar bien ya no salia mensajes Notice... pero con este SESSION_START() no se como hacer
  #11 (permalink)  
Antiguo 30/09/2011, 17:47
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

De acuerdo, creo que casi te vas a cansar de repetir que con APPSERV te funcionaba, pero eso no quiere decir que sea lo correcto, aunque bueno, si asi es como te gusta, checa el manual sobre reporte de errores.

Y todo lo que has tenido que modificar es por una mala programacion, creeme que no es culpa de PHP, sino de quienes no seguimos las reglas y usamos algun "parche" para "taparle el ojo al macho".
__________________
- León, Guanajuato
- GV-Foto
  #12 (permalink)  
Antiguo 30/09/2011, 17:56
 
Fecha de Ingreso: agosto-2009
Ubicación: lima
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

session_start()
porf.
  #13 (permalink)  
Antiguo 30/09/2011, 18:05
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

A ver... como hacer esto mas grafico y explicito?

Bien, resulta que tu problema no es alguna incompatibilidad o cambio en la forma de usar session_start() entre las diferentes versiones de PHP, sino que realmente estas haciendo algo incorrecto.

La razon por la que te "funcionaba" en APPSERV seguramente es porque tenia desactivado el reporte de errores y, precisamente, eso es lo que debes hacer para que "PHP se haga de la vista gorda" y no te mande esos "mensajitos molestos"... bueno, esto porque no quieres programar adecuadamente.
__________________
- León, Guanajuato
- GV-Foto
  #14 (permalink)  
Antiguo 30/09/2011, 18:26
 
Fecha de Ingreso: agosto-2009
Ubicación: lima
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

porfav. me puedes explicar cual es la forma correcta entonces
  #15 (permalink)  
Antiguo 30/09/2011, 18:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

Ya te lo pusieron más arriba, no uses 2 session_start() con uno es suficiente.
  #16 (permalink)  
Antiguo 30/09/2011, 18:46
 
Fecha de Ingreso: agosto-2009
Ubicación: lima
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

ya hice la prueba GatorV y como lo puse arriba me logea bien pero me envia a logout.php cuando deveria enviarme login menu.php osea me vota del sistema.
como lo comente arriba
  #17 (permalink)  
Antiguo 30/09/2011, 19:16
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

Elimina session_unset() y session_destroy()... seguramente esos son la causa del problema.
__________________
- León, Guanajuato
- GV-Foto
  #18 (permalink)  
Antiguo 01/10/2011, 00:38
 
Fecha de Ingreso: agosto-2009
Ubicación: lima
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: funcionalidades obsoletas PHP 5.2.6 a Php 5.3.5

gracias triby me has sido de mucha ayuda

Etiquetas: html, formulario, variables
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 16:36.