Redirect JavaScript PHP
Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
-
MelecaCristian
- Mesaje:176
Redirect JavaScript PHP
Buna am si eu o mica problema si nu stiu daca merge rezolvata problema consta in urmatoarul script nu face ceea ce vreau eu
deci daca se poate daca nu gaseste date (ex:18917117 nu conteaza) cod in
GET 1 sa ma redirectioneze catre o noua adresa de ex :
http://site.com/noclip nu am mai lucrat cu asa ceva si cer ajutorul celor mai priceputi multumesc mult pentru fiecare care depune un efort spre a ma ajuta ...
Cod: Selectaţi tot
<!-- Redirect -->
<script type="text/javascript">
<!--
function delayer(){
window.location = "http://site.com/?1=<?php echo $_GET['1']; ?>&2=<?php echo $_GET['2']; ?>&3=<?php echo $_GET['3']; ?>"
}
//-->
</script>
</head>
<body onLoad="setTimeout('delayer()', 5000)">
<b><font color="red"><br>Va rugam asteptati cateva momente</font></b>
„Uneori o greşeală poate fi tot ce este necesar pentru o realizare valoroasă.” — Henry Ford
MarPlo
Mesaje:4343
Salut
Daca nu trebuie neaparat redirect cu JavaScript, poti face din codul PHP, daca nu exista acel $_GET['1'].
Inlocuiesti in exemplu tau, la
?1=... cu asta:
Cod: Selectaţi tot
<?php if(isset($_GET['1'])) echo $_GET['1']; else { header('Location: http://site.net/pagina'); exit; } ?>
MelecaCristian
Mesaje:176
offf nu stiu de ce imi da eroare cand nu este nici o data in GET1 nu se redirectioneaza spre
http://site.net/pagina (ex) imi da eroarea urmatoare :
Cod: Selectaţi tot
Warning: Cannot modify header information - headers already sent by (output started at /home/skalumea/public_html/site...:8) in /home/skalumea/public_html/site... on line 20
Deci faza ca daca nu este nimic in GET1 sa ma redirectioneze catre un url de exemplu
http://site.net/primared
si daca sunt date in GET1 ,2 ,3 sa ma redirectioneze catre
http://site.com/vezi.php?1=<?php echo $_GET['1']; ?>&2=<?php echo $_GET['2']; ?>&3=<?php echo $_GET['3']; ?>
pt ca vezi.php include alte date care sunt folositoare dar daca nu e nimic in get1 2 sau 3 imi da fisier inexistent si decat sa imi arate asa prefer sa imi arate un clip sa zic
oricum apreciez efortul depus.
„Uneori o greşeală poate fi tot ce este necesar pentru o realizare valoroasă.” — Henry Ford
MarPlo
Mesaje:4343
Eroarea e din cauza ca deja sunt date de esire (cod html/js) inainte de header(). Solutia ar fi sa adaugi acel header de redirect in php inainte de orice cod html /js , mai la inceputul fisierului (
ca si session_start() ).
Incearca sa adaugi la inceputul fisierului codul:
Cod: Selectaţi tot
<?php if(!isset($_GET['1'])) { header('Location: http://site.net/pagina'); exit; } ?>
- Sau, poti adauga asa in acea functie JavaScript:
Cod: Selectaţi tot
window.location = "<?php
if(isset($_GET['1'])) echo 'http://site.com/?1='. $_GET['1']. '&2='. $_GET['2']. '&3='. $_GET['3'];
else echo 'http://site.net/pagina'; ?>";
MelecaCristian
Mesaje:176
sa sti ca la optiunea cu html/js era o problema deoarece aveam un cod google adsense inainte care functioneaza cu JS oricum multumesc mult de sfaturi si de scripturi
si am o mica problema cand e cu ?1= (chair daca nu e nimic in fata la 1) tot nu ma redirectioneaza am incercat sa pun if(isset (?1=$_GET['1'])) dar imi da eroare
„Uneori o greşeală poate fi tot ce este necesar pentru o realizare valoroasă.” — Henry Ford
MarPlo
Mesaje:4343
Mai mult decat solutia data in raspunsul precedent (cele 2 variante) nu stiu alta.
Vezi ca in una e adaugat caracterul "!" in fata la isset(). Studiaza raspunsul anterior mai bine si cum e folosit isset().
MelecaCristian
Mesaje:176
am reusti multumesc marius
„Uneori o greşeală poate fi tot ce este necesar pentru o realizare valoroasă.” — Henry Ford