Comunicación Cliente / Servidor
Contents
Comunicación Cliente / Servidor#

Variables superglobales para manejo y procesamiento de peticiones en PHP 7.4
Índice
GET#
En el caso de recibir los siguientes parámetros: http://localhost:8000/?marca=Sega&modelo=Dreamcast&lanzamiento=1999
Su procesamiento sería:
1<?php
2 // print_r para ver los valores del array:
3 echo "<pre>";
4 print_r($_GET);
5 echo "</pre>";
6
7 // Recuperar los valores del array $_GET:
8 echo "<p>Marca: " . $_GET["marca"] . "</p>";
9 echo "<p>Modelo: " . $_GET["modelo"] . "</p>";
10 echo "<p>Lanzamiento: " . $_GET["lanzamiento"] . "</p>";
11?>
POST#
1<?php
2 echo "<pre>";
3 print_r($_POST);
4 echo "</pre>";
5
6 // procesando POST:
7 $marca = isset($_POST['marca']) ? $_POST['marca'] : "";
8 $modelo = isset($_POST['modelo']) ? $_POST['modelo'] : "";
9 $lanzamiento = isset($_POST['lanzamiento']) ? $_POST['lanzamiento'] : "";
10
11?>
12
13<form method="POST">
14 <input type="text" name="marca" placeholder="Introduce una marca">
15 <br><br>
16 <input type="text" name="modelo" placeholder="Introduce un modelo">
17 <br><br>
18 <input type="date" name="lanzamiento">
19 <br><br>
20 <input type="submit" value="Generar Consola">
21 <br><br>
22 <hr>
23 <p>Marca: <?php echo $marca ?></p>
24 <p>Modelo: <?php echo $modelo ?></p>
25 <p>Lanzamiento: <?php echo $lanzamiento ?></p>
26</form>
FILES#
1<?php
2 echo "<pre>";
3 print_r($_FILES);
4 echo "</pre>";
5
6
7 if($_FILES){
8 // Ruta almacenamiento:
9 $ruta = "imagenes/" . $_FILES['archivo']['name'];
10
11 // Cargar contenido de archivo temporal:
12 $archivo = file_get_contents($_FILES['archivo']['tmp_name']);
13
14 // Cargar validador de formato:
15 $finfo = new finfo(FILEINFO_MIME_TYPE);
16
17 // validar formato de archivo desde el buffer:
18 $mimeType = $finfo->buffer($archivo);
19
20 // ver resultado:
21 echo $mimeType;
22
23 // comprobar que el mime coincide con formato .jpg:
24 if($mimeType == 'image/jpeg'){
25 // subir archivo y comprobar que se ha realizado correctamente:
26 if(move_uploaded_file($_FILES['archivo']['tmp_name'], $ruta)){
27 echo "Se ha guardado la imagen";
28 }else{
29 echo "Ha habido un error al procesar la imagen";
30 }
31 }else{
32 echo "Formato de archivo no reconocido";
33 }
34 }
35?>
36
37<!-- Uso del Enctype para cargar archivos al servidor: -->
38<form method="POST" enctype="multipart/form-data">
39 <input type="file" name="archivo">
40 <input type="submit" value="Guardar imagen">
41</form>
Comprobar peticiones al servidor#
1<?php
2 // Recupera las peticiones actuales:
3 echo "<pre>";
4 print_r($_REQUEST);
5 echo "</pre>";
6
7 // Muestra todos los metodos disponibles:
8 echo "<pre>";
9 print_r($GLOBALS);
10 echo "</pre>";
11?>
Recuperar información del cliente#
1<?php
2 // Asignar cookie que caduca en un minuto:
3 setcookie("secreto", "Probando cookies con FullCoder", time()+60);
4
5 echo "<pre>";
6 print_r($_SERVER);
7 echo "</pre>";
8?>
Trabajando con sesiones#
1<?php
2 // iniciar la sesión recupera los archivos guardados en $_SESSION:
3 session_start();
4
5 echo "<pre>";
6 print_r($_SESSION);
7 echo "</pre>";
8 // guardar datos de la sesión que se mantendrán hasta que esta se destruya:
9 if(isset($_POST['usuario'])){
10 $_SESSION['usuario'] = $_POST['usuario'];
11 $_SESSION['clave'] = $_POST['clave'];
12 }
13
14 if($_SESSION['usuario'] == "guillermo" && $_SESSION['clave'] == "clave"){
15 echo "<p>Bienvenido: " . $_SESSION['usuario'] . "</p>";
16 }else{
17 echo "<p>Debe iniciar sesión.</p>";
18 }
19
20 // cerrar o destruir la sesión:
21 if(isset($_POST['cerrar'])){
22 session_destroy();
23 }
24?>
25
26<form method="POST">
27 <input type="text" name="usuario" placeholder="ingresa un usuario">
28 <input type="password" name="clave" placeholder="ingresa una clave">
29 <input type="submit" value="iniciar sesión">
30</form>
31
32<form method="POST">
33 <input type="hidden" name="cerrar">
34 <input type="submit" value="cerrar sesión">
35</form>