domanda per alex

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
ciao
come detto in un'altra discussione
il codice che hai inserito
PHP:
<?php 
if ($_SERVER['REQUEST_METHOD'] != 'POST') { 
    header('Location: index.php'); 
    exit(); 
}
//......
?>
in pratica sostituisce in meglio il classico

PHP:
<?php
//...
if(!isset($_POST['submit'])){
	//.....
}else{
	//....
}
?>
why?

e un'altra curiosità sull'istruzione exit():
dato che si trova dopo l'header, non viene mai eseguita (?)


p.s.
visto come uso elegantemente l'inglese?
 
Dunque, il REQUEST_METHOD contiene il metodo della richiesta HTTP inviata dal client. In una richiesta "normale", il client invia qualcosa del tipo:
Codice:
GET /pagina.php
E il server risponde con la pagina richiesta (o con un errore se non la trova).
Quando invece invia un form, la richiesta del client è:
Codice:
POST /pagina.php
...
Più i dati del form. Quindi il valore di REQUEST_METHOD è POST.

Le specifiche HTTP, teoricamente, prevedono molti altri metodi, tra cui PUT e DELETE, che servono rispettivamente per creare una risorsa e per cancellare una risorsa, ma vengono usati raramente nelle moderne applicazioni.
 
Per quanto riguarda l'istruzione exit(), non è vero che non viene eseguita. Diciamo che nella maggior parte dei casi non viene eseguita perché il reindirizzamento avviene istantaneamente, ma ci sono almeno due casi in cui tutto il codice dopo l'header verrà eseguito normalmente:
  1. Se il client è lento a caricare la nuova pagina.
  2. Se il client ignora INTENZIONALMENTE i redirect (sfruttando proprio il fatto che il codice successivo viene eseguito).
Supponiamo ad esempio di avere un codice simile al seguente:
PHP:
<?php
session_start();

if (!isset($_SESSION['user_id'])) {
    // utente non loggato
    header('Location: login.php');
}

// dati per gli utenti loggati
?>
Con un browser configurato correttamente (ma anche solo con una connessione lenta), l'utente potrebbe riuscire ad accedere ai dati riservati anche senza essere loggato.
 
ciao alex
intanto grazie, ma non capisco perche sia finita nella sez. flash, non puoi farla spostare in php? forse interessa anche a qualcun altro
 
Infatti mi chiedevo come mai si parla di PHP in questa sezione

intanto faccio i complimenti al gatto per la sua nomina me ne sono accorto solo ora
ed ecco come promesso il dolce

dolce-tiramisu.jpg


Al gatto lo devo ringraziare per tante cose.

A proposito chi è il Moderatore di questa sezione?
Dovrebbe spostare questa discussione nella sezione PHP

Oggi ho un bel po di lavoro da fare, sto creando il gioco dei Puffi in Flash,
ieri ho fatto i movimenti del Puffo, oggi devo fare i movimenti di Gargamella.

Ci vediamo nei prossimi giorni nella sezione "Discussioni Varie"
vi farò vedere un bel po di cose.

Il gatto è furbo e intelligente
mai sottovalutare il Gatto!
E adesso è anche Moderatore

Complimenti!
by Max_400
 

Discussioni simili