Automatische Weiterleitung

[quote=“michi7x7”][code]

Leaving XYZ <?php

$allowed_urls=array(“http://www.xyz.de”, “http://xyz.de”, “”); // “” sorgt für Annahme bei leerem Referer

$url = $_GET[‘url’];
$ref = $_SERVER[‘HTTP_REFERER’];
$error = “”;
if(!preg_match("!http://([a-zA-Z0-9.]+).[a-z]{2,3}/i", $url))
$error = “Fehlerhafter ausdruck”;
else if(!in_array( substr($ref, 0, strpos($ref, ‘/’), $allowed_urls))
$error = “Keine externe Verlinkung!!!”;
else
echo ‘’;
?>

Leaving XYZ

<?php if($error) echo "

$error

"; else echo "

Sie werden in 5 Sekunden automatisch weitergeleitet, wenn sie nicht warten wollen klicken sie hier

"; ?> [/code][/quote]

mmh, ich dachte jetzt, das das so richtig ist (auch wenn ich mich schon drüber wundere), da der code so von dir kam.

soll ich doch wieder $url einsetzen?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="styles/index.css" />
<link rel="shortcut icon" href="pfeil.ico" />
  <?php

$allowed_urls=array("http://www.jw-lighting.bplaced.net", "http://jw-lighting.bplaced.net", "http://jw-lighting.de.vu", "http://www.jw-lighting.de.vu", ""); // "" sorgt für Annahme bei leerem Referer

$url = $_GET['url'];
$ref = $_SERVER['HTTP_REFERER'];
$error = "";
if(!preg_match("!http://([a-zA-Z0-9\.]+)\.[a-z]{2,3}!i", $url))
  $error = "Fehlerhafter Ausdruck";
else if(!in_array( substr($ref, 0, strpos($ref, '/')), $allowed_urls))
   $error = "Keine externe Verlinkung!!!";
else
   echo "<meta http-enquiv='Refresh' content='5; URL=$url' />";
   
echo "<title>Weiterleitung zu $url</title>"; 
?>
</head>
<body>
   <?php
   echo "<h2>Weiterleitung zu $url</h2>";
   
   if($error)
      echo "<p style='color: red;'>$error</p>";
   else
      echo "<p>Sie werden in 5 Sekunden automatisch weitergeleitet, wenn sie nicht warten wollen klicken sie <a href='$url'>hier</a><br />jw-lighting w&uuml;nscht ihnen och einen sch&ouml;nen Tag</p>";
    ?>
</body>
</html>

jetzt aber -.-

funzt, leitet aber immer noch nicht weiter.

wenn ich von jw-lighting.bplaced.net/weiter.html komme, sagt er mir keine externe verlinkung :ps:

hat sonst noch wer firefox3.0.3, bei dem es funktioniert?

sorry, nachdem was ich durch diesen fred über php gelernt habe, seh ich auch keinen fehler (oder bin blind :astonished: )

ich habe grade mal den ausgegeben quelltext angesehen. dort steht direkt hinter dem meta der title tag. vllt liegst daran, das da nen zeilenumbruch fehlt??? wie mach ich den?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="styles/index.css" />
<link rel="shortcut icon" href="pfeil.ico" />
  <?php

$allowed_urls=array("http://www.jw-lighting.bplaced.net", "http://jw-lighting.bplaced.net", "http://jw-lighting.de.vu", "http://www.jw-lighting.de.vu", ""); // "" sorgt für Annahme bei leerem Referer

$url = $_GET['url'];
$ref = $_SERVER['HTTP_REFERER'];
$error = "";
if(!preg_match("!http://([a-zA-Z0-9\.]+)\.[a-z]{2,3}!i", $url))
  $error = "Fehlerhafter Ausdruck";
else if(!in_array( substr($ref, 0, strpos($ref, '/')), $allowed_urls))
   $error = "Keine externe Verlinkung!!!";
else
   echo "<meta http-equiv='refresh' content='5; URL=$url' />";
   
echo "<title>Weiterleitung zu $url</title>"; 
?>
</head>
<body>
   <?php
   echo "<h2>Weiterleitung zu $url</h2>";
   
   if($error)
      echo "<p style='color: red;'>$error</p>";
   else
      echo "<p>Sie werden in 5 Sekunden automatisch weitergeleitet, wenn sie nicht warten wollen klicken sie <a href='$url'>hier</a><br />jw-lighting w&uuml;nscht ihnen och einen sch&ouml;nen Tag</p>";
    ?>
</body>
</html>

Einfacher Schreibfehler: es heißt nicht http-enquiv sonder http-equiv.

schön, das es noch menschen gibt, die code nicht bloß überfliegen :morgen:

thx euch allen