Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [php] redirect (https://forum.scholieren.com/showthread.php?t=1398737)

citroen 22-04-2006 09:58

[php] redirect
 
Hoi!
Ik kom er maar niet achter waarom dit niet werkt met redirecten? :) ik krijg een witte pagina ipv yahoo?

Code:

<? 
if ($getal == "aap")     
{   
header("Location: http://www.yahoo.com/");             
}     
else     
{     
echo ("hoi"); 
}
?>


freyk 22-04-2006 10:13

of je doet het in html
Gooi het volgende in je head
Code:

<META HTTP-EQUIV="Refresh" CONTENT="1; URL=http://www.google.nl">
en misschien heb je hier wat aan.

Triloxigen 22-04-2006 10:39

Citaat:

citroen schreef op 22-04-2006 @ 10:58 :
Hoi!
Ik kom er maar niet achter waarom dit niet werkt met redirecten? :) ik krijg een witte pagina ipv yahoo?

Code:

<? 
if ($getal == "aap")     
{   
header("Location: http://www.yahoo.com/");             
}     
else     
{     
echo ("hoi"); 
}
?>


Welicht is bevat de variable geen aap.
test eens met echo $getal;

citroen 22-04-2006 11:57

Citaat:

freyk schreef op 22-04-2006 @ 11:13 :
of je doet het in html
Gooi het volgende in je head
Code:

<META HTTP-EQUIV="Refresh" CONTENT="1; URL=http://www.google.nl">
en misschien heb je hier wat aan.

dat met html kan niet, het moet uiteindelijk een soort van random verdeling worden, waarbij de ene naar de ene site wordt gestuurd en de ander naar de ander...
en die link had ik al gelezen :)

@**********: de variabele kan alles bevatten.. dus ook aap :). Ik had dat ook uitgetest idd.. en met echo doet hij het gewoon..

deze code doet het wel (gekopieerd ergens van), en die heb ik ook geprobeerd aan te passen maar dan doet ie t'niet meer: (als ik bv 't vetgedrukte in mijn code zet.. :|

Code:

<?
//if its MSIE then
if ($name = strstr ($HTTP_USER_AGENT, "MSIE"))
{
  //go to Spoono
  Header ("Location: http://www.spoono.com/");
}
else
{
  //else go to Yahoo
  Header ("Location: http://www.yahoo.com/");
}
?>


freyk 22-04-2006 12:06

Citaat:

citroen schreef op 22-04-2006 @ 12:57 :
dat met html kan niet, het moet uiteindelijk een soort van random verdeling worden, waarbij de ene naar de ene site wordt gestuurd en de ander naar de ander...
Zoiets had ik dus ook gemaakt:
PHP-code:

<html>
<?php
if ( $pagina == "nav" 
{
$titel"Navigatie-pagina" ;
 
$site "nav.php" ;}
elseif ( 
$pagina == "sysinfo" 
{
$titel"Informatie van de Host";
 
$site "sysinfo/index.php" ;}
 else 
{
$titel"Een lege pagina";
 
$site "about:blank";}
 
?>
<head>
<title></title>
<META HTTP-EQUIV="Refresh" CONTENT="2; URL=<?php echo "$site";?>">
</head>

Beetje omslachtig maar het kan wel.

M@rco 22-04-2006 12:14

Is $getal soms iets wat in de URL staat? Misschien werkt $_GET['getal'] dan beter.

dafelix 22-04-2006 12:51

is 't geen 'headers already sent'-issue? Oftewel, staat er enige output voor de header() functie? Want als dat 't geval is werkt 't nie

Overigens tellen spaties en enters ook mee als output, dus als je niet zeker bent (bijvoorbeeld door includes) moet je error_reporting ff aanzetten, als die begint te zeuren over 'headers already sent' ligt daar 't probleem, verder lijkt 't idd gewoon te werken, dan zou alleen de if-functie voor probs kunnen zorgen imho

probeer 't btw 'ns zonder die if-constructie, doettie 't dan wel correct?


PS

Overigens freyk, het is netter om de header-functie te gebruiken, ipv de HTML redirect (die de 'back button' breekt, alhoewel 't met 1 sec delay wel meevalt)

citroen 22-04-2006 13:05

yes! :). Die ene enter aan het begin van textdocument deed 't 'm kennelijk :). dat wist ik niet :o . En die van freyk doet het trouwens ook!

Bedankt allemaal!

dafelix 22-04-2006 13:54

graag gedaan :)

freyk's oplossing werkt idd ook, maar ik vind 't neit echt netjes

overigens, je kan ook error_reporting aanzetten, dan had hij een waarschuwing gegeven dat d'r iets fout zat, dit kan soms heel erg veel werk schelen (en hoofdpijn). die error_reporting kun je in de php.ini aanpassen, of vragen aan de hoster of die 't in wil schakelen :)

LB06 22-04-2006 17:38

Citaat:

dafelix schreef op 22-04-2006 @ 14:54 :
graag gedaan :)

freyk's oplossing werkt idd ook, maar ik vind 't neit echt netjes

overigens, je kan ook error_reporting aanzetten, dan had hij een waarschuwing gegeven dat d'r iets fout zat, dit kan soms heel erg veel werk schelen (en hoofdpijn). die error_reporting kun je in de php.ini aanpassen, of vragen aan de hoster of die 't in wil schakelen :)

Of je doet het mbv ini_set().

Code:

<?php
if( $_SERVER['REMOTE_ADDR'] == '$my-ip' ) {
        ini_set('display_errors','on');
        error_reporting (E_ALL);
}
?>


Dr HenDre 22-04-2006 18:09

en dan dat includen in een bestand icm een constante die aangeeft of je wel of niet in debug mode bent :)

Enlightenment 23-04-2006 00:27

Heb je error supressing aanstaan ofzo? Zo ja: bij blanke pagina's ALTIJD je logs checken voor de juiste foutmelding. Vrij obvious lijkt me.


Alle tijden zijn GMT +1. Het is nu 12:24.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.