2012-03-06 20 views

risposta

12
<?php 
    header("Location: your url"); 
    exit; 
?> 
+0

Grazie per la risposta ..... – arunrc

+1

Nota che se vuoi collegarti a un altro sito web devi mettere http: // davanti al www per farlo funzionare. –

+0

@RickHoving, ovviamente. è banale dovresti specificare il protocollo in modo che l'URL sia valido. – Juvanis

1
<?php header('Location: /login.php'); ?> 

Lo script php sopra reindirizza l'utente a login.php all'interno dello stesso sito

+0

ehi, piacere di conoscerti anche tu.:) –

+0

Dovrebbe essere in chat? – MrCode

+0

La chat di @MrCode è finita :) ok. – Juvanis

1

Invia un colpo di testa Location per reindirizzare. Tieni presente che funziona solo prima che venga inviato qualsiasi altro output.

header('Location: index.php'); // redirect to index.php 
+0

Grazie per la risposta ..... – arunrc

1
<?php 
header('Location: http://www.google.com'); //Send browser to http://www.google.com 
?> 
+0

Grazie per la risposta ..... – arunrc

-2

può usare questo per reindirizzare

echo '<meta http-equiv="refresh" content="1; URL=index.php" />'; 

il contenuto = 1 può essere cambiamento di valore diverso per aumentare il ritardo prima reindirizzamento

+0

Aha meta tag .... – itachi

+0

uso sempre i meta tag per reindirizzare.find è più facile da manipolare. – s3polz

+0

@ s3polz: non riesco a capire con questi meta tag ... puoi spiegarlo brevemente ... – arunrc

0

semplicemente si può mettere questo e sarete essere reindirizzato

<?php 

header("Location: your_page_name.php"); 

// your_page_name.php può essere qualsiasi pagina in cui si desidera reindirizzare

?> 
+0

Grazie per la risposta ..... – arunrc

+0

siete sempre i benvenuti :) –

5

Mentre tutte le altre risposte funziona, tutti hanno un grosso problema: è fino al browser per decidere cosa fare se incontrano un'intestazione Location. Di solito il browser interrompe l'elaborazione della richiesta e reindirizza all'URI indicato con l'intestazione Location. Ma un utente malintenzionato potrebbe semplicemente ignorare l'intestazione Location e continuare la sua richiesta. Inoltre ci possono essere altre cose che fanno sì che l'interprete PHP continui a valutare lo script oltre l'intestazione Location, che non è quello che intendevi.

questa immagine:

<?php 
if (!logged_id()) { 
    header("Location:login.php"); 
} 

delete_everything(); 
?> 

Ciò che si vuole e si aspettava è che non è registrato nel utenti vengono reindirizzati alla pagina di login, in modo che solo gli utenti registrati possono delete_everything. Ma se lo script viene eseguito oltre l'intestazione Location, tutto viene eliminato. Così, è l'importazione di mettere sempre un uscita dopo un colpo di testa posizione, in questo modo:

<?php 
if (!logged_id()) { 
    header("Location:login.php"); 
    exit; // <- don't forget this! 
} 

delete_everything(); 
?> 

Quindi, per rispondere alla tua domanda: per reindirizzare da una pagina php ad un'altra pagina (non solo PHP, è possibile reindirizzare a qualsiasi pagina in questo modo), utilizzare questo:

<?php 

header("Location:http://www.example.com/some_page.php"); 
exit; // <- don't forget this! 

?> 

Piccola nota: lo standard HTTP dice che è necessario fornire URL assoluti nell'intestazione Location (http: // ... come nel mio esempio sopra) anche se desideri semplicemente reindirizzare a un altro file nello stesso dominio. Ma in pratica gli URL relativi (Location: some_page.php) funzionano in tutti i browser, sebbene non siano conformi allo standard.

+0

Grazie per la preziosa risposta .... – arunrc

+0

La successiva [Revisione HTTP/1.1 ("HTTPbis")] (http://tools.ietf.org/wg/httpbis/) consente esplicitamente gli URL relativi all'intestazione Location: per ratificare le attuali pratiche standard correnti. – mario

Problemi correlati