$_server['php_self']

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
c'è qualche anima gentile che mi spiega perchè

echo "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">";

è meglio o diverso da

echo "<form method=\"post\" action=\"mia_pagina.php\">";

cioè che differenza c'è tra chiamare $_server o il nome della pagina (altra o la stessa del form)?
:hammer:
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
$ _SERVER [ 'PHP_SELF'] è una variabile d'ambiente supportata da tutte le piattaforme che indica il nome del file su cui è attualmente in esecuzione lo script PHP rispetto alla root del Web server.

In pratica si tratta del nome della pagina corrente; lo puoi utilizzare quando il codice che processa i dati del form si trova nella stessa pagina in cui si trova il form (dai un occhiata a questo Tell a friend).

$ _SERVER [ 'PHP_SELF'] è comodo perché rende il codice di un form riutilizzabile, non dovrai infatti cambiare ogni volta l'argomento riferito all'ACTION.

Naturalmente se il codice che processa i dati si trova in una pagina diversa da quella del form dovrai specificarne il nome e non utilizzare $ _SERVER [ 'PHP_SELF'].
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
43
Sanremo
Beh, come prima cosa usando $_SERVER['PHP_SELF'] per referenziare se stessa, non hai problemi se devi rinominare lo script. In secondo luogo può essere comodo in certe occasioni con gli include. Esempio stupido, ma è il primo che mi è venuto in mente...

Script: self.php
PHP:
<?php

echo '<form name="invia_dati" action="' . $_SERVER['PHP_SELF'] . '" method="get">';
echo '<input type="text" name="testo">';
echo '<input type="submit">';
echo '</form>';

?>

Script: self1.php
PHP:
<html>
<head>
 <title>Modulo di invio pagina 1</title>
</head>
<body>
<?php
if(isset($_GET['testo'])) {
  echo "Self1 " . $_GET['testo'];
} else {
  include("self.php");
}
?>
</body>
</html>

Script: self2.php
PHP:
<html>
<head>
 <title>Modulo di invio pagina 2</title>
</head>
<body>
<?php
if(isset($_GET['testo'])) {
  echo "Self2 " . $_GET['testo'];
} else {
  include("self.php");
}
?>
</body>
</html>

Usando $_SERVER['PHP_SELF'] nello script incluso la form invia i dati alla pagina che lo include senza dover fare altro.
 

spider

Nuovo Utente
29 Mag 2013
4
0
0
Scusate la domanda da inesperto, ma che differenza c'è tra scrivere:

".$_SERVER['PHP_SELF']." e $_SERVER['PHP_SELF']

Il libro di php(ver.4.0) che sto usando è un po datato è molte cose non riesco a farle funzionare con php(ver.5.2.10).
Grazie.
 

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
".$variabile." indica che la stai inserendo in una stringa.

es:

$var = "La pagina si chiama " . $_SERVER['PHP_SELF'] . ", capito?";

mentre $_SERVER['PHP_SELF'] è semplicemente la variabile.
 

spider

Nuovo Utente
29 Mag 2013
4
0
0
Grazie, approfitto per fare un altra domanda.


$_server['php_self'] gli apici che racchiudono 'php_self' se li metto mi da errore"Parse error: syntax error......", senza fila tutto liscio.
 
Discussioni simili
Autore Titolo Forum Risposte Data
I dominio aruba versione php server linux Domini 3
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
M [PHP] Importare file csv su server PHP 0
I [PHP] Immagini caricate su server diverse da quelle mostrate PHP 19
M Redirect sito php su server Windows PHP 0
L [PHP] Problema su codice o server PHP 5
L [PHP] Installazione di imagick sotto windows con server installato manualmente PHP 13
G [PHP] upload file in server: percorso cartella PHP 2
A PHP su server IIS (Credo) PHP 3
A [PHP] Undefined index dopo query dal server PHP 1
C [PHP] Accesso ad un file specifico solo in base al server assegnato PHP 2
M [PHP] Cancellare singolo file da cartella su server PHP 3
syndr0m3 [PHP] Rinominare file sul server ogni tot minuti PHP 8
L [PHP] Nuovo server, query non funzionano PHP 3
W [PHP] gestire una richiesta curl sul server PHP 0
M [PHP] Contatore Tempo Server-side PHP 8
L [PHP] Connessione odbc su server Xampp PHP 1
P [PHP] Caricare un file da client XP su server Ubuntu PHP 2
G [PHP] usare il nas Synology come git server PHP 0
F [PHP] Organizzare le directories sul server per un'applicazione web PHP 9
eraclio666 [PHP] Programmazione su server PHP 1
G [PHP] Socket server in loop infinito errori PHP 2
S [PHP] Errori in lato server ma non in lato client PHP 5
L Problema con recupero dati in PHP cURL e JAVA con server PHP 1
L estrazione dati da mysql in php e salvataggio in cartella del server PHP 51
fabryx [PHP] RISOLTO: Download file da web e trasferimento su server PHP 2
Fuego2806 [PHP] Errore 500 Internal Server Error - sito Joomla! Joomla 10
P controllo browser sul server o in php? PHP 2
P tabella scomparsa in pagina php su server nginx PHP 1
L Problema php su server iis Web Server 3
C PHP - SQL server PHP 4
P [Cerco Collaborazione] Gestione server dedicato e modifiche php Offerte e Richieste di Lavoro e/o Collaborazione 2
M php non prende l'orario del server? Eppure uso timestamp() PHP 6
U Usare script PHP come server web PHP 6
neo996sps PHP: no database select e su altro server funziona PHP 2
I as3 php anomalie risposte dal server Flash 1
F Programma PHP che esegue backup e ripristino di database SQL SERVER PHP 12
neo996sps [PHP + MySQL + Server Linux] Upload semi riuscito e query non eseguite PHP 2
L [PHP] Sapere se si lavora in locale o remoto (Controllo server Database) PHP 1
J Problema invio file con cURL php su server verso server PHP 1
A problem sending emails from a PHP app / linux server PHP 2
M Sito con PHP: meglio server Win o Linux? Server Dedicati e VPS 3
A permesso uso file da un diverso server con PHP PHP 5
M settare l'orario del server php di wamp (ver. 5.3.0) PHP 1
R Abilitare server php per invio mail PHP 12
P connessione a server mysql tramite php PHP 3
B php e sql-server PHP 13
G non riesco ad integrare l’interprete php nel server Apache su Vista PHP 2
N [collaborazione] programmatore php/mysql asp/sql server Rovigo, Mantova, Ferrara Offerte e Richieste di Lavoro e/o Collaborazione 2
F PHP con SQL SERVER PHP 0

Discussioni simili