PHP - Sesiones con PHP

 
Vista:
sin imagen de perfil
Val: 43
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Kleyber (19 intervenciones) el 26/02/2020 20:54:36
Buenas Tardes. Estoy aprendiendo PHP y me tope con el uso de sesiones, estoy haciendo un sistema donde cada usuario realice anotaciones en un calendario, ya almacena la información, pero lo que hace un usuario no debería verlo otro usuario, sería información individual. Podrían decirme si poseen información referente a este tema, gracias, saludos.
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Julio (830 intervenciones) el 26/02/2020 21:06:39
Hola.

Explica algo más. ¿Los usuarios están logueados? ¿Cómo los logueas? ¿Cómo guardas quién está logueado? ¿Cómo accedes a los datos del calendario?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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
Val: 43
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Kleyber (19 intervenciones) el 26/02/2020 21:44:47
Esta es la conexion con la tabla.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
require 'conexion.php';
 
session_start();
 
$usuario = $_POST['email'];
$clave = $_POST['password'];
 
$q = "SELECT COUNT(*) as contar FROM pe_home WHERE mail_h = '$usuario' and psw_h = '$clave'";
 
$consulta = mysqli_query($conexion,$q);
$array = mysqli_fetch_array($consulta);
 
if($array['contar']>0){
	$_SESSION['username'] = $usuario;
	header("location: homestay/index.php");
}else{
	echo "datos incorrectos";
}
 
?>

Este es el archivo para almacenar la informacion en el calendario:

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
<?php
 
require '../loguear.php';
session_start();
 
$usuario = $_SESSION['username'];
 
 
// Conexion a la base de datos
require_once('bdd.php');
 
 
if (isset($_POST['title']) && isset($_POST['start']) && isset($_POST['end']) && isset($_POST['color']) && isset($_SESSION['username']) ){
 
	$title = $_POST['title'];
	$start = $_POST['start'];
	$end = $_POST['end'];
	$color = $_POST['color'];
 
 
	$sql = "INSERT INTO events(title, start, end, color, email) values ('$title', '$start', '$end', '$color', '$usuario')";
 
 
	$query = $bdd->prepare( $sql );
	if ($query == false) {
	 print_r($bdd->errorInfo());
	 die ('Erreur prepare');
	}
	$sth = $query->execute();
	if ($sth == false) {
	 print_r($query->errorInfo());
	 die ('Erreur execute');
	}
 
}
header('Location: '.$_SERVER['HTTP_REFERER']);
 
 
?>


Al punto que quiero llegar es como hacer invisible los datos que ingresa un usuario en el calendario frente a otros, es decir, que los demás no vean lo que ese usuario almacene en los días
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Julio (830 intervenciones) el 26/02/2020 21:53:39
Hola.

Pero ahí solo nos muestras cómo el usuario añade algo al calendario. ¿Dónde recuperas los datos y cómo los muestras?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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
Val: 43
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Kleyber (19 intervenciones) el 27/02/2020 16:26:02
Hola.

¿Te refieres al funcionamiento del calendario al momento de agregar una dato?
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Julio (830 intervenciones) el 27/02/2020 16:30:24
No, ése es el código que has puesto...

¿Dónde RECUPERAS los datos y cómo LOS MUESTRAS? Después de haber estado ya introducidos. Ahí es donde dices que tienes el problema, ¿no?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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
Val: 43
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Kleyber (19 intervenciones) el 27/02/2020 16:38:21
No, ya los datos se pueden almacenar, mi problema es que al momento en que el usuario registra una información en un día del calendario se visualiza esa información en la sesión de otro usuario, y no debería verse
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Julio (830 intervenciones) el 27/02/2020 16:45:55
No sé si no me lees o me estoy explicando fatal. Precisamente te estoy preguntando que me digas o que coloques mejor el código donde muestras los datos. Donde los muestras, no donde los insertas. Donde los visualizas, no donde los añaden.

Es que el problema no está en dónde los insertan, que eso lo estás haciendo bien. Pero todavía no me has dicho dónde y cómo recuperas los datos. Mientras no lo comentes, es imposible ayudarte.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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
Val: 43
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Kleyber (19 intervenciones) el 27/02/2020 17:03:04
Esta bien, ya comprendo:

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
$(document).ready(function() {
 
    var date = new Date();
   var yyyy = date.getFullYear().toString();
   var mm = (date.getMonth()+1).toString().length == 1 ? "0"+(date.getMonth()+1).toString() : (date.getMonth()+1).toString();
   var dd  = (date.getDate()).toString().length == 1 ? "0"+(date.getDate()).toString() : (date.getDate()).toString();
 
    $('#calendar').fullCalendar({
        header: {
             language: 'en',
            left: ' prev,today,next ',
            center: 'title',
            right: 'basicWeek,month',
 
        },
        defaultDate: yyyy+"-"+mm+"-"+dd,
        defaultView: 'month',
        firstDay: 1,
        editable: true,
        eventLimit: true, // allow "more" link when too many events
        selectable: true,
        selectHelper: true,
        select: function(start, end) {
 
            $('#ModalAdd #start').val(moment(start).format('YYYY-MM-DD HH:mm:ss'));
            $('#ModalAdd #end').val(moment(end).format('YYYY-MM-DD HH:mm:ss'));
            $('#ModalAdd').modal('show');
        },
        eventRender: function(event, element) {
            element.bind('dblclick', function() {
                $('#ModalEdit #id').val(event.id);
                $('#ModalEdit #title').val(event.title);
                $('#ModalEdit #color').val(event.color);
                $('#ModalEdit').modal('show');
            });
        },
        eventDrop: function(event, delta, revertFunc) { // si changement de position
 
            edit(event);
 
        },
        eventResize: function(event,dayDelta,minuteDelta,revertFunc) { // si changement de longueur
 
            edit(event);
 
        },
        events: [
        <?php foreach($events as $event):
 
            $start = explode(" ", $event['start']);
            $end = explode(" ", $event['end']);
            if($start[1] == '00:00:00'){
                $start = $start[0];
            }else{
                $start = $event['start'];
            }
            if($end[1] == '00:00:00'){
                $end = $end[0];
            }else{
                $end = $event['end'];
            }
        ?>
            {
                id: '<?php echo $event['id']; ?>',
                title: '<?php echo $event['title']; ?>',
                start: '<?php echo $start; ?>',
                end: '<?php echo $end; ?>',
                color: '<?php echo $event['color']; ?>',
            },
        <?php endforeach; ?>
        ]
    });
 
    function edit(event){
        start = event.start.format('YYYY-MM-DD HH:mm:ss');
        if(event.end){
            end = event.end.format('YYYY-MM-DD HH:mm:ss');
        }else{
            end = start;
        }
 
        id =  event.id;
 
        Event = [];
        Event[0] = id;
        Event[1] = start;
        Event[2] = end;
        Event[3] = id_home;
 
        $.ajax({
         url: 'editEventDate.php',
         type: "POST",
         data: {Event:Event},
         success: function(rep) {
                if(rep == 'OK'){
                    alert('Event saved');
                }else{
                    alert('Try Again');
                }
            }
        });
    }
 
});
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Julio (830 intervenciones) el 27/02/2020 17:36:00
Lo siento, eso no acaba de ser. Ahí veo la variable $events, pero no veo dónde la defines. ¿Puedes poner dónde defines esa variable y obtienes todos los eventos?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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
Val: 43
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Kleyber (19 intervenciones) el 27/02/2020 17:43:19
La variable $bdd es la variable de conexión a la base de datos.

1
2
3
4
5
6
$sql = "SELECT id, title, start, end, color FROM events ";
 
$req = $bdd->prepare($sql);
$req->execute();
 
$events = $req->fetchAll();
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Julio (830 intervenciones) el 27/02/2020 18:11:18
Por fin, ahí está donde estás obteniendo todos los eventos. Fíjate, obtienes TODOS los eventos, sin ningún filtro. Es normal que todos los usuarios puedan ver todos los eventos. Tendrías, según he visto antes, que hacer algo así:

1
$sql = "SELECT id, title, start, end, color FROM events WHERE email =" . $_SESSION['username'];

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 43
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Sesiones con PHP

Publicado por Kleyber (19 intervenciones) el 27/02/2020 19:32:59
Gracias por la información, la respuesta y la paciencia, si funcionó
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