Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Fier
  • Redirecționare vulgară php. Cum să setați o redirecționare către o altă adresă URL în PHP înainte ca pagina să se încarce

Redirecționare vulgară php. Cum să setați o redirecționare către o altă adresă URL în PHP înainte ca pagina să se încarce

Să presupunem că doriți să afișați pagina https://example.com/final.php utilizatorilor care merg la pagina https://example.com/initial.php. Acest lucru se poate face cu câteva metode PHP, JavaScript și HTML. În acest articol, vom acoperi fiecare dintre metodele pe care le puteți utiliza pentru a redirecționa PHP către o altă pagină.

Iată câteva variabile pe care le vom folosi:

Folosind funcția PHP header() pentru a redirecționa o adresă URL

Dacă doriți să adăugați o redirecționare de la initial.php la final.php , puteți plasa următorul cod pe pagina web initial.php. Trimite un nou antet de locație către browser:

Aici folosim funcția PHP header() pentru a crea redirecționarea. Trebuie să plasați acest cod înaintea oricărui cod HTML sau text. În caz contrar, veți primi un mesaj de eroare că antetul a fost deja trimis. De asemenea, puteți utiliza tamponarea de ieșire pentru a preveni această eroare de trimitere a antetelor. ÎN exemplul următor aceasta metoda Redirecționări PHP afișate în acțiune:

Pentru a efectua o redirecționare folosind funcția header(), funcția ob_start() trebuie să fie prima funcție din scriptul PHP. Acest lucru va preveni apariția erorilor de antet.

La fel de măsură suplimentară puteți adăuga die() sau exit() imediat după redirecționarea antetului, astfel încât restul codului paginii web să nu se execute. In unele cazuri roboți de căutare sau este posibil ca browserele să nu acorde atenție antetului Locație. Care sunt potențialele amenințări la adresa securității site-ului:

Pentru a fi clar: die() sau exit() nu au nimic de-a face cu redirecționările. Sunt folosite pentru a preveni executarea restului codului de pe pagina web.

Când redirecționați către o pagină în PHP, este recomandat să utilizați adrese URL absolute atunci când specificați valoarea antetului Locație. Dar și adresele URL relative vor funcționa. De asemenea, puteți utiliza această funcție pentru a redirecționa utilizatorii către site-uri externe sau pagini web.

Concluzie Cod JavaScript-redirecționează folosind funcția PHP echo().

Aceasta nu este o soluție PHP pură. Cu toate acestea, este și eficient. poți să folosești Funcția PHP echo() pentru a scoate codul JavaScript care se va ocupa de redirecționare.

Dacă utilizați această soluție, nu va trebui să utilizați tamponarea de ieșire. Acest lucru previne, de asemenea, erori legate de trimiterea antetelor.

Mai jos sunt câteva exemple care folosesc metode diferite JavaScript pentru redirecționare cu pagina curenta altcuiva:

Singurul dezavantaj al acestei metode de redirecționare către un alt site PHP este că JavaScript rulează pe partea clientului. Și vizitatorii dvs. pot avea JavaScript dezactivat.

Utilizarea metaetichetelor HTML pentru redirecționare

De asemenea, puteți utiliza HTML de bază pentru a efectua o redirecționare. Poate părea neprofesionist, dar funcționează. Și nu trebuie să vă faceți griji că JavaScript este dezactivat în browser sau că ați trimis anterior o eroare de antet:

De asemenea, puteți utiliza ultima linie din exemplul anterior pentru a reîmprospăta automat pagina la fiecare „n” secunde. De exemplu, următorul cod va reîmprospăta automat pagina la fiecare 8 secunde:

Concluzie

În acest articol am tratat trei diverse metode redirecționează de la index php, precum și avantajele și dezavantajele acestora. Metoda specifică de utilizat depinde de obiectivele proiectului.

Traducerea articolului „Cum pot face o redirecționare către o adresă URL diferită înainte de încărcarea paginii în PHP” de către echipa prietenoasă de proiect.

Rău Bun

(PHP 4, PHP 5, PHP 7)

header — Trimiteți un antet HTTP brut

Descriere

antet (șir $header [, bool $replace = TRUE [, int $http_response_code ]]): void

header() este folosit pentru a trimite un antet HTTP brut. Consultați » specificația HTTP/1.1 pentru mai multe informații despre anteturile HTTP.

Amintiți-vă că header() trebuie apelat înainte ca orice rezultat real să fie trimis, fie prin etichete HTML normale, linii goale într-un fișier, fie din PHP. Este o eroare foarte comună să citiți codul cu funcții include , sau require , sau altă funcție de acces la fișiere și să aveți spații sau linii goale care sunt scoase înainte ca header() să fie apelat. Aceeași problemă există atunci când utilizați un singur fișier PHP/HTML.


Parametrii

Șirul antetului.

Există două apeluri de antet pentru cazuri speciale. Primul este un antet care începe cu șirul " HTTP/" (cazul nu este semnificativ), care va fi folosit pentru a afla codul de stare HTTP de trimis. De exemplu, dacă ați configurat Apache pentru a utiliza un Script PHP pentru a gestiona cererile de fișiere lipsă (folosind programul ErrorDocument directivă), poate doriți să vă asigurați că scriptul dvs. generează codul de stare adecvat.

Al doilea caz special este antetul „Locație:”. Nu numai că trimite acest antet înapoi la browser, dar returnează și a REDIRECŢIONA(302) codul de stare către browser, cu excepția cazului în care 201 sau a 3xx codul de stare a fost deja setat.

A inlocui

Parametrul opțional de înlocuire indică dacă antetul ar trebui să înlocuiască un antet similar anterior sau să adauge un al doilea antet de același tip. În mod implicit, va înlocui, dar dacă treceți FALSE ca al doilea argument, puteți forța mai multe antete de același tip. De exemplu:

Http_response_code

Forțează codul de răspuns HTTP la valoarea specificată. Rețineți că acest parametru are efect numai dacă antetul nu este gol.

Valori returnate

Nu se returnează nicio valoare.

Jurnalul modificărilor Descrierea versiunii
5.1.2 Această funcție împiedică acum trimiterea mai mult de un antet simultan ca protecție împotriva atacurilor de injectare a antetului.
Exemple

Exemplul #1 Descărcare dialog

Dacă tu vrei utilizatorului să i se solicite să salveze datele tu esti trimiterea, cum ar fi un fișier PDF generat, puteți utiliza antetul » Content-Disposition pentru a furniza un nume de fișier recomandat și pentru a forța browserul să afișeze dialogul de salvare.

Cele mai bune articole pe această temă