PHP a runtime

di il
1 risposte

PHP a runtime

Salve,
sto cercando di capire come funziona php a runtime, sia spulciando un pò per il web, che facendo dei test sulla macchina utilizzando Apache.
Un esempio per farmi capire meglio, se ho un codice di questo tipo:
<?php

echo ("First Part " . $_GET["p"] . " Second Part.");

?>
Perché se nell'url scrivo una cosa del tipo: url/?p=Testo?><?php

Ottengo nella pagina html solo il testo: First Part Testo
Se qualcuno riuscirebbe anche a linkarmi qualcosa dove approfondire la questione di php a runtime gli sarei grato.

Grazie in anticipo.

1 Risposte

  • Re: PHP a runtime

    Ciao,

    Il costrutto echo di PHP stampa a video una stringa, se visualizzi lo script nel browser il risultato finale è HTML. Dato che in HTML i tag iniziano e terminano con i simboli <>, il browser interpreta il simbolo < come l'inizio di un tag (ad es. <p>) e dato che non hai indicato nessun tag HTML conosciuto il testo a video viene troncato, però se visualizzi il sorgente (con Chrome view-source:pagina) vedrai che la parte mancante "Second part" è presente.

    Prova ad esempio ad inserire url/?p=Testo<strong>testo grassetto</strong>

    vedrai che viene stampato a video tutto in maniera corretta.

    N.B. Dovresti fare sempre l'escape dell'input prelevato dall'URL oppure sanificarlo, in quanto un utente malintenzionato potrebbe inviare istruzioni malevoli (es. <script>codice malevolo</script>). In PHP per fare l'escape puoi usare htmlentities() oppure htmlspecialchars()
    https://www.php.net/manual/en/function.htmlentitie
    https://www.php.net/manual/en/function.htmlspecialchars.php

    Spero di aver risposto in maniera esauriente
Devi accedere o registrarti per scrivere nel forum
1 risposte