PHP - Problema con SESSION_START() cambiar contraseña

 
Vista:
sin imagen de perfil

Problema con SESSION_START() cambiar contraseña

Publicado por Leo (50 intervenciones) el 07/10/2014 05:12:15
Hola que tal? quiero que un usuario pueda cambiar su contraseña, el problema es el siguiente:
Notice: A session had already been started - ignoring session_start() in RUTA...
Si ejecuto la vista cambiar_contraseña.php por separado funciona perfectamente el cambio de contraseña se realiza, pero al momento de cambiar la contraseña desde la aplicacion me sale el error que mencione anteriormente. Si le saco el SESSION_START() ya no aparece el error pero no me muestra el formulario para poder realizar el cambio de contraseña.
Muchas gracias
La vista es la siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
session_start();
 
   	mysql_connect("localhost","root","");
	mysql_select_db("crear"); // incluímos los datos de conexión a la BD 
    if(isset($_SESSION['idusuario'])) { // comprobamos que la sesión esté iniciada 
        if(isset($_POST['enviar'])) {
            if($_POST['usuario_clave'] != $_POST['usuario_clave_conf']) {
                echo "Las Claves ingresadas no coinciden.";
            }else {
                $id = $_SESSION['idusuario'];
                $usuario_clave = mysql_real_escape_string($_POST["usuario_clave"]);
               // encriptamos la nueva contraseña con md5 
                $sql = mysql_query("UPDATE persona SET clave='".$usuario_clave."' WHERE id='".$id."'");
                if($sql) {
                    echo "Clave cambiada correctamente.";
                }else {
                    echo "Error: No se pudo cambiar la Clave.";
                }
            }
        }else {
?>
        <form action="" method="post">
            <label>Nueva Clave:</label><br />
            <input type="password" name="usuario_clave" maxlength="15" /><br />
            <label>Confirmar:</label><br />
            <input type="password" name="usuario_clave_conf" maxlength="15" /><br />
            <input type="submit" name="enviar" value="Enviar" />
        </form>
<?php
        }
    }else {
        echo "Acceso denegado.";
    }
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con SESSION_START() cambiar contraseña

Publicado por xve (6935 intervenciones) el 07/10/2014 10:42:17
Hola Leo, no se como llamas a este archivo, pero ese Notice creo que te esta diciendo que ya esta definido el session_start()

No es que sea un error, simplemente te lo esta notificando. Puede ser que ejecutes esa instrucción dos veces?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema con SESSION_START() cambiar contraseña

Publicado por Leo (50 intervenciones) el 07/10/2014 15:29:16
estuve viendo el codigo y no vi en ningun lado , que la haya ejecutado dos veces. Al archivo ese lo llamo desde el index.php el cual es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<?php
	session_start();
	define("PALABRA","j)7h&54Bh");
	include('scripts/conexion.php');
	if(isset($_POST['txtusuario']) && isset($_POST['txtclave'])){
		if($_POST['txtusuario']!='' && $_POST['txtclave']!=''){
			$mensaje='';
			$dni = $_POST['txtusuario'];
			$clave = $_POST['txtclave'];
			$sql = "SELECT id, dni, perfilid, nombreyapellido from persona where dni = '$dni' and clave = '$clave'";
			$rs = mysql_query($sql);
			if($rs){
				$fila = mysql_fetch_row($rs);
				$_SESSION['idusuario'] = $fila[0];
				$_SESSION['nusuario'] = $fila[1];
				$_SESSION['perfilid'] = $fila[2];
				$_SESSION['nombreyapellido'] = $fila[3];
			}else{
				$mensaje = 'Usuario y/o clave incorrecta';
			}
		}
	}
?>
<html>
<head>
	<title>Crear</title>
	<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
	<script type="text/javascript" src="js/dataTables.js"></script>
	<script type="text/javascript" src="js/jquery-ui.js"></script>
	<script type="text/javascript" src="js/jquery.form.js"></script>
	<script type="text/javascript" src="js/crear.js"></script>
	<link type="text/css" rel="stylesheet" href="css/dataTables.css"/>
	<link type="text/css" rel="stylesheet" href="css/dataTables_themeroller.css"/>
	<link type="text/css" rel="stylesheet" href="css/jquery-ui.css"/>
	<link rel="stylesheet" type="text/css" href="css/crear.css"/>
</head>
<body>
<div id="encabezado"></div>
<div id="contenido">
	<?php
	if(!isset($_SESSION['perfilid'])){
		include('vistas/login.php');
	}else{
		switch ($_SESSION['perfilid']){
			case 'Administrador':
				include('vistas/menuadministrador.php');
				if(isset($_POST['btnopcion'])){
					if($_POST['btnopcion']=='Gestion de Usuarios'){
					include('vistas/admusuarios.php');
					}
					if($_POST['btnopcion']=='Gestion de Materias'){
					include('vistas/admmaterias.php');
					}
					if($_POST['btnopcion']=='Gestion de Carreras'){
					include('vistas/admcarreras.php');
					}
					if($_POST['btnopcion']=='Generar PDF Usuarios'){
					include('vistas/reporte_usuarios_pdf.php');
					}
					if($_POST['btnopcion']=='Generar PDF Materias'){
					include('vistas/reporte_materias.php');
					}
					if($_POST['btnopcion']=='Generar PDF Carrera'){
					include('vistas/reporte_carreras.php');
					}
					if($_POST['btnopcion']=='Salir'){
					session_destroy();
					header('Location: index.php');
					}
				}
				break;
			case 'Profesor':
				include('vistas/menuprofesor.php');
				if(isset($_POST['btnopcion'])){
					if($_POST['btnopcion']=='Gestion de Inscripciones'){
					include('vistas/alumnos_inscripcion.php');
					}
					if($_POST['btnopcion']=='Subir Archivos'){
					include('vistas/subir_archivos.php');
					}
					if($_POST['btnopcion']=='Gestion de Cuenta'){
					include('vistas/cambiar_clave.php');
					}
					if($_POST['btnopcion']=='Gestion de Notas'){
					include('vistas/subir_notas.php');
					}
					if($_POST['btnopcion']=='Genarar PDF Inscriptos a Cursada'){
					include('vistas/reporte_inscriptos_cursada.php');
					}
					if($_POST['btnopcion']=='Genarar PDF Inscriptos a Final'){
					include('vistas/reporte_inscripcion_final.php');
					}
					if($_POST['btnopcion']=='Salir'){
					session_destroy();
					header('Location: index.php');
					}
				}
				break;
			case 'Alumno':
				include('vistas/menualumno.php');
				if(isset($_POST['btnopcion'])){
					if($_POST['btnopcion']=='Materia'){
					include('vistas/materia.php');
					}
					if($_POST['btnopcion']=='Gestion de Cuenta'){
					include('vistas/cambiar_clave.php');
					}
					if($_POST['btnopcion']=='Consultar Informacion'){
					include('scripts/reporte_inscripcion_cursada.php');
					}
					if($_POST['btnopcion']=='Generar PDF Inscripcion Cursada'){
					include('vistas/reporte_inscripcion_cursada_alumno.php');
					}
					if($_POST['btnopcion']=='Generar PDF Inscripcion Final'){
					include('vistas/reporte_inscripcion_final_alumno.php');
					}
					if($_POST['btnopcion']=='Salir'){
					session_destroy();
					header('Location: index.php');
					}
				}
				break;
			default:
				include('vistas/login.php');
		}
	}
	?>
</div>
<div id="pie"></div>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con SESSION_START() cambiar contraseña

Publicado por xve (6935 intervenciones) el 07/10/2014 16:18:52
Hola Leo, no te das cuenta, que en el index, ya ejecutas el session_start(), luego haces el include y lo vuelves a ejecutar la instrucción? La estas ejecutando dos veces!!

Quítalo del archivo de la base de datos.


Un include, es lo mismo que coger el código del archivo que incluyes y pegarlo en la pagina que tiene el include.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema con SESSION_START() cambiar contraseña

Publicado por leo (50 intervenciones) el 07/10/2014 17:34:54
Si lo saque del cambiar_clave.php y no me sale mas el error pero no cambia la contraseña, no hace nada..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con SESSION_START() cambiar contraseña

Publicado por xve (6935 intervenciones) el 07/10/2014 23:28:04
Hola Leo, haz un echo $sql; para ver la consulta... de paso, también veremos si llega ahí.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar