[Php] Funtion? (Opgelost)
Simax - 26/11/2007 15:14 (laatste wijziging 26/11/2007 15:14)
Onbekend
Beste mensen,
Ik maak gebruik van een javascript redirect.
<script type="text/javascript">
url="index.php?page=home"
setTimeout("location.href=url",3000)
</script>
< script type= "text/javascript" >
url= "index.php?page=home"
setTimeout( "location.href=url" , 3000 )
</ script>
Zou ik deze ok in een functie kunnen zetten,
zodat ik deze makkelijk kan aanroepen in andere paginas?
Alvast bedankt .
20 antwoorden
Gesponsorde links
Ricky - 26/11/2007 15:23
PHP beginner
Kwestie van in een .js bestand zetten...
function redir(url,timeout) {
setTimeout("location.href=url",timeout);
}
function redir( url, timeout) {
setTimeout( "location.href=url" , timeout) ;
}
En in je HEAD-tag verwijs je dan als volgt:
<script type="text/javascript" src="hetbestand.js">
<script type="text/javascript" src="hetbestand.js">
Simax - 26/11/2007 15:47
Onbekend
Kan ik deze niet in een php functie zetten?
marten - 26/11/2007 16:04 (laatste wijziging 26/11/2007 16:04)
Beheerder
echo '<script type="text/javascript">
url="index.php?page=home"
setTimeout("location.href=url",3000)
</script>';
echo '<script type="text/javascript"> url="index.php?page=home"
setTimeout("location.href=url",3000)
</script>' ;
zoiets misschien?
Simax - 26/11/2007 16:09 (laatste wijziging 26/11/2007 16:10)
Onbekend
Dit heb ik nu in functions.php..
<?php
function redirect()
{
"<script type=\"text/javascript\">
url=\"index.php?page=home\"
setTimeout(\"location.href=url\",3000)
</script>";
}
print redirect();
?>
<?php
function redirect( )
{
"<script type=\" text/javascript\" >
url=\" index.php?page=home\"
setTimeout(\" location.href=url\" ,3000)
</script>" ;
}
?>
En wanneer ik deze wil aanroepen in andere paginas,
dan gebeurt er niets .
cloudstrife - 26/11/2007 16:24 (laatste wijziging 26/11/2007 16:24)
PHP beginner
Vrij logisch, je print een functie die niets retourneerd. Of je returned een waarde of je zet je print in de functie.
Simax - 26/11/2007 20:04 (laatste wijziging 26/11/2007 20:41)
Onbekend
dus dit zou moeten werken..
<?php
function redirect()
{
"<script type=\"text/javascript\">
url=\"index.php?page=home\"
setTimeout(\"location.href=url\",3000)
</script>";
print redirect();
}
?>
<?php
function redirect( )
{
"<script type=\" text/javascript\" >
url=\" index.php?page=home\"
setTimeout(\" location.href=url\" ,3000)
</script>" ;
}
?>
Grayen - 26/11/2007 20:14
PHP ver gevorderde
Dat zal natuurlijk niet werken, want hij returned niks.
Dit moet het zijn als je het zo wilt aanpakken.
<?php
function redirect()
{
return '<script type="text/javascript">
url="index.php?page=home";
setTimeout("location.href=url", 3000);
</script>';
}
print redirect();
?>
<?php
function redirect( )
{
return '<script type="text/javascript">
url="index.php?page=home";
setTimeout("location.href=url", 3000);
</script>' ;
}
?>
Zelf zou ik meer het volgende doen:
<?php
header('location=index.php?page=home');
?>
<?php
header ( 'location=index.php?page=home' ) ; ?>
of als je per se een wachttijd wilt:
<?php
// 3 = 3 sec
header('refresh: 3; url=index.php?page=home');
?>
<?php
// 3 = 3 sec
header ( 'refresh: 3; url=index.php?page=home' ) ; ?>
Koen - 26/11/2007 20:20
PHP expert
Mad_Mike schreef:
en moet er geen ; achter iedere regel javascript?Â
Niet noodzakelijk..
Simax - 26/11/2007 20:40
Onbekend
Grayen schreef:
Zelf zou ik meer het volgende doen:
[..code..]
"Warning: Cannot modify header information - headers already sent"
DMM - 26/11/2007 20:44 (laatste wijziging 26/11/2007 20:47)
PHP beginner
Dit kan je misschien helpen:
#1
#2
#3
Simax - 27/11/2007 19:33
Onbekend
Zodra ik mijn script (met function redirect();) uit probeer,
word mijn apache server gestopt. Om een of andere reden crasht deze..
<?php
function redirect()
{
<script type="text/javascript">
url="index.php?page=home"
setTimeout("location.href=url",3000)
</script>
print redirect();
}
?>
<?php
function redirect( )
{
< script type= "text/javascript" >
url= "index.php?page=home"
setTimeout( "location.href=url" , 3000 )
</script>
}
?>
ctraets - 27/11/2007 20:03 (laatste wijziging 27/11/2007 20:04)
Nieuw lid
je moet ook geen print redirect erin zetten.
</php
function redirect(){
<script type="text/javascript">
url="index.php?page=home"
setTimeout("location.href=url",3000)
</script>
return redirect();
}
?>
</ php
function redirect( ) {
< script type= "text/javascript" >
url= "index.php?page=home"
setTimeout( "location.href=url" , 3000 )
</script>
return redirect( ) ;
}
?>
Ik zou het zo doen
Grayen - 27/11/2007 21:34 (laatste wijziging 27/11/2007 21:35)
PHP ver gevorderde
@hierboven
Dat is echt een grote rommel
* Je opent php niet correct
* je output of returned de gewenste html niet
* je krijgt een warning vanwege het de tekst binnen php
* als je die warning zou hebben weggewerkt zou je een eeuwige loop krijgen, omdat je in de functie de zelfde functie returned.
Hier zijn een aantal voorbeelden hoe het wel zou kunnen:
<?php
// Als je het niet wilt echoën
function redirect()
{
?>
<script type="text/javascript">
url="index.php?page=home"
setTimeout("location.href=url",3000)
</script>
<?php
}
redirect();
// Met echo
function redirect()
{
echo '<script type="text/javascript">
url="index.php?page=home"
setTimeout("location.href=url",3000)
</script>';
}
redirect();
// Eerst de html returnen en dan pas outputen
function redirect()
{
return '<script type="text/javascript">
url="index.php?page=home"
setTimeout("location.href=url",3000)
</script>';
}
echo redirect();
?>
<?php
// Als je het niet wilt echoën
function redirect( )
{
?>
<script type="text/javascript">
url="index.php?page=home"
setTimeout("location.href=url",3000)
</script>
<?php
}
redirect( ) ;
// Met echo
function redirect( )
{
echo '<script type="text/javascript"> url="index.php?page=home"
setTimeout("location.href=url",3000)
</script>' ;
}
redirect( ) ;
// Eerst de html returnen en dan pas outputen
function redirect( )
{
return '<script type="text/javascript">
url="index.php?page=home"
setTimeout("location.href=url",3000)
</script>' ;
}
?>
Hoe je het ook doet, het komt allemaal op het zelfde neer.
delta_004 - 28/11/2007 16:58
Onbekend
Dom..., waarom zou je in php een javascript funtie zetten?
Doe het dan met header() refresh en url;)
en voor de
"Warning: Cannot modify header information - headers already sent"
moet je obstart gebruike
Simax - 28/11/2007 17:26 (laatste wijziging 28/11/2007 17:41)
Onbekend
Wat is beter?
Met behulp van Javascript of
met Php en dan obstart() gebruiken?
Koen - 28/11/2007 17:51
PHP expert
Simax schreef:
Wat is beter?
Met behulp van Javascript of
met Php en dan obstart() gebruiken?
Javascript kan de bezoeker uitschakelen, PHP niet.
en het is PHP.net: ob_start() ipv obstart().
Gebruik dus PHP.
vobizzz - 28/11/2007 18:25 (laatste wijziging 28/11/2007 18:27)
Lid
<?php
ob_start();
function redirect(){
$url = "index.php?page=home"; // het url dat je wilt
header("Refresh: 3; url=".$url);
}
?>
<?php
function redirect( ) {
$url = "index.php?page=home" ; // het url dat je wilt
header ( "Refresh: 3; url=" . $url ) ;
}
?>
nu is hij helemaal in php
dus waar dit wilt gebruiken moet je gewoon dit gebruiken:
delta_004 - 28/11/2007 18:32 (laatste wijziging 28/11/2007 18:33)
Onbekend
sliphead schreef:
[..quote..]
Javascript kan de bezoeker uitschakelen, PHP niet.
en het is
PHP.net: ob_start() ipv obstart().
Gebruik dus PHP.
Weet ik;) Maar ik typ het altijd half zodat er zelf ook nog een beetje werk achter zit;)
<?php ob_start(); function redirect($url, $i=3){
header("Refresh: ".$i."; url=".$url); }
// redirect("page", "sec")
?>
<?php ob_start ( ) ; function redirect
( $url , $i = 3 ) { header ( "Refresh: " . $i . "; url=" . $url ) ; } // redirect("page", "sec")
?>
Simax - 30/11/2007 14:26 (laatste wijziging 30/11/2007 14:37)
Onbekend
Werkt..
<?php
ob_start();
function redirect()
{
$url = "index.php?page=home";
header("Refresh: 3; url=".$url);
}
?>
<?php
function redirect( )
{
$url = "index.php?page=home" ;
header ( "Refresh: 3; url=" . $url ) ; }
?>
Bedankt allemaal .
Gesponsorde links
Dit onderwerp is gesloten .