Comunicación Cliente / Servidor#

Logo PHP

Variables superglobales para manejo y procesamiento de peticiones en PHP 7.4

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>

Guardar Cookies en 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($_COOKIE);
7    echo "</pre>";
8?>

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>